package org.eclipse.ocl.xtext.oclinecore.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.ocl.xtext.oclinecore.services.OCLinEcoreGrammarAccess; 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, 2016 Willink Transformations and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * E.D.Willink - initial API and implementation *******************************************************************************/ @SuppressWarnings("all") public class InternalOCLinEcoreParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_SINGLE_QUOTED_STRING", "RULE_ML_SINGLE_QUOTED_STRING", "RULE_UNQUOTED_STRING", "RULE_SIMPLE_ID", "RULE_ESCAPED_ID", "RULE_ESCAPED_CHARACTER", "RULE_LETTER_CHARACTER", "RULE_DOUBLE_QUOTED_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'module'", "'-'", "'abstract'", "'attribute'", "'body'", "'callable'", "'class'", "'composes'", "'datatype'", "'definition'", "'derivation'", "'derived'", "'enum'", "'extends'", "'id'", "'import'", "'initial'", "'interface'", "'key'", "'library'", "'operation'", "'ordered'", "'package'", "'postcondition'", "'precondition'", "'primitive'", "'property'", "'readonly'", "'reference'", "'resolve'", "'static'", "'throws'", "'transient'", "'unique'", "'unsettable'", "'volatile'", "'invariant'", "'('", "')'", "':'", "';'", "'annotation'", "','", "'{'", "'}'", "'='", "'!derived'", "'!id'", "'!ordered'", "'!readonly'", "'!transient'", "'!unique'", "'!unsettable'", "'!volatile'", "'serializable'", "'!serializable'", "'documentation'", "'literal'", "'::*'", "'#'", "'!composes'", "'!resolve'", "'sysml'", "'<'", "'>'", "'not'", "'*'", "'/'", "'+'", "'>='", "'<='", "'<>'", "'and'", "'or'", "'xor'", "'implies'", "'.'", "'->'", "'?.'", "'?->'", "'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__50=50; 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__54=54; 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=4; 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 RULE_SINGLE_QUOTED_STRING=5; public static final int T__48=48; public static final int T__49=49; public static final int RULE_DOUBLE_QUOTED_STRING=12; 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=9; public static final int T__40=40; public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; 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=11; 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=10; public static final int T__95=95; public static final int RULE_ML_SINGLE_QUOTED_STRING=6; 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=7; 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=8; 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 InternalOCLinEcoreParser(TokenStream input) { this(input, new RecognizerSharedState()); } public InternalOCLinEcoreParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return InternalOCLinEcoreParser.tokenNames; } public String getGrammarFileName() { return "../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.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 OCLinEcoreGrammarAccess grammarAccess; public InternalOCLinEcoreParser(TokenStream input, OCLinEcoreGrammarAccess grammarAccess) { this(input); this.grammarAccess = grammarAccess; registerRules(grammarAccess.getGrammar()); } @Override protected String getFirstRuleName() { return "TopLevelCS"; } @Override protected OCLinEcoreGrammarAccess getGrammarAccess() { return grammarAccess; } // $ANTLR start "entryRuleTopLevelCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:80:1: entryRuleTopLevelCS returns [EObject current=null] : iv_ruleTopLevelCS= ruleTopLevelCS EOF ; public final EObject entryRuleTopLevelCS() throws RecognitionException { EObject current = null; EObject iv_ruleTopLevelCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:81:2: (iv_ruleTopLevelCS= ruleTopLevelCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:82:2: iv_ruleTopLevelCS= ruleTopLevelCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTopLevelCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTopLevelCS_in_entryRuleTopLevelCS81); iv_ruleTopLevelCS=ruleTopLevelCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTopLevelCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTopLevelCS91); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTopLevelCS" // $ANTLR start "ruleTopLevelCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:89:1: ruleTopLevelCS returns [EObject current=null] : ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedImports_3_0= ruleImportCS ) )* ( (lv_ownedPackages_4_0= rulePackageCS ) )* ) ; public final EObject ruleTopLevelCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject lv_ownedImports_3_0 = null; EObject lv_ownedPackages_4_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:92:28: ( ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedImports_3_0= ruleImportCS ) )* ( (lv_ownedPackages_4_0= rulePackageCS ) )* ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:93:1: ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedImports_3_0= ruleImportCS ) )* ( (lv_ownedPackages_4_0= rulePackageCS ) )* ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:93:1: ( () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedImports_3_0= ruleImportCS ) )* ( (lv_ownedPackages_4_0= rulePackageCS ) )* ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:93:2: () (otherlv_1= 'module' ruleUnrestrictedName )? ( (lv_ownedImports_3_0= ruleImportCS ) )* ( (lv_ownedPackages_4_0= rulePackageCS ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:93:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:94:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getTopLevelCSAccess().getTopLevelCSAction_0(), current); } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:102:2: (otherlv_1= 'module' ruleUnrestrictedName )? int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==17) ) { alt1=1; } switch (alt1) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:102:4: otherlv_1= 'module' ruleUnrestrictedName { otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleTopLevelCS141); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTopLevelCSAccess().getModuleKeyword_1_0()); } if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTopLevelCSAccess().getUnrestrictedNameParserRuleCall_1_1()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTopLevelCS160); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:117:3: ( (lv_ownedImports_3_0= ruleImportCS ) )* loop2: do { int alt2=2; int LA2_0 = input.LA(1); if ( (LA2_0==32||LA2_0==36) ) { alt2=1; } switch (alt2) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:118:1: (lv_ownedImports_3_0= ruleImportCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:118:1: (lv_ownedImports_3_0= ruleImportCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:119:3: lv_ownedImports_3_0= ruleImportCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTopLevelCSAccess().getOwnedImportsImportCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleImportCS_in_ruleTopLevelCS182); lv_ownedImports_3_0=ruleImportCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTopLevelCSRule()); } add( current, "ownedImports", lv_ownedImports_3_0, "ImportCS"); afterParserOrEnumRuleCall(); } } } break; default : break loop2; } } while (true); // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:135:3: ( (lv_ownedPackages_4_0= rulePackageCS ) )* loop3: do { int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==39) ) { alt3=1; } switch (alt3) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:136:1: (lv_ownedPackages_4_0= rulePackageCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:136:1: (lv_ownedPackages_4_0= rulePackageCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:137:3: lv_ownedPackages_4_0= rulePackageCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTopLevelCSAccess().getOwnedPackagesPackageCSParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_ruleTopLevelCS204); lv_ownedPackages_4_0=rulePackageCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTopLevelCSRule()); } add( current, "ownedPackages", lv_ownedPackages_4_0, "PackageCS"); afterParserOrEnumRuleCall(); } } } break; default : break loop3; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTopLevelCS" // $ANTLR start "entryRuleSIGNED" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:163:1: entryRuleSIGNED returns [String current=null] : iv_ruleSIGNED= ruleSIGNED EOF ; public final String entryRuleSIGNED() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleSIGNED = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:164:2: (iv_ruleSIGNED= ruleSIGNED EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:165:2: iv_ruleSIGNED= ruleSIGNED EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSIGNEDRule()); } pushFollow(FollowSets000.FOLLOW_ruleSIGNED_in_entryRuleSIGNED244); iv_ruleSIGNED=ruleSIGNED(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSIGNED.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSIGNED255); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSIGNED" // $ANTLR start "ruleSIGNED" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:172: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:175:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:176:1: ( (kw= '-' )? this_INT_1= RULE_INT ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:176:1: ( (kw= '-' )? this_INT_1= RULE_INT ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:176:2: (kw= '-' )? this_INT_1= RULE_INT { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:176:2: (kw= '-' )? int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==18) ) { alt4=1; } switch (alt4) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:177:2: kw= '-' { kw=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleSIGNED294); 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_RULE_INT_in_ruleSIGNED311); 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 "entryRuleEnumerationLiteralName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:197:1: entryRuleEnumerationLiteralName returns [String current=null] : iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF ; public final String entryRuleEnumerationLiteralName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleEnumerationLiteralName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:198:2: (iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:199:2: iv_ruleEnumerationLiteralName= ruleEnumerationLiteralName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationLiteralNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralName_in_entryRuleEnumerationLiteralName357); iv_ruleEnumerationLiteralName=ruleEnumerationLiteralName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEnumerationLiteralName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEnumerationLiteralName368); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEnumerationLiteralName" // $ANTLR start "ruleEnumerationLiteralName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:206:1: ruleEnumerationLiteralName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) ; public final AntlrDatatypeRuleToken ruleEnumerationLiteralName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_EssentialOCLUnrestrictedName_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:209:28: ( (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:210:1: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:210:1: (this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName | kw= 'abstract' | kw= 'attribute' | kw= 'body' | kw= 'callable' | kw= 'class' | kw= 'composes' | kw= 'datatype' | kw= 'definition' | kw= 'derivation' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'id' | kw= 'import' | kw= 'initial' | kw= 'interface' | kw= 'key' | kw= 'library' | kw= 'module' | kw= 'operation' | kw= 'ordered' | kw= 'package' | kw= 'postcondition' | kw= 'precondition' | kw= 'primitive' | kw= 'property' | kw= 'readonly' | kw= 'reference' | kw= 'resolve' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unsettable' | kw= 'volatile' ) int alt5=36; switch ( input.LA(1) ) { case RULE_SIMPLE_ID: case RULE_ESCAPED_ID: { alt5=1; } break; case 19: { alt5=2; } break; case 20: { alt5=3; } break; case 21: { alt5=4; } break; case 22: { alt5=5; } break; case 23: { alt5=6; } break; case 24: { alt5=7; } break; case 25: { alt5=8; } break; case 26: { alt5=9; } break; case 27: { alt5=10; } break; case 28: { alt5=11; } break; case 29: { alt5=12; } break; case 30: { alt5=13; } break; case 31: { alt5=14; } break; case 32: { alt5=15; } break; case 33: { alt5=16; } break; case 34: { alt5=17; } break; case 35: { alt5=18; } break; case 36: { alt5=19; } break; case 17: { alt5=20; } break; case 37: { alt5=21; } break; case 38: { alt5=22; } break; case 39: { alt5=23; } break; case 40: { alt5=24; } break; case 41: { alt5=25; } break; case 42: { alt5=26; } break; case 43: { alt5=27; } break; case 44: { alt5=28; } break; case 45: { alt5=29; } break; case 46: { alt5=30; } break; case 47: { alt5=31; } break; case 48: { alt5=32; } break; case 49: { alt5=33; } break; case 50: { alt5=34; } break; case 51: { alt5=35; } break; case 52: { alt5=36; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 5, 0, input); throw nvae; } switch (alt5) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:211:5: this_EssentialOCLUnrestrictedName_0= ruleEssentialOCLUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationLiteralNameAccess().getEssentialOCLUnrestrictedNameParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedName_in_ruleEnumerationLiteralName415); this_EssentialOCLUnrestrictedName_0=ruleEssentialOCLUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_EssentialOCLUnrestrictedName_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:223:2: kw= 'abstract' { kw=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleEnumerationLiteralName439); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getAbstractKeyword_1()); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:230:2: kw= 'attribute' { kw=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleEnumerationLiteralName458); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getAttributeKeyword_2()); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:237:2: kw= 'body' { kw=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleEnumerationLiteralName477); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getBodyKeyword_3()); } } break; case 5 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:244:2: kw= 'callable' { kw=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleEnumerationLiteralName496); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getCallableKeyword_4()); } } break; case 6 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:251:2: kw= 'class' { kw=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleEnumerationLiteralName515); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getClassKeyword_5()); } } break; case 7 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:258:2: kw= 'composes' { kw=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleEnumerationLiteralName534); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getComposesKeyword_6()); } } break; case 8 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:265:2: kw= 'datatype' { kw=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleEnumerationLiteralName553); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getDatatypeKeyword_7()); } } break; case 9 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:272:2: kw= 'definition' { kw=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleEnumerationLiteralName572); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getDefinitionKeyword_8()); } } break; case 10 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:279:2: kw= 'derivation' { kw=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleEnumerationLiteralName591); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getDerivationKeyword_9()); } } break; case 11 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:286:2: kw= 'derived' { kw=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleEnumerationLiteralName610); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getDerivedKeyword_10()); } } break; case 12 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:293:2: kw= 'enum' { kw=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleEnumerationLiteralName629); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getEnumKeyword_11()); } } break; case 13 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:300:2: kw= 'extends' { kw=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleEnumerationLiteralName648); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getExtendsKeyword_12()); } } break; case 14 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:307:2: kw= 'id' { kw=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleEnumerationLiteralName667); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getIdKeyword_13()); } } break; case 15 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:314:2: kw= 'import' { kw=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleEnumerationLiteralName686); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getImportKeyword_14()); } } break; case 16 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:321:2: kw= 'initial' { kw=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleEnumerationLiteralName705); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getInitialKeyword_15()); } } break; case 17 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:328:2: kw= 'interface' { kw=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleEnumerationLiteralName724); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getInterfaceKeyword_16()); } } break; case 18 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:335:2: kw= 'key' { kw=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleEnumerationLiteralName743); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getKeyKeyword_17()); } } break; case 19 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:342:2: kw= 'library' { kw=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleEnumerationLiteralName762); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getLibraryKeyword_18()); } } break; case 20 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:349:2: kw= 'module' { kw=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleEnumerationLiteralName781); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getModuleKeyword_19()); } } break; case 21 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:356:2: kw= 'operation' { kw=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleEnumerationLiteralName800); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getOperationKeyword_20()); } } break; case 22 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:363:2: kw= 'ordered' { kw=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleEnumerationLiteralName819); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getOrderedKeyword_21()); } } break; case 23 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:370:2: kw= 'package' { kw=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleEnumerationLiteralName838); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getPackageKeyword_22()); } } break; case 24 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:377:2: kw= 'postcondition' { kw=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleEnumerationLiteralName857); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getPostconditionKeyword_23()); } } break; case 25 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:384:2: kw= 'precondition' { kw=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleEnumerationLiteralName876); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getPreconditionKeyword_24()); } } break; case 26 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:391:2: kw= 'primitive' { kw=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleEnumerationLiteralName895); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getPrimitiveKeyword_25()); } } break; case 27 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:398:2: kw= 'property' { kw=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleEnumerationLiteralName914); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getPropertyKeyword_26()); } } break; case 28 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:405:2: kw= 'readonly' { kw=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleEnumerationLiteralName933); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getReadonlyKeyword_27()); } } break; case 29 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:412:2: kw= 'reference' { kw=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleEnumerationLiteralName952); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getReferenceKeyword_28()); } } break; case 30 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:419:2: kw= 'resolve' { kw=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleEnumerationLiteralName971); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getResolveKeyword_29()); } } break; case 31 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:426:2: kw= 'static' { kw=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleEnumerationLiteralName990); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getStaticKeyword_30()); } } break; case 32 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:433:2: kw= 'throws' { kw=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleEnumerationLiteralName1009); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getThrowsKeyword_31()); } } break; case 33 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:440:2: kw= 'transient' { kw=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleEnumerationLiteralName1028); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getTransientKeyword_32()); } } break; case 34 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:447:2: kw= 'unique' { kw=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleEnumerationLiteralName1047); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getUniqueKeyword_33()); } } break; case 35 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:454:2: kw= 'unsettable' { kw=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleEnumerationLiteralName1066); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getUnsettableKeyword_34()); } } break; case 36 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:461:2: kw= 'volatile' { kw=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleEnumerationLiteralName1085); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEnumerationLiteralNameAccess().getVolatileKeyword_35()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleEnumerationLiteralName" // $ANTLR start "entryRuleInvariantConstraintCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:474:1: entryRuleInvariantConstraintCS returns [EObject current=null] : iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF ; public final EObject entryRuleInvariantConstraintCS() throws RecognitionException { EObject current = null; EObject iv_ruleInvariantConstraintCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:475:2: (iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:476:2: iv_ruleInvariantConstraintCS= ruleInvariantConstraintCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInvariantConstraintCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleInvariantConstraintCS_in_entryRuleInvariantConstraintCS1125); iv_ruleInvariantConstraintCS=ruleInvariantConstraintCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleInvariantConstraintCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInvariantConstraintCS1135); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleInvariantConstraintCS" // $ANTLR start "ruleInvariantConstraintCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:483:1: ruleInvariantConstraintCS returns [EObject current=null] : ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) ) ; public final EObject ruleInvariantConstraintCS() throws RecognitionException { EObject current = null; Token lv_isCallable_0_0=null; Token lv_stereotype_1_0=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_6=null; Token otherlv_8=null; Token otherlv_9=null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_ownedMessageSpecification_4_0 = null; EObject lv_ownedSpecification_7_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:486:28: ( ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:487:1: ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:487:1: ( ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:487:2: ( (lv_isCallable_0_0= 'callable' ) )? ( (lv_stereotype_1_0= 'invariant' ) ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:487:2: ( (lv_isCallable_0_0= 'callable' ) )? int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==22) ) { alt6=1; } switch (alt6) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:488:1: (lv_isCallable_0_0= 'callable' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:488:1: (lv_isCallable_0_0= 'callable' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:489:3: lv_isCallable_0_0= 'callable' { lv_isCallable_0_0=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleInvariantConstraintCS1178); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_isCallable_0_0, grammarAccess.getInvariantConstraintCSAccess().getIsCallableCallableKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getInvariantConstraintCSRule()); } setWithLastConsumed(current, "isCallable", true, "callable"); } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:502:3: ( (lv_stereotype_1_0= 'invariant' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:503:1: (lv_stereotype_1_0= 'invariant' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:503:1: (lv_stereotype_1_0= 'invariant' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:504:3: lv_stereotype_1_0= 'invariant' { lv_stereotype_1_0=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleInvariantConstraintCS1210); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_stereotype_1_0, grammarAccess.getInvariantConstraintCSAccess().getStereotypeInvariantKeyword_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getInvariantConstraintCSRule()); } setWithLastConsumed(current, "stereotype", lv_stereotype_1_0, "invariant"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:517:2: ( ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? )? int alt8=2; int LA8_0 = input.LA(1); if ( ((LA8_0>=RULE_SIMPLE_ID && LA8_0<=RULE_ESCAPED_ID)||LA8_0==17||(LA8_0>=19 && LA8_0<=53)||LA8_0==58||LA8_0==71||(LA8_0>=73 && LA8_0<=74)||LA8_0==79) ) { alt8=1; } switch (alt8) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:517:3: ( (lv_name_2_0= ruleUnrestrictedName ) ) (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:517:3: ( (lv_name_2_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:518:1: (lv_name_2_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:518:1: (lv_name_2_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:519:3: lv_name_2_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInvariantConstraintCSAccess().getNameUnrestrictedNameParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleInvariantConstraintCS1245); lv_name_2_0=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getInvariantConstraintCSRule()); } set( current, "name", lv_name_2_0, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:535:2: (otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' )? int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==54) ) { alt7=1; } switch (alt7) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:535:4: otherlv_3= '(' ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) otherlv_5= ')' { otherlv_3=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleInvariantConstraintCS1258); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getInvariantConstraintCSAccess().getLeftParenthesisKeyword_2_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:539:1: ( (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:540:1: (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:540:1: (lv_ownedMessageSpecification_4_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:541:3: lv_ownedMessageSpecification_4_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInvariantConstraintCSAccess().getOwnedMessageSpecificationSpecificationCSParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleInvariantConstraintCS1279); lv_ownedMessageSpecification_4_0=ruleSpecificationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getInvariantConstraintCSRule()); } set( current, "ownedMessageSpecification", lv_ownedMessageSpecification_4_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } otherlv_5=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleInvariantConstraintCS1291); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getInvariantConstraintCSAccess().getRightParenthesisKeyword_2_1_2()); } } break; } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:561:5: ( (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) | otherlv_9= ';' ) int alt10=2; int LA10_0 = input.LA(1); if ( (LA10_0==56) ) { alt10=1; } else if ( (LA10_0==57) ) { alt10=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 10, 0, input); throw nvae; } switch (alt10) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:561:6: (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:561:6: (otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:561:8: otherlv_6= ':' ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? otherlv_8= ';' { otherlv_6=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleInvariantConstraintCS1309); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getInvariantConstraintCSAccess().getColonKeyword_3_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:565:1: ( (lv_ownedSpecification_7_0= ruleSpecificationCS ) )? int alt9=2; int LA9_0 = input.LA(1); if ( ((LA9_0>=RULE_INT && LA9_0<=RULE_SINGLE_QUOTED_STRING)||(LA9_0>=RULE_UNQUOTED_STRING && LA9_0<=RULE_ESCAPED_ID)||(LA9_0>=17 && LA9_0<=54)||LA9_0==58||LA9_0==71||(LA9_0>=73 && LA9_0<=74)||LA9_0==79||(LA9_0>=82 && LA9_0<=83)||(LA9_0>=97 && LA9_0<=98)||(LA9_0>=100 && LA9_0<=112)||LA9_0==115||(LA9_0>=117 && LA9_0<=120)||LA9_0==127||(LA9_0>=132 && LA9_0<=133)) ) { alt9=1; } switch (alt9) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:566:1: (lv_ownedSpecification_7_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:566:1: (lv_ownedSpecification_7_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:567:3: lv_ownedSpecification_7_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInvariantConstraintCSAccess().getOwnedSpecificationSpecificationCSParserRuleCall_3_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleInvariantConstraintCS1330); lv_ownedSpecification_7_0=ruleSpecificationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getInvariantConstraintCSRule()); } set( current, "ownedSpecification", lv_ownedSpecification_7_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } break; } otherlv_8=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleInvariantConstraintCS1343); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getInvariantConstraintCSAccess().getSemicolonKeyword_3_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:588:7: otherlv_9= ';' { otherlv_9=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleInvariantConstraintCS1362); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getInvariantConstraintCSAccess().getSemicolonKeyword_3_1()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleInvariantConstraintCS" // $ANTLR start "entryRulePostconditionConstraintCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:600:1: entryRulePostconditionConstraintCS returns [EObject current=null] : iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF ; public final EObject entryRulePostconditionConstraintCS() throws RecognitionException { EObject current = null; EObject iv_rulePostconditionConstraintCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:601:2: (iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:602:2: iv_rulePostconditionConstraintCS= rulePostconditionConstraintCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPostconditionConstraintCSRule()); } pushFollow(FollowSets000.FOLLOW_rulePostconditionConstraintCS_in_entryRulePostconditionConstraintCS1399); iv_rulePostconditionConstraintCS=rulePostconditionConstraintCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePostconditionConstraintCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePostconditionConstraintCS1409); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePostconditionConstraintCS" // $ANTLR start "rulePostconditionConstraintCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:609:1: rulePostconditionConstraintCS returns [EObject current=null] : ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) ; public final EObject rulePostconditionConstraintCS() throws RecognitionException { EObject current = null; Token lv_stereotype_0_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_5=null; Token otherlv_7=null; AntlrDatatypeRuleToken lv_name_1_0 = null; EObject lv_ownedMessageSpecification_3_0 = null; EObject lv_ownedSpecification_6_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:612:28: ( ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:613:1: ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:613:1: ( ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:613:2: ( (lv_stereotype_0_0= 'postcondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:613:2: ( (lv_stereotype_0_0= 'postcondition' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:614:1: (lv_stereotype_0_0= 'postcondition' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:614:1: (lv_stereotype_0_0= 'postcondition' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:615:3: lv_stereotype_0_0= 'postcondition' { lv_stereotype_0_0=(Token)match(input,40,FollowSets000.FOLLOW_40_in_rulePostconditionConstraintCS1452); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_stereotype_0_0, grammarAccess.getPostconditionConstraintCSAccess().getStereotypePostconditionKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getPostconditionConstraintCSRule()); } setWithLastConsumed(current, "stereotype", lv_stereotype_0_0, "postcondition"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:628:2: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? int alt12=2; int LA12_0 = input.LA(1); if ( ((LA12_0>=RULE_SIMPLE_ID && LA12_0<=RULE_ESCAPED_ID)||LA12_0==17||(LA12_0>=19 && LA12_0<=53)||LA12_0==58||LA12_0==71||(LA12_0>=73 && LA12_0<=74)||LA12_0==79) ) { alt12=1; } switch (alt12) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:628:3: ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:628:3: ( (lv_name_1_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:629:1: (lv_name_1_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:629:1: (lv_name_1_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:630:3: lv_name_1_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPostconditionConstraintCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePostconditionConstraintCS1487); lv_name_1_0=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPostconditionConstraintCSRule()); } set( current, "name", lv_name_1_0, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:646:2: (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? int alt11=2; int LA11_0 = input.LA(1); if ( (LA11_0==54) ) { alt11=1; } switch (alt11) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:646:4: otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' { otherlv_2=(Token)match(input,54,FollowSets000.FOLLOW_54_in_rulePostconditionConstraintCS1500); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getPostconditionConstraintCSAccess().getLeftParenthesisKeyword_1_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:650:1: ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:651:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:651:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:652:3: lv_ownedMessageSpecification_3_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPostconditionConstraintCSAccess().getOwnedMessageSpecificationSpecificationCSParserRuleCall_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_rulePostconditionConstraintCS1521); lv_ownedMessageSpecification_3_0=ruleSpecificationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPostconditionConstraintCSRule()); } set( current, "ownedMessageSpecification", lv_ownedMessageSpecification_3_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,55,FollowSets000.FOLLOW_55_in_rulePostconditionConstraintCS1533); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getPostconditionConstraintCSAccess().getRightParenthesisKeyword_1_1_2()); } } break; } } break; } otherlv_5=(Token)match(input,56,FollowSets000.FOLLOW_56_in_rulePostconditionConstraintCS1549); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getPostconditionConstraintCSAccess().getColonKeyword_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:676:1: ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? int alt13=2; int LA13_0 = input.LA(1); if ( ((LA13_0>=RULE_INT && LA13_0<=RULE_SINGLE_QUOTED_STRING)||(LA13_0>=RULE_UNQUOTED_STRING && LA13_0<=RULE_ESCAPED_ID)||(LA13_0>=17 && LA13_0<=54)||LA13_0==58||LA13_0==71||(LA13_0>=73 && LA13_0<=74)||LA13_0==79||(LA13_0>=82 && LA13_0<=83)||(LA13_0>=97 && LA13_0<=98)||(LA13_0>=100 && LA13_0<=112)||LA13_0==115||(LA13_0>=117 && LA13_0<=120)||LA13_0==127||(LA13_0>=132 && LA13_0<=133)) ) { alt13=1; } switch (alt13) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:677:1: (lv_ownedSpecification_6_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:677:1: (lv_ownedSpecification_6_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:678:3: lv_ownedSpecification_6_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPostconditionConstraintCSAccess().getOwnedSpecificationSpecificationCSParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_rulePostconditionConstraintCS1570); lv_ownedSpecification_6_0=ruleSpecificationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPostconditionConstraintCSRule()); } set( current, "ownedSpecification", lv_ownedSpecification_6_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } break; } otherlv_7=(Token)match(input,57,FollowSets000.FOLLOW_57_in_rulePostconditionConstraintCS1583); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getPostconditionConstraintCSAccess().getSemicolonKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "rulePostconditionConstraintCS" // $ANTLR start "entryRulePreconditionConstraintCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:706:1: entryRulePreconditionConstraintCS returns [EObject current=null] : iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF ; public final EObject entryRulePreconditionConstraintCS() throws RecognitionException { EObject current = null; EObject iv_rulePreconditionConstraintCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:707:2: (iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:708:2: iv_rulePreconditionConstraintCS= rulePreconditionConstraintCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPreconditionConstraintCSRule()); } pushFollow(FollowSets000.FOLLOW_rulePreconditionConstraintCS_in_entryRulePreconditionConstraintCS1619); iv_rulePreconditionConstraintCS=rulePreconditionConstraintCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePreconditionConstraintCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePreconditionConstraintCS1629); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePreconditionConstraintCS" // $ANTLR start "rulePreconditionConstraintCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:715:1: rulePreconditionConstraintCS returns [EObject current=null] : ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) ; public final EObject rulePreconditionConstraintCS() throws RecognitionException { EObject current = null; Token lv_stereotype_0_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_5=null; Token otherlv_7=null; AntlrDatatypeRuleToken lv_name_1_0 = null; EObject lv_ownedMessageSpecification_3_0 = null; EObject lv_ownedSpecification_6_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:718:28: ( ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:719:1: ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:719:1: ( ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:719:2: ( (lv_stereotype_0_0= 'precondition' ) ) ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? otherlv_5= ':' ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? otherlv_7= ';' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:719:2: ( (lv_stereotype_0_0= 'precondition' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:720:1: (lv_stereotype_0_0= 'precondition' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:720:1: (lv_stereotype_0_0= 'precondition' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:721:3: lv_stereotype_0_0= 'precondition' { lv_stereotype_0_0=(Token)match(input,41,FollowSets000.FOLLOW_41_in_rulePreconditionConstraintCS1672); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_stereotype_0_0, grammarAccess.getPreconditionConstraintCSAccess().getStereotypePreconditionKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getPreconditionConstraintCSRule()); } setWithLastConsumed(current, "stereotype", lv_stereotype_0_0, "precondition"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:734:2: ( ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? )? int alt15=2; int LA15_0 = input.LA(1); if ( ((LA15_0>=RULE_SIMPLE_ID && LA15_0<=RULE_ESCAPED_ID)||LA15_0==17||(LA15_0>=19 && LA15_0<=53)||LA15_0==58||LA15_0==71||(LA15_0>=73 && LA15_0<=74)||LA15_0==79) ) { alt15=1; } switch (alt15) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:734:3: ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:734:3: ( (lv_name_1_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:735:1: (lv_name_1_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:735:1: (lv_name_1_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:736:3: lv_name_1_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPreconditionConstraintCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePreconditionConstraintCS1707); lv_name_1_0=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPreconditionConstraintCSRule()); } set( current, "name", lv_name_1_0, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:752:2: (otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' )? int alt14=2; int LA14_0 = input.LA(1); if ( (LA14_0==54) ) { alt14=1; } switch (alt14) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:752:4: otherlv_2= '(' ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) otherlv_4= ')' { otherlv_2=(Token)match(input,54,FollowSets000.FOLLOW_54_in_rulePreconditionConstraintCS1720); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getPreconditionConstraintCSAccess().getLeftParenthesisKeyword_1_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:756:1: ( (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:757:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:757:1: (lv_ownedMessageSpecification_3_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:758:3: lv_ownedMessageSpecification_3_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPreconditionConstraintCSAccess().getOwnedMessageSpecificationSpecificationCSParserRuleCall_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_rulePreconditionConstraintCS1741); lv_ownedMessageSpecification_3_0=ruleSpecificationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPreconditionConstraintCSRule()); } set( current, "ownedMessageSpecification", lv_ownedMessageSpecification_3_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,55,FollowSets000.FOLLOW_55_in_rulePreconditionConstraintCS1753); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getPreconditionConstraintCSAccess().getRightParenthesisKeyword_1_1_2()); } } break; } } break; } otherlv_5=(Token)match(input,56,FollowSets000.FOLLOW_56_in_rulePreconditionConstraintCS1769); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getPreconditionConstraintCSAccess().getColonKeyword_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:782:1: ( (lv_ownedSpecification_6_0= ruleSpecificationCS ) )? int alt16=2; int LA16_0 = input.LA(1); if ( ((LA16_0>=RULE_INT && LA16_0<=RULE_SINGLE_QUOTED_STRING)||(LA16_0>=RULE_UNQUOTED_STRING && LA16_0<=RULE_ESCAPED_ID)||(LA16_0>=17 && LA16_0<=54)||LA16_0==58||LA16_0==71||(LA16_0>=73 && LA16_0<=74)||LA16_0==79||(LA16_0>=82 && LA16_0<=83)||(LA16_0>=97 && LA16_0<=98)||(LA16_0>=100 && LA16_0<=112)||LA16_0==115||(LA16_0>=117 && LA16_0<=120)||LA16_0==127||(LA16_0>=132 && LA16_0<=133)) ) { alt16=1; } switch (alt16) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:783:1: (lv_ownedSpecification_6_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:783:1: (lv_ownedSpecification_6_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:784:3: lv_ownedSpecification_6_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPreconditionConstraintCSAccess().getOwnedSpecificationSpecificationCSParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_rulePreconditionConstraintCS1790); lv_ownedSpecification_6_0=ruleSpecificationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPreconditionConstraintCSRule()); } set( current, "ownedSpecification", lv_ownedSpecification_6_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } break; } otherlv_7=(Token)match(input,57,FollowSets000.FOLLOW_57_in_rulePreconditionConstraintCS1803); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getPreconditionConstraintCSAccess().getSemicolonKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "rulePreconditionConstraintCS" // $ANTLR start "entryRuleAnnotationCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:812:1: entryRuleAnnotationCS returns [EObject current=null] : iv_ruleAnnotationCS= ruleAnnotationCS EOF ; public final EObject entryRuleAnnotationCS() throws RecognitionException { EObject current = null; EObject iv_ruleAnnotationCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:813:2: (iv_ruleAnnotationCS= ruleAnnotationCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:814:2: iv_ruleAnnotationCS= ruleAnnotationCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationCS_in_entryRuleAnnotationCS1839); iv_ruleAnnotationCS=ruleAnnotationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleAnnotationCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAnnotationCS1849); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleAnnotationCS" // $ANTLR start "ruleAnnotationCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:821:1: ruleAnnotationCS returns [EObject current=null] : ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) ) ; public final EObject ruleAnnotationCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token lv_name_2_2=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Token otherlv_8=null; Token otherlv_12=null; Token otherlv_13=null; AntlrDatatypeRuleToken lv_name_2_1 = null; EObject lv_ownedDetails_4_0 = null; EObject lv_ownedDetails_6_0 = null; EObject lv_ownedAnnotations_9_0 = null; EObject lv_ownedContents_10_0 = null; EObject lv_ownedReferences_11_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:824:28: ( ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:825:1: ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:825:1: ( () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:825:2: () otherlv_1= 'annotation' ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:825:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:826:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getAnnotationCSAccess().getAnnotationCSAction_0(), current); } } otherlv_1=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleAnnotationCS1898); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getAnnotationCSAccess().getAnnotationKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:838:1: ( ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) )? int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0==RULE_SINGLE_QUOTED_STRING||(LA18_0>=RULE_SIMPLE_ID && LA18_0<=RULE_ESCAPED_ID)||LA18_0==17||(LA18_0>=19 && LA18_0<=53)||LA18_0==58||LA18_0==71||(LA18_0>=73 && LA18_0<=74)||LA18_0==79) ) { alt18=1; } switch (alt18) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:839:1: ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:839:1: ( (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:840:1: (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:840:1: (lv_name_2_1= ruleUnrestrictedName | lv_name_2_2= RULE_SINGLE_QUOTED_STRING ) int alt17=2; int LA17_0 = input.LA(1); if ( ((LA17_0>=RULE_SIMPLE_ID && LA17_0<=RULE_ESCAPED_ID)||LA17_0==17||(LA17_0>=19 && LA17_0<=53)||LA17_0==58||LA17_0==71||(LA17_0>=73 && LA17_0<=74)||LA17_0==79) ) { alt17=1; } else if ( (LA17_0==RULE_SINGLE_QUOTED_STRING) ) { alt17=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 17, 0, input); throw nvae; } switch (alt17) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:841:3: lv_name_2_1= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationCSAccess().getNameUnrestrictedNameParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleAnnotationCS1921); lv_name_2_1=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationCSRule()); } set( current, "name", lv_name_2_1, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:856:8: lv_name_2_2= RULE_SINGLE_QUOTED_STRING { lv_name_2_2=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleAnnotationCS1936); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_2, grammarAccess.getAnnotationCSAccess().getNameSINGLE_QUOTED_STRINGTerminalRuleCall_2_0_1()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getAnnotationCSRule()); } setWithLastConsumed( current, "name", lv_name_2_2, "SINGLE_QUOTED_STRING"); } } break; } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:874:3: (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0==54) ) { alt20=1; } switch (alt20) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:874:5: otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' { otherlv_3=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleAnnotationCS1958); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getAnnotationCSAccess().getLeftParenthesisKeyword_3_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:878:1: ( (lv_ownedDetails_4_0= ruleDetailCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:879:1: (lv_ownedDetails_4_0= ruleDetailCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:879:1: (lv_ownedDetails_4_0= ruleDetailCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:880:3: lv_ownedDetails_4_0= ruleDetailCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleAnnotationCS1979); lv_ownedDetails_4_0=ruleDetailCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationCSRule()); } add( current, "ownedDetails", lv_ownedDetails_4_0, "DetailCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:896:2: (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* loop19: do { int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==59) ) { alt19=1; } switch (alt19) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:896:4: otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) { otherlv_5=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleAnnotationCS1992); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getAnnotationCSAccess().getCommaKeyword_3_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:900:1: ( (lv_ownedDetails_6_0= ruleDetailCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:901:1: (lv_ownedDetails_6_0= ruleDetailCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:901:1: (lv_ownedDetails_6_0= ruleDetailCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:902:3: lv_ownedDetails_6_0= ruleDetailCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleAnnotationCS2013); lv_ownedDetails_6_0=ruleDetailCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationCSRule()); } add( current, "ownedDetails", lv_ownedDetails_6_0, "DetailCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop19; } } while (true); otherlv_7=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleAnnotationCS2027); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getAnnotationCSAccess().getRightParenthesisKeyword_3_3()); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:922:3: ( (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) | otherlv_13= ';' ) int alt22=2; int LA22_0 = input.LA(1); if ( (LA22_0==60) ) { alt22=1; } else if ( (LA22_0==57) ) { alt22=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 22, 0, input); throw nvae; } switch (alt22) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:922:4: (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:922:4: (otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:922:6: otherlv_8= '{' ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ otherlv_12= '}' { otherlv_8=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAnnotationCS2043); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getAnnotationCSAccess().getLeftCurlyBracketKeyword_4_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:926:1: ( ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) | ( (lv_ownedContents_10_0= ruleModelElementCS ) ) | ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) )+ int cnt21=0; loop21: do { int alt21=4; switch ( input.LA(1) ) { case 58: case 73: case 79: { alt21=1; } break; case RULE_SIMPLE_ID: case RULE_ESCAPED_ID: case 17: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 46: case 47: case 48: case 49: case 50: case 51: case 52: case 74: { alt21=2; } break; case 45: { int LA21_4 = input.LA(2); if ( ((LA21_4>=RULE_SIMPLE_ID && LA21_4<=RULE_ESCAPED_ID)||LA21_4==17||(LA21_4>=19 && LA21_4<=53)||LA21_4==58||LA21_4==71||(LA21_4>=73 && LA21_4<=74)||LA21_4==79) ) { alt21=3; } else if ( (LA21_4==57||LA21_4==60||LA21_4==62) ) { alt21=2; } } break; } switch (alt21) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:926:2: ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:926:2: ( (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:927:1: (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:927:1: (lv_ownedAnnotations_9_0= ruleAnnotationElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:928:3: lv_ownedAnnotations_9_0= ruleAnnotationElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_4_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleAnnotationCS2065); lv_ownedAnnotations_9_0=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationCSRule()); } add( current, "ownedAnnotations", lv_ownedAnnotations_9_0, "AnnotationElementCS"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:945:6: ( (lv_ownedContents_10_0= ruleModelElementCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:945:6: ( (lv_ownedContents_10_0= ruleModelElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:946:1: (lv_ownedContents_10_0= ruleModelElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:946:1: (lv_ownedContents_10_0= ruleModelElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:947:3: lv_ownedContents_10_0= ruleModelElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationCSAccess().getOwnedContentsModelElementCSParserRuleCall_4_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleModelElementCS_in_ruleAnnotationCS2092); lv_ownedContents_10_0=ruleModelElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationCSRule()); } add( current, "ownedContents", lv_ownedContents_10_0, "ModelElementCS"); afterParserOrEnumRuleCall(); } } } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:964:6: ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:964:6: ( (lv_ownedReferences_11_0= ruleModelElementRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:965:1: (lv_ownedReferences_11_0= ruleModelElementRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:965:1: (lv_ownedReferences_11_0= ruleModelElementRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:966:3: lv_ownedReferences_11_0= ruleModelElementRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationCSAccess().getOwnedReferencesModelElementRefCSParserRuleCall_4_0_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleModelElementRefCS_in_ruleAnnotationCS2119); lv_ownedReferences_11_0=ruleModelElementRefCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationCSRule()); } add( current, "ownedReferences", lv_ownedReferences_11_0, "ModelElementRefCS"); afterParserOrEnumRuleCall(); } } } } break; default : if ( cnt21 >= 1 ) break loop21; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(21, input); throw eee; } cnt21++; } while (true); otherlv_12=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleAnnotationCS2133); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getAnnotationCSAccess().getRightCurlyBracketKeyword_4_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:987:7: otherlv_13= ';' { otherlv_13=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAnnotationCS2152); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getAnnotationCSAccess().getSemicolonKeyword_4_1()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleAnnotationCS" // $ANTLR start "entryRuleAnnotationElementCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:999:1: entryRuleAnnotationElementCS returns [EObject current=null] : iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF ; public final EObject entryRuleAnnotationElementCS() throws RecognitionException { EObject current = null; EObject iv_ruleAnnotationElementCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1000:2: (iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1001:2: iv_ruleAnnotationElementCS= ruleAnnotationElementCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationElementCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_entryRuleAnnotationElementCS2189); iv_ruleAnnotationElementCS=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleAnnotationElementCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAnnotationElementCS2199); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleAnnotationElementCS" // $ANTLR start "ruleAnnotationElementCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1008:1: ruleAnnotationElementCS returns [EObject current=null] : (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS ) ; public final EObject ruleAnnotationElementCS() throws RecognitionException { EObject current = null; EObject this_AnnotationCS_0 = null; EObject this_DocumentationCS_1 = null; EObject this_SysMLCS_2 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1011:28: ( (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1012:1: (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1012:1: (this_AnnotationCS_0= ruleAnnotationCS | this_DocumentationCS_1= ruleDocumentationCS | this_SysMLCS_2= ruleSysMLCS ) int alt23=3; switch ( input.LA(1) ) { case 58: { alt23=1; } break; case 73: { alt23=2; } break; case 79: { alt23=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 23, 0, input); throw nvae; } switch (alt23) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1013:2: this_AnnotationCS_0= ruleAnnotationCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationElementCSAccess().getAnnotationCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationCS_in_ruleAnnotationElementCS2249); this_AnnotationCS_0=ruleAnnotationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_AnnotationCS_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1026:2: this_DocumentationCS_1= ruleDocumentationCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationElementCSAccess().getDocumentationCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleDocumentationCS_in_ruleAnnotationElementCS2279); this_DocumentationCS_1=ruleDocumentationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_DocumentationCS_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1039:2: this_SysMLCS_2= ruleSysMLCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationElementCSAccess().getSysMLCSParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleSysMLCS_in_ruleAnnotationElementCS2309); this_SysMLCS_2=ruleSysMLCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SysMLCS_2; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleAnnotationElementCS" // $ANTLR start "entryRuleAttributeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1058:1: entryRuleAttributeCS returns [EObject current=null] : iv_ruleAttributeCS= ruleAttributeCS EOF ; public final EObject entryRuleAttributeCS() throws RecognitionException { EObject current = null; EObject iv_ruleAttributeCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1059:2: (iv_ruleAttributeCS= ruleAttributeCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1060:2: iv_ruleAttributeCS= ruleAttributeCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAttributeCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleAttributeCS_in_entryRuleAttributeCS2344); iv_ruleAttributeCS=ruleAttributeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleAttributeCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAttributeCS2354); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleAttributeCS" // $ANTLR start "ruleAttributeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1067: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= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) ) ; 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_31=null; Token otherlv_33=null; Token otherlv_35=null; Token otherlv_36=null; Token otherlv_38=null; Token otherlv_40=null; Token otherlv_41=null; Token otherlv_42=null; AntlrDatatypeRuleToken lv_name_5_0 = null; EObject lv_ownedType_7_0 = null; EObject lv_ownedAnnotations_30_0 = null; EObject lv_ownedDefaultExpressions_34_0 = null; EObject lv_ownedDefaultExpressions_39_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1070:28: ( ( ( ( ( (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= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1071:1: ( ( ( ( (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= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1071:1: ( ( ( ( (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= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1071: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= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1071:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? int alt26=3; int LA26_0 = input.LA(1); if ( (LA26_0==47) ) { alt26=1; } else if ( (LA26_0==26) ) { alt26=2; } switch (alt26) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1071:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1071:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1071:4: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1071:4: ( (lv_qualifiers_0_0= 'static' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1072:1: (lv_qualifiers_0_0= 'static' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1072:1: (lv_qualifiers_0_0= 'static' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1073:3: lv_qualifiers_0_0= 'static' { lv_qualifiers_0_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleAttributeCS2399); 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"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1086:2: ( (lv_qualifiers_1_0= 'definition' ) )? int alt24=2; int LA24_0 = input.LA(1); if ( (LA24_0==26) ) { alt24=1; } switch (alt24) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1087:1: (lv_qualifiers_1_0= 'definition' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1087:1: (lv_qualifiers_1_0= 'definition' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1088:3: lv_qualifiers_1_0= 'definition' { lv_qualifiers_1_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleAttributeCS2430); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1102:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1102:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1102:7: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1102:7: ( (lv_qualifiers_2_0= 'definition' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1103:1: (lv_qualifiers_2_0= 'definition' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1103:1: (lv_qualifiers_2_0= 'definition' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1104:3: lv_qualifiers_2_0= 'definition' { lv_qualifiers_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleAttributeCS2470); 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"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1117:2: ( (lv_qualifiers_3_0= 'static' ) )? int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0==47) ) { alt25=1; } switch (alt25) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1118:1: (lv_qualifiers_3_0= 'static' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1118:1: (lv_qualifiers_3_0= 'static' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1119:3: lv_qualifiers_3_0= 'static' { lv_qualifiers_3_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleAttributeCS2501); 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,20,FollowSets000.FOLLOW_20_in_ruleAttributeCS2530); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getAttributeCSAccess().getAttributeKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1136:1: ( (lv_name_5_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1137:1: (lv_name_5_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1137:1: (lv_name_5_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1138:3: lv_name_5_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAttributeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS2551); 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, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1154:2: (otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) )? int alt27=2; int LA27_0 = input.LA(1); if ( (LA27_0==56) ) { alt27=1; } switch (alt27) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1154:4: otherlv_6= ':' ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) { otherlv_6=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleAttributeCS2564); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getAttributeCSAccess().getColonKeyword_3_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1158:1: ( (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1159:1: (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1159:1: (lv_ownedType_7_0= ruleTypedMultiplicityRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1160:3: lv_ownedType_7_0= ruleTypedMultiplicityRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleAttributeCS2585); 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, "TypedMultiplicityRefCS"); afterParserOrEnumRuleCall(); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1176:4: (otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? int alt28=2; int LA28_0 = input.LA(1); if ( (LA28_0==62) ) { alt28=1; } switch (alt28) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1176:6: otherlv_8= '=' ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) { otherlv_8=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleAttributeCS2600); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getAttributeCSAccess().getEqualsSignKeyword_4_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1180:1: ( (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1181:1: (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1181:1: (lv_default_9_0= RULE_SINGLE_QUOTED_STRING ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1182:3: lv_default_9_0= RULE_SINGLE_QUOTED_STRING { lv_default_9_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleAttributeCS2617); 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, "SINGLE_QUOTED_STRING"); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1198: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= '}' )? int alt32=2; int LA32_0 = input.LA(1); if ( (LA32_0==60) ) { int LA32_1 = input.LA(2); if ( (LA32_1==28||LA32_1==31||LA32_1==38||LA32_1==44||(LA32_1>=49 && LA32_1<=52)||(LA32_1>=63 && LA32_1<=70)) ) { alt32=1; } } switch (alt32) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1198:6: 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,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS2637); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_5_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1202:1: ( ( ( (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 cnt31=0; loop31: do { int alt31=2; int LA31_0 = input.LA(1); if ( (LA31_0==28||LA31_0==31||LA31_0==38||LA31_0==44||(LA31_0>=49 && LA31_0<=52)||(LA31_0>=63 && LA31_0<=70)) ) { alt31=1; } switch (alt31) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1202:2: ( ( (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= ',' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1202:2: ( ( (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 alt29=16; switch ( input.LA(1) ) { case 28: { alt29=1; } break; case 63: { alt29=2; } break; case 31: { alt29=3; } break; case 64: { alt29=4; } break; case 38: { alt29=5; } break; case 65: { alt29=6; } break; case 44: { alt29=7; } break; case 66: { alt29=8; } break; case 49: { alt29=9; } break; case 67: { alt29=10; } break; case 50: { alt29=11; } break; case 68: { alt29=12; } break; case 51: { alt29=13; } break; case 69: { alt29=14; } break; case 52: { alt29=15; } break; case 70: { alt29=16; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 29, 0, input); throw nvae; } switch (alt29) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1202:3: ( (lv_qualifiers_11_0= 'derived' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1202:3: ( (lv_qualifiers_11_0= 'derived' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1203:1: (lv_qualifiers_11_0= 'derived' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1203:1: (lv_qualifiers_11_0= 'derived' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1204:3: lv_qualifiers_11_0= 'derived' { lv_qualifiers_11_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleAttributeCS2657); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1218:6: ( (lv_qualifiers_12_0= '!derived' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1218:6: ( (lv_qualifiers_12_0= '!derived' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1219:1: (lv_qualifiers_12_0= '!derived' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1219:1: (lv_qualifiers_12_0= '!derived' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1220:3: lv_qualifiers_12_0= '!derived' { lv_qualifiers_12_0=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleAttributeCS2694); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1234:6: ( (lv_qualifiers_13_0= 'id' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1234:6: ( (lv_qualifiers_13_0= 'id' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1235:1: (lv_qualifiers_13_0= 'id' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1235:1: (lv_qualifiers_13_0= 'id' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1236:3: lv_qualifiers_13_0= 'id' { lv_qualifiers_13_0=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleAttributeCS2731); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1250:6: ( (lv_qualifiers_14_0= '!id' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1250:6: ( (lv_qualifiers_14_0= '!id' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1251:1: (lv_qualifiers_14_0= '!id' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1251:1: (lv_qualifiers_14_0= '!id' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1252:3: lv_qualifiers_14_0= '!id' { lv_qualifiers_14_0=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleAttributeCS2768); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1266:6: ( (lv_qualifiers_15_0= 'ordered' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1266:6: ( (lv_qualifiers_15_0= 'ordered' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1267:1: (lv_qualifiers_15_0= 'ordered' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1267:1: (lv_qualifiers_15_0= 'ordered' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1268:3: lv_qualifiers_15_0= 'ordered' { lv_qualifiers_15_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleAttributeCS2805); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1282:6: ( (lv_qualifiers_16_0= '!ordered' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1282:6: ( (lv_qualifiers_16_0= '!ordered' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1283:1: (lv_qualifiers_16_0= '!ordered' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1283:1: (lv_qualifiers_16_0= '!ordered' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1284:3: lv_qualifiers_16_0= '!ordered' { lv_qualifiers_16_0=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleAttributeCS2842); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1298:6: ( (lv_qualifiers_17_0= 'readonly' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1298:6: ( (lv_qualifiers_17_0= 'readonly' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1299:1: (lv_qualifiers_17_0= 'readonly' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1299:1: (lv_qualifiers_17_0= 'readonly' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1300:3: lv_qualifiers_17_0= 'readonly' { lv_qualifiers_17_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleAttributeCS2879); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1314:6: ( (lv_qualifiers_18_0= '!readonly' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1314:6: ( (lv_qualifiers_18_0= '!readonly' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1315:1: (lv_qualifiers_18_0= '!readonly' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1315:1: (lv_qualifiers_18_0= '!readonly' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1316:3: lv_qualifiers_18_0= '!readonly' { lv_qualifiers_18_0=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleAttributeCS2916); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1330:6: ( (lv_qualifiers_19_0= 'transient' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1330:6: ( (lv_qualifiers_19_0= 'transient' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1331:1: (lv_qualifiers_19_0= 'transient' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1331:1: (lv_qualifiers_19_0= 'transient' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1332:3: lv_qualifiers_19_0= 'transient' { lv_qualifiers_19_0=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleAttributeCS2953); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1346:6: ( (lv_qualifiers_20_0= '!transient' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1346:6: ( (lv_qualifiers_20_0= '!transient' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1347:1: (lv_qualifiers_20_0= '!transient' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1347:1: (lv_qualifiers_20_0= '!transient' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1348:3: lv_qualifiers_20_0= '!transient' { lv_qualifiers_20_0=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleAttributeCS2990); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1362:6: ( (lv_qualifiers_21_0= 'unique' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1362:6: ( (lv_qualifiers_21_0= 'unique' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1363:1: (lv_qualifiers_21_0= 'unique' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1363:1: (lv_qualifiers_21_0= 'unique' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1364:3: lv_qualifiers_21_0= 'unique' { lv_qualifiers_21_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleAttributeCS3027); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1378:6: ( (lv_qualifiers_22_0= '!unique' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1378:6: ( (lv_qualifiers_22_0= '!unique' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1379:1: (lv_qualifiers_22_0= '!unique' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1379:1: (lv_qualifiers_22_0= '!unique' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1380:3: lv_qualifiers_22_0= '!unique' { lv_qualifiers_22_0=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleAttributeCS3064); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1394:6: ( (lv_qualifiers_23_0= 'unsettable' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1394:6: ( (lv_qualifiers_23_0= 'unsettable' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1395:1: (lv_qualifiers_23_0= 'unsettable' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1395:1: (lv_qualifiers_23_0= 'unsettable' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1396:3: lv_qualifiers_23_0= 'unsettable' { lv_qualifiers_23_0=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleAttributeCS3101); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1410:6: ( (lv_qualifiers_24_0= '!unsettable' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1410:6: ( (lv_qualifiers_24_0= '!unsettable' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1411:1: (lv_qualifiers_24_0= '!unsettable' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1411:1: (lv_qualifiers_24_0= '!unsettable' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1412:3: lv_qualifiers_24_0= '!unsettable' { lv_qualifiers_24_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleAttributeCS3138); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1426:6: ( (lv_qualifiers_25_0= 'volatile' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1426:6: ( (lv_qualifiers_25_0= 'volatile' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1427:1: (lv_qualifiers_25_0= 'volatile' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1427:1: (lv_qualifiers_25_0= 'volatile' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1428:3: lv_qualifiers_25_0= 'volatile' { lv_qualifiers_25_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleAttributeCS3175); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1442:6: ( (lv_qualifiers_26_0= '!volatile' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1442:6: ( (lv_qualifiers_26_0= '!volatile' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1443:1: (lv_qualifiers_26_0= '!volatile' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1443:1: (lv_qualifiers_26_0= '!volatile' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1444:3: lv_qualifiers_26_0= '!volatile' { lv_qualifiers_26_0=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleAttributeCS3212); 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; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1457:3: (otherlv_27= ',' )? int alt30=2; int LA30_0 = input.LA(1); if ( (LA30_0==59) ) { alt30=1; } switch (alt30) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1457:5: otherlv_27= ',' { otherlv_27=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleAttributeCS3239); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_27, grammarAccess.getAttributeCSAccess().getCommaKeyword_5_1_1()); } } break; } } break; default : if ( cnt31 >= 1 ) break loop31; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(31, input); throw eee; } cnt31++; } while (true); otherlv_28=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleAttributeCS3255); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_28, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_5_2()); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1465:3: ( (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) | otherlv_42= ';' ) int alt38=2; int LA38_0 = input.LA(1); if ( (LA38_0==60) ) { alt38=1; } else if ( (LA38_0==57) ) { alt38=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 38, 0, input); throw nvae; } switch (alt38) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1465:4: (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1465:4: (otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1465:6: otherlv_29= '{' ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* otherlv_41= '}' { otherlv_29=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleAttributeCS3271); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_29, grammarAccess.getAttributeCSAccess().getLeftCurlyBracketKeyword_6_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1469:1: ( ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) | (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) | (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) )* loop37: do { int alt37=4; switch ( input.LA(1) ) { case 58: case 73: case 79: { alt37=1; } break; case 33: { alt37=2; } break; case 27: { alt37=3; } break; } switch (alt37) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1469:2: ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1469:2: ( (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1470:1: (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1470:1: (lv_ownedAnnotations_30_0= ruleAnnotationElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1471:3: lv_ownedAnnotations_30_0= ruleAnnotationElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_6_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleAttributeCS3293); lv_ownedAnnotations_30_0=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAttributeCSRule()); } add( current, "ownedAnnotations", lv_ownedAnnotations_30_0, "AnnotationElementCS"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1488:6: (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1488:6: (otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1488:8: otherlv_31= 'initial' ( ruleUnrestrictedName )? otherlv_33= ':' ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? otherlv_35= ';' { otherlv_31=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleAttributeCS3312); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_31, grammarAccess.getAttributeCSAccess().getInitialKeyword_6_0_1_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1492:1: ( ruleUnrestrictedName )? int alt33=2; int LA33_0 = input.LA(1); if ( ((LA33_0>=RULE_SIMPLE_ID && LA33_0<=RULE_ESCAPED_ID)||LA33_0==17||(LA33_0>=19 && LA33_0<=53)||LA33_0==58||LA33_0==71||(LA33_0>=73 && LA33_0<=74)||LA33_0==79) ) { alt33=1; } switch (alt33) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1493:2: ruleUnrestrictedName { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_1_1()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3332); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; } otherlv_33=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleAttributeCS3345); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_33, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_1_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1507:1: ( (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) )? int alt34=2; int LA34_0 = input.LA(1); if ( ((LA34_0>=RULE_INT && LA34_0<=RULE_SINGLE_QUOTED_STRING)||(LA34_0>=RULE_UNQUOTED_STRING && LA34_0<=RULE_ESCAPED_ID)||(LA34_0>=17 && LA34_0<=54)||LA34_0==58||LA34_0==71||(LA34_0>=73 && LA34_0<=74)||LA34_0==79||(LA34_0>=82 && LA34_0<=83)||(LA34_0>=97 && LA34_0<=98)||(LA34_0>=100 && LA34_0<=112)||LA34_0==115||(LA34_0>=117 && LA34_0<=120)||LA34_0==127||(LA34_0>=132 && LA34_0<=133)) ) { alt34=1; } switch (alt34) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1508:1: (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1508:1: (lv_ownedDefaultExpressions_34_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1509:3: lv_ownedDefaultExpressions_34_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_1_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3366); lv_ownedDefaultExpressions_34_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_34_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } break; } otherlv_35=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAttributeCS3379); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_35, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_1_4()); } } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1530:6: (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1530:6: (otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1530:8: otherlv_36= 'derivation' ( ruleUnrestrictedName )? otherlv_38= ':' ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? otherlv_40= ';' { otherlv_36=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleAttributeCS3399); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_36, grammarAccess.getAttributeCSAccess().getDerivationKeyword_6_0_1_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1534:1: ( ruleUnrestrictedName )? int alt35=2; int LA35_0 = input.LA(1); if ( ((LA35_0>=RULE_SIMPLE_ID && LA35_0<=RULE_ESCAPED_ID)||LA35_0==17||(LA35_0>=19 && LA35_0<=53)||LA35_0==58||LA35_0==71||(LA35_0>=73 && LA35_0<=74)||LA35_0==79) ) { alt35=1; } switch (alt35) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1535:2: ruleUnrestrictedName { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAttributeCSAccess().getUnrestrictedNameParserRuleCall_6_0_1_2_1()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3419); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; } otherlv_38=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleAttributeCS3432); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_38, grammarAccess.getAttributeCSAccess().getColonKeyword_6_0_1_2_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1549:1: ( (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) )? int alt36=2; int LA36_0 = input.LA(1); if ( ((LA36_0>=RULE_INT && LA36_0<=RULE_SINGLE_QUOTED_STRING)||(LA36_0>=RULE_UNQUOTED_STRING && LA36_0<=RULE_ESCAPED_ID)||(LA36_0>=17 && LA36_0<=54)||LA36_0==58||LA36_0==71||(LA36_0>=73 && LA36_0<=74)||LA36_0==79||(LA36_0>=82 && LA36_0<=83)||(LA36_0>=97 && LA36_0<=98)||(LA36_0>=100 && LA36_0<=112)||LA36_0==115||(LA36_0>=117 && LA36_0<=120)||LA36_0==127||(LA36_0>=132 && LA36_0<=133)) ) { alt36=1; } switch (alt36) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1550:1: (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1550:1: (lv_ownedDefaultExpressions_39_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1551:3: lv_ownedDefaultExpressions_39_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAttributeCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_6_0_1_2_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3453); lv_ownedDefaultExpressions_39_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_39_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } break; } otherlv_40=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAttributeCS3466); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_40, grammarAccess.getAttributeCSAccess().getSemicolonKeyword_6_0_1_2_4()); } } } break; default : break loop37; } } while (true); otherlv_41=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleAttributeCS3481); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_41, grammarAccess.getAttributeCSAccess().getRightCurlyBracketKeyword_6_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1576:7: otherlv_42= ';' { otherlv_42=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleAttributeCS3500); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_42, 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1588:1: entryRuleClassCS returns [EObject current=null] : iv_ruleClassCS= ruleClassCS EOF ; public final EObject entryRuleClassCS() throws RecognitionException { EObject current = null; EObject iv_ruleClassCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1589:2: (iv_ruleClassCS= ruleClassCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1590:2: iv_ruleClassCS= ruleClassCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getClassCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_entryRuleClassCS3537); iv_ruleClassCS=ruleClassCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleClassCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleClassCS3547); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleClassCS" // $ANTLR start "ruleClassCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1597: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1600:28: ( (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1601:1: (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1601:1: (this_StructuredClassCS_0= ruleStructuredClassCS | this_DataTypeCS_1= ruleDataTypeCS | this_EnumerationCS_2= ruleEnumerationCS ) int alt39=3; switch ( input.LA(1) ) { case 19: case 23: { alt39=1; } break; case 25: case 42: { alt39=2; } break; case 29: { alt39=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 39, 0, input); throw nvae; } switch (alt39) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1602:2: this_StructuredClassCS_0= ruleStructuredClassCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getClassCSAccess().getStructuredClassCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleStructuredClassCS_in_ruleClassCS3597); this_StructuredClassCS_0=ruleStructuredClassCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_StructuredClassCS_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1615:2: this_DataTypeCS_1= ruleDataTypeCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getClassCSAccess().getDataTypeCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleDataTypeCS_in_ruleClassCS3627); this_DataTypeCS_1=ruleDataTypeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_DataTypeCS_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1628:2: this_EnumerationCS_2= ruleEnumerationCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getClassCSAccess().getEnumerationCSParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleEnumerationCS_in_ruleClassCS3657); 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 "entryRuleDataTypeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1647:1: entryRuleDataTypeCS returns [EObject current=null] : iv_ruleDataTypeCS= ruleDataTypeCS EOF ; public final EObject entryRuleDataTypeCS() throws RecognitionException { EObject current = null; EObject iv_ruleDataTypeCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1648:2: (iv_ruleDataTypeCS= ruleDataTypeCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1649:2: iv_ruleDataTypeCS= ruleDataTypeCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDataTypeCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleDataTypeCS_in_entryRuleDataTypeCS3692); iv_ruleDataTypeCS=ruleDataTypeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleDataTypeCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDataTypeCS3702); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleDataTypeCS" // $ANTLR start "ruleDataTypeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1656: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= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) ; 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_13=null; Token otherlv_14=null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_ownedSignature_3_0 = null; EObject lv_ownedAnnotations_11_0 = null; EObject lv_ownedConstraints_12_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1659:28: ( ( ( (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= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1660:1: ( ( (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= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1660:1: ( ( (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= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1660: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= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1660:2: ( (lv_isPrimitive_0_0= 'primitive' ) )? int alt40=2; int LA40_0 = input.LA(1); if ( (LA40_0==42) ) { alt40=1; } switch (alt40) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1661:1: (lv_isPrimitive_0_0= 'primitive' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1661:1: (lv_isPrimitive_0_0= 'primitive' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1662:3: lv_isPrimitive_0_0= 'primitive' { lv_isPrimitive_0_0=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleDataTypeCS3745); 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", true, "primitive"); } } } break; } otherlv_1=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleDataTypeCS3771); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getDataTypeCSAccess().getDatatypeKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1679:1: ( (lv_name_2_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1680:1: (lv_name_2_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1680:1: (lv_name_2_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1681:3: lv_name_2_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDataTypeCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleDataTypeCS3792); 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, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1697:2: ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? int alt41=2; int LA41_0 = input.LA(1); if ( (LA41_0==54||LA41_0==80) ) { alt41=1; } switch (alt41) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1698:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1698:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1699:3: lv_ownedSignature_3_0= ruleTemplateSignatureCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDataTypeCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleDataTypeCS3813); 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, "TemplateSignatureCS"); afterParserOrEnumRuleCall(); } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1715:3: (otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) )? int alt42=2; int LA42_0 = input.LA(1); if ( (LA42_0==56) ) { alt42=1; } switch (alt42) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1715:5: otherlv_4= ':' ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) { otherlv_4=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleDataTypeCS3827); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getDataTypeCSAccess().getColonKeyword_4_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1719:1: ( (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1720:1: (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1720:1: (lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1721:3: lv_instanceClassName_5_0= RULE_SINGLE_QUOTED_STRING { lv_instanceClassName_5_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDataTypeCS3844); 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, "SINGLE_QUOTED_STRING"); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1737:4: (otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' )? int alt44=2; int LA44_0 = input.LA(1); if ( (LA44_0==60) ) { int LA44_1 = input.LA(2); if ( ((LA44_1>=71 && LA44_1<=72)) ) { alt44=1; } else if ( (LA44_1==61) ) { int LA44_4 = input.LA(3); if ( (LA44_4==57||LA44_4==60) ) { alt44=1; } } } switch (alt44) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1737:6: otherlv_6= '{' ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? otherlv_9= '}' { otherlv_6=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleDataTypeCS3864); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_5_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1741:1: ( ( (lv_isSerializable_7_0= 'serializable' ) ) | otherlv_8= '!serializable' )? int alt43=3; int LA43_0 = input.LA(1); if ( (LA43_0==71) ) { alt43=1; } else if ( (LA43_0==72) ) { alt43=2; } switch (alt43) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1741:2: ( (lv_isSerializable_7_0= 'serializable' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1741:2: ( (lv_isSerializable_7_0= 'serializable' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1742:1: (lv_isSerializable_7_0= 'serializable' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1742:1: (lv_isSerializable_7_0= 'serializable' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1743:3: lv_isSerializable_7_0= 'serializable' { lv_isSerializable_7_0=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleDataTypeCS3883); 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", true, "serializable"); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1757:7: otherlv_8= '!serializable' { otherlv_8=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleDataTypeCS3914); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getDataTypeCSAccess().getSerializableKeyword_5_1_1()); } } break; } otherlv_9=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleDataTypeCS3928); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_5_2()); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1765:3: ( (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) int alt46=2; int LA46_0 = input.LA(1); if ( (LA46_0==60) ) { alt46=1; } else if ( (LA46_0==57) ) { alt46=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 46, 0, input); throw nvae; } switch (alt46) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1765:4: (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1765:4: (otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1765:6: otherlv_10= '{' ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' { otherlv_10=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleDataTypeCS3944); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getDataTypeCSAccess().getLeftCurlyBracketKeyword_6_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1769:1: ( ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* loop45: do { int alt45=3; int LA45_0 = input.LA(1); if ( (LA45_0==58||LA45_0==73||LA45_0==79) ) { alt45=1; } else if ( (LA45_0==22||LA45_0==53) ) { alt45=2; } switch (alt45) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1769:2: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1769:2: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1770:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1770:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1771:3: lv_ownedAnnotations_11_0= ruleAnnotationElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDataTypeCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_6_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleDataTypeCS3966); lv_ownedAnnotations_11_0=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDataTypeCSRule()); } add( current, "ownedAnnotations", lv_ownedAnnotations_11_0, "AnnotationElementCS"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1788:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1788:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1789:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1789:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1790:3: lv_ownedConstraints_12_0= ruleInvariantConstraintCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDataTypeCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_6_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleInvariantConstraintCS_in_ruleDataTypeCS3993); lv_ownedConstraints_12_0=ruleInvariantConstraintCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDataTypeCSRule()); } add( current, "ownedConstraints", lv_ownedConstraints_12_0, "InvariantConstraintCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop45; } } while (true); otherlv_13=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleDataTypeCS4007); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getDataTypeCSAccess().getRightCurlyBracketKeyword_6_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1811:7: otherlv_14= ';' { otherlv_14=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleDataTypeCS4026); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, 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 "entryRuleDetailCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1823:1: entryRuleDetailCS returns [EObject current=null] : iv_ruleDetailCS= ruleDetailCS EOF ; public final EObject entryRuleDetailCS() throws RecognitionException { EObject current = null; EObject iv_ruleDetailCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1824:2: (iv_ruleDetailCS= ruleDetailCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1825:2: iv_ruleDetailCS= ruleDetailCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDetailCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_entryRuleDetailCS4063); iv_ruleDetailCS=ruleDetailCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleDetailCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDetailCS4073); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleDetailCS" // $ANTLR start "ruleDetailCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1832:1: ruleDetailCS returns [EObject current=null] : ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* ) ; public final EObject ruleDetailCS() throws RecognitionException { EObject current = null; Token lv_name_0_2=null; Token otherlv_1=null; Token lv_values_2_1=null; Token lv_values_2_2=null; AntlrDatatypeRuleToken lv_name_0_1 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1835:28: ( ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1836:1: ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1836:1: ( ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1836:2: ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) otherlv_1= '=' ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1836:2: ( ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1837:1: ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1837:1: ( (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1838:1: (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1838:1: (lv_name_0_1= ruleUnrestrictedName | lv_name_0_2= RULE_SINGLE_QUOTED_STRING ) int alt47=2; int LA47_0 = input.LA(1); if ( ((LA47_0>=RULE_SIMPLE_ID && LA47_0<=RULE_ESCAPED_ID)||LA47_0==17||(LA47_0>=19 && LA47_0<=53)||LA47_0==58||LA47_0==71||(LA47_0>=73 && LA47_0<=74)||LA47_0==79) ) { alt47=1; } else if ( (LA47_0==RULE_SINGLE_QUOTED_STRING) ) { alt47=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 47, 0, input); throw nvae; } switch (alt47) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1839:3: lv_name_0_1= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDetailCSAccess().getNameUnrestrictedNameParserRuleCall_0_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleDetailCS4121); lv_name_0_1=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDetailCSRule()); } set( current, "name", lv_name_0_1, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1854:8: lv_name_0_2= RULE_SINGLE_QUOTED_STRING { lv_name_0_2=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4136); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_2, grammarAccess.getDetailCSAccess().getNameSINGLE_QUOTED_STRINGTerminalRuleCall_0_0_1()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getDetailCSRule()); } setWithLastConsumed( current, "name", lv_name_0_2, "SINGLE_QUOTED_STRING"); } } break; } } } otherlv_1=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleDetailCS4156); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getDetailCSAccess().getEqualsSignKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1876:1: ( ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) )* loop49: do { int alt49=2; int LA49_0 = input.LA(1); if ( ((LA49_0>=RULE_SINGLE_QUOTED_STRING && LA49_0<=RULE_ML_SINGLE_QUOTED_STRING)) ) { alt49=1; } switch (alt49) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1877:1: ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1877:1: ( (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1878:1: (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1878:1: (lv_values_2_1= RULE_SINGLE_QUOTED_STRING | lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING ) int alt48=2; int LA48_0 = input.LA(1); if ( (LA48_0==RULE_SINGLE_QUOTED_STRING) ) { alt48=1; } else if ( (LA48_0==RULE_ML_SINGLE_QUOTED_STRING) ) { alt48=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 48, 0, input); throw nvae; } switch (alt48) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1879:3: lv_values_2_1= RULE_SINGLE_QUOTED_STRING { lv_values_2_1=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4175); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_values_2_1, grammarAccess.getDetailCSAccess().getValuesSINGLE_QUOTED_STRINGTerminalRuleCall_2_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getDetailCSRule()); } addWithLastConsumed( current, "values", lv_values_2_1, "SINGLE_QUOTED_STRING"); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1894:8: lv_values_2_2= RULE_ML_SINGLE_QUOTED_STRING { lv_values_2_2=(Token)match(input,RULE_ML_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_ML_SINGLE_QUOTED_STRING_in_ruleDetailCS4195); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_values_2_2, grammarAccess.getDetailCSAccess().getValuesML_SINGLE_QUOTED_STRINGTerminalRuleCall_2_0_1()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getDetailCSRule()); } addWithLastConsumed( current, "values", lv_values_2_2, "ML_SINGLE_QUOTED_STRING"); } } break; } } } break; default : break loop49; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleDetailCS" // $ANTLR start "entryRuleDocumentationCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1920:1: entryRuleDocumentationCS returns [EObject current=null] : iv_ruleDocumentationCS= ruleDocumentationCS EOF ; public final EObject entryRuleDocumentationCS() throws RecognitionException { EObject current = null; EObject iv_ruleDocumentationCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1921:2: (iv_ruleDocumentationCS= ruleDocumentationCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1922:2: iv_ruleDocumentationCS= ruleDocumentationCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDocumentationCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleDocumentationCS_in_entryRuleDocumentationCS4240); iv_ruleDocumentationCS=ruleDocumentationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleDocumentationCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDocumentationCS4250); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleDocumentationCS" // $ANTLR start "ruleDocumentationCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1929:1: ruleDocumentationCS returns [EObject current=null] : ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' ) ; public final EObject ruleDocumentationCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token lv_value_2_0=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Token otherlv_8=null; EObject lv_ownedDetails_4_0 = null; EObject lv_ownedDetails_6_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1932:28: ( ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1933:1: ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1933:1: ( () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1933:2: () otherlv_1= 'documentation' ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? otherlv_8= ';' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1933:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1934:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getDocumentationCSAccess().getDocumentationCSAction_0(), current); } } otherlv_1=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleDocumentationCS4299); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getDocumentationCSAccess().getDocumentationKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1946:1: ( (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) )? int alt50=2; int LA50_0 = input.LA(1); if ( (LA50_0==RULE_SINGLE_QUOTED_STRING) ) { alt50=1; } switch (alt50) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1947:1: (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1947:1: (lv_value_2_0= RULE_SINGLE_QUOTED_STRING ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1948:3: lv_value_2_0= RULE_SINGLE_QUOTED_STRING { lv_value_2_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDocumentationCS4316); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_2_0, grammarAccess.getDocumentationCSAccess().getValueSINGLE_QUOTED_STRINGTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getDocumentationCSRule()); } setWithLastConsumed( current, "value", lv_value_2_0, "SINGLE_QUOTED_STRING"); } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1964:3: (otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' )? int alt52=2; int LA52_0 = input.LA(1); if ( (LA52_0==54) ) { alt52=1; } switch (alt52) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1964:5: otherlv_3= '(' ( (lv_ownedDetails_4_0= ruleDetailCS ) ) (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* otherlv_7= ')' { otherlv_3=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleDocumentationCS4335); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getDocumentationCSAccess().getLeftParenthesisKeyword_3_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1968:1: ( (lv_ownedDetails_4_0= ruleDetailCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1969:1: (lv_ownedDetails_4_0= ruleDetailCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1969:1: (lv_ownedDetails_4_0= ruleDetailCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1970:3: lv_ownedDetails_4_0= ruleDetailCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDocumentationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleDocumentationCS4356); lv_ownedDetails_4_0=ruleDetailCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDocumentationCSRule()); } add( current, "ownedDetails", lv_ownedDetails_4_0, "DetailCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1986:2: (otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) )* loop51: do { int alt51=2; int LA51_0 = input.LA(1); if ( (LA51_0==59) ) { alt51=1; } switch (alt51) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1986:4: otherlv_5= ',' ( (lv_ownedDetails_6_0= ruleDetailCS ) ) { otherlv_5=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleDocumentationCS4369); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getDocumentationCSAccess().getCommaKeyword_3_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1990:1: ( (lv_ownedDetails_6_0= ruleDetailCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1991:1: (lv_ownedDetails_6_0= ruleDetailCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1991:1: (lv_ownedDetails_6_0= ruleDetailCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:1992:3: lv_ownedDetails_6_0= ruleDetailCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDocumentationCSAccess().getOwnedDetailsDetailCSParserRuleCall_3_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleDocumentationCS4390); lv_ownedDetails_6_0=ruleDetailCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDocumentationCSRule()); } add( current, "ownedDetails", lv_ownedDetails_6_0, "DetailCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop51; } } while (true); otherlv_7=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleDocumentationCS4404); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getDocumentationCSAccess().getRightParenthesisKeyword_3_3()); } } break; } otherlv_8=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleDocumentationCS4418); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getDocumentationCSAccess().getSemicolonKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleDocumentationCS" // $ANTLR start "entryRuleEnumerationCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2024:1: entryRuleEnumerationCS returns [EObject current=null] : iv_ruleEnumerationCS= ruleEnumerationCS EOF ; public final EObject entryRuleEnumerationCS() throws RecognitionException { EObject current = null; EObject iv_ruleEnumerationCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2025:2: (iv_ruleEnumerationCS= ruleEnumerationCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2026:2: iv_ruleEnumerationCS= ruleEnumerationCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleEnumerationCS_in_entryRuleEnumerationCS4454); iv_ruleEnumerationCS=ruleEnumerationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEnumerationCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEnumerationCS4464); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEnumerationCS" // $ANTLR start "ruleEnumerationCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2033: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_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) ; 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_13=null; Token otherlv_14=null; AntlrDatatypeRuleToken lv_name_1_0 = null; EObject lv_ownedSignature_2_0 = null; EObject lv_ownedAnnotations_10_0 = null; EObject lv_ownedLiterals_11_0 = null; EObject lv_ownedConstraints_12_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2036:28: ( (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_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2037:1: (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_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2037:1: (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_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2037: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_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) { otherlv_0=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleEnumerationCS4501); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getEnumerationCSAccess().getEnumKeyword_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2041:1: ( (lv_name_1_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2042:1: (lv_name_1_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2042:1: (lv_name_1_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2043:3: lv_name_1_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationCSAccess().getNameUnrestrictedNameParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleEnumerationCS4522); 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, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2059:2: ( (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) )? int alt53=2; int LA53_0 = input.LA(1); if ( (LA53_0==54||LA53_0==80) ) { alt53=1; } switch (alt53) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2060:1: (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2060:1: (lv_ownedSignature_2_0= ruleTemplateSignatureCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2061:3: lv_ownedSignature_2_0= ruleTemplateSignatureCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleEnumerationCS4543); 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, "TemplateSignatureCS"); afterParserOrEnumRuleCall(); } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2077:3: (otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) )? int alt54=2; int LA54_0 = input.LA(1); if ( (LA54_0==56) ) { alt54=1; } switch (alt54) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2077:5: otherlv_3= ':' ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) { otherlv_3=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleEnumerationCS4557); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getEnumerationCSAccess().getColonKeyword_3_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2081:1: ( (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2082:1: (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2082:1: (lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2083:3: lv_instanceClassName_4_0= RULE_SINGLE_QUOTED_STRING { lv_instanceClassName_4_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleEnumerationCS4574); 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, "SINGLE_QUOTED_STRING"); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2099:4: (otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' )? int alt56=2; int LA56_0 = input.LA(1); if ( (LA56_0==60) ) { int LA56_1 = input.LA(2); if ( ((LA56_1>=71 && LA56_1<=72)) ) { alt56=1; } else if ( (LA56_1==61) ) { int LA56_4 = input.LA(3); if ( (LA56_4==57||LA56_4==60) ) { alt56=1; } } } switch (alt56) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2099:6: otherlv_5= '{' ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? otherlv_8= '}' { otherlv_5=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleEnumerationCS4594); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_4_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2103:1: ( ( (lv_isSerializable_6_0= 'serializable' ) ) | otherlv_7= '!serializable' )? int alt55=3; int LA55_0 = input.LA(1); if ( (LA55_0==71) ) { alt55=1; } else if ( (LA55_0==72) ) { alt55=2; } switch (alt55) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2103:2: ( (lv_isSerializable_6_0= 'serializable' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2103:2: ( (lv_isSerializable_6_0= 'serializable' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2104:1: (lv_isSerializable_6_0= 'serializable' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2104:1: (lv_isSerializable_6_0= 'serializable' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2105:3: lv_isSerializable_6_0= 'serializable' { lv_isSerializable_6_0=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleEnumerationCS4613); 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", true, "serializable"); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2119:7: otherlv_7= '!serializable' { otherlv_7=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleEnumerationCS4644); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getEnumerationCSAccess().getSerializableKeyword_4_1_1()); } } break; } otherlv_8=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleEnumerationCS4658); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_4_2()); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2127:3: ( (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) | otherlv_14= ';' ) int alt58=2; int LA58_0 = input.LA(1); if ( (LA58_0==60) ) { alt58=1; } else if ( (LA58_0==57) ) { alt58=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 58, 0, input); throw nvae; } switch (alt58) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2127:4: (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2127:4: (otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2127:6: otherlv_9= '{' ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* otherlv_13= '}' { otherlv_9=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleEnumerationCS4674); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getEnumerationCSAccess().getLeftCurlyBracketKeyword_5_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2131:1: ( ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) | ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) | ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) )* loop57: do { int alt57=4; switch ( input.LA(1) ) { case 58: case 73: case 79: { alt57=1; } break; case RULE_SIMPLE_ID: case RULE_ESCAPED_ID: case 17: case 19: case 20: case 21: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51: case 52: case 74: { alt57=2; } break; case 22: { int LA57_4 = input.LA(2); if ( (LA57_4==57||LA57_4==60||LA57_4==62) ) { alt57=2; } else if ( (LA57_4==53) ) { alt57=3; } } break; case 53: { alt57=3; } break; } switch (alt57) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2131:2: ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2131:2: ( (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2132:1: (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2132:1: (lv_ownedAnnotations_10_0= ruleAnnotationElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2133:3: lv_ownedAnnotations_10_0= ruleAnnotationElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_5_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationCS4696); lv_ownedAnnotations_10_0=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEnumerationCSRule()); } add( current, "ownedAnnotations", lv_ownedAnnotations_10_0, "AnnotationElementCS"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2150:6: ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2150:6: ( (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2151:1: (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2151:1: (lv_ownedLiterals_11_0= ruleEnumerationLiteralCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2152:3: lv_ownedLiterals_11_0= ruleEnumerationLiteralCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedLiteralsEnumerationLiteralCSParserRuleCall_5_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_ruleEnumerationCS4723); lv_ownedLiterals_11_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_11_0, "EnumerationLiteralCS"); afterParserOrEnumRuleCall(); } } } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2169:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2169:6: ( (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2170:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2170:1: (lv_ownedConstraints_12_0= ruleInvariantConstraintCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2171:3: lv_ownedConstraints_12_0= ruleInvariantConstraintCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_5_0_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleInvariantConstraintCS_in_ruleEnumerationCS4750); lv_ownedConstraints_12_0=ruleInvariantConstraintCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEnumerationCSRule()); } add( current, "ownedConstraints", lv_ownedConstraints_12_0, "InvariantConstraintCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop57; } } while (true); otherlv_13=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleEnumerationCS4764); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getEnumerationCSAccess().getRightCurlyBracketKeyword_5_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2192:7: otherlv_14= ';' { otherlv_14=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleEnumerationCS4783); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2204:1: entryRuleEnumerationLiteralCS returns [EObject current=null] : iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF ; public final EObject entryRuleEnumerationLiteralCS() throws RecognitionException { EObject current = null; EObject iv_ruleEnumerationLiteralCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2205:2: (iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2206:2: iv_ruleEnumerationLiteralCS= ruleEnumerationLiteralCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationLiteralCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_entryRuleEnumerationLiteralCS4820); iv_ruleEnumerationLiteralCS=ruleEnumerationLiteralCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEnumerationLiteralCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEnumerationLiteralCS4830); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEnumerationLiteralCS" // $ANTLR start "ruleEnumerationLiteralCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2213: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= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) ) ; public final EObject ruleEnumerationLiteralCS() 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; AntlrDatatypeRuleToken lv_name_1_0 = null; AntlrDatatypeRuleToken lv_name_2_0 = null; AntlrDatatypeRuleToken lv_value_4_0 = null; EObject lv_ownedAnnotations_6_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2216:28: ( ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:1: ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:1: ( ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:2: ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:2: ( (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) | ( (lv_name_2_0= ruleEnumerationLiteralName ) ) ) int alt59=2; int LA59_0 = input.LA(1); if ( (LA59_0==74) ) { alt59=1; } else if ( ((LA59_0>=RULE_SIMPLE_ID && LA59_0<=RULE_ESCAPED_ID)||LA59_0==17||(LA59_0>=19 && LA59_0<=52)) ) { alt59=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 59, 0, input); throw nvae; } switch (alt59) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:3: (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:3: (otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2217:5: otherlv_0= 'literal' ( (lv_name_1_0= ruleUnrestrictedName ) ) { otherlv_0=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleEnumerationLiteralCS4869); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getEnumerationLiteralCSAccess().getLiteralKeyword_0_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2221:1: ( (lv_name_1_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2222:1: (lv_name_1_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2222:1: (lv_name_1_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2223:3: lv_name_1_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getNameUnrestrictedNameParserRuleCall_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleEnumerationLiteralCS4890); 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, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2240:6: ( (lv_name_2_0= ruleEnumerationLiteralName ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2240:6: ( (lv_name_2_0= ruleEnumerationLiteralName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2241:1: (lv_name_2_0= ruleEnumerationLiteralName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2241:1: (lv_name_2_0= ruleEnumerationLiteralName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2242:3: lv_name_2_0= ruleEnumerationLiteralName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getNameEnumerationLiteralNameParserRuleCall_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralName_in_ruleEnumerationLiteralCS4918); 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, "EnumerationLiteralName"); afterParserOrEnumRuleCall(); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2258:3: (otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) )? int alt60=2; int LA60_0 = input.LA(1); if ( (LA60_0==62) ) { alt60=1; } switch (alt60) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2258:5: otherlv_3= '=' ( (lv_value_4_0= ruleSIGNED ) ) { otherlv_3=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleEnumerationLiteralCS4932); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getEnumerationLiteralCSAccess().getEqualsSignKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2262:1: ( (lv_value_4_0= ruleSIGNED ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2263:1: (lv_value_4_0= ruleSIGNED ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2263:1: (lv_value_4_0= ruleSIGNED ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2264:3: lv_value_4_0= ruleSIGNED { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getValueSIGNEDParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleSIGNED_in_ruleEnumerationLiteralCS4953); 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, "SIGNED"); afterParserOrEnumRuleCall(); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2280:4: ( (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) | otherlv_8= ';' ) int alt62=2; int LA62_0 = input.LA(1); if ( (LA62_0==60) ) { alt62=1; } else if ( (LA62_0==57) ) { alt62=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 62, 0, input); throw nvae; } switch (alt62) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2280:5: (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2280:5: (otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2280:7: otherlv_5= '{' ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* otherlv_7= '}' { otherlv_5=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleEnumerationLiteralCS4969); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getEnumerationLiteralCSAccess().getLeftCurlyBracketKeyword_2_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2284:1: ( (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) )* loop61: do { int alt61=2; int LA61_0 = input.LA(1); if ( (LA61_0==58||LA61_0==73||LA61_0==79) ) { alt61=1; } switch (alt61) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2285:1: (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2285:1: (lv_ownedAnnotations_6_0= ruleAnnotationElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2286:3: lv_ownedAnnotations_6_0= ruleAnnotationElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEnumerationLiteralCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_2_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationLiteralCS4990); lv_ownedAnnotations_6_0=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEnumerationLiteralCSRule()); } add( current, "ownedAnnotations", lv_ownedAnnotations_6_0, "AnnotationElementCS"); afterParserOrEnumRuleCall(); } } } break; default : break loop61; } } while (true); otherlv_7=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleEnumerationLiteralCS5003); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getEnumerationLiteralCSAccess().getRightCurlyBracketKeyword_2_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2307:7: otherlv_8= ';' { otherlv_8=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleEnumerationLiteralCS5022); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, 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 "entryRuleImportCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2319:1: entryRuleImportCS returns [EObject current=null] : iv_ruleImportCS= ruleImportCS EOF ; public final EObject entryRuleImportCS() throws RecognitionException { EObject current = null; EObject iv_ruleImportCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2320:2: (iv_ruleImportCS= ruleImportCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2321:2: iv_ruleImportCS= ruleImportCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getImportCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleImportCS_in_entryRuleImportCS5059); iv_ruleImportCS=ruleImportCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleImportCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleImportCS5069); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleImportCS" // $ANTLR start "ruleImportCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2328:1: ruleImportCS returns [EObject current=null] : ( (otherlv_0= 'import' | otherlv_1= 'library' ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) ( (lv_isAll_5_0= '::*' ) )? otherlv_6= ';' ) ; public final EObject ruleImportCS() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_3=null; Token lv_isAll_5_0=null; Token otherlv_6=null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_ownedPathName_4_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2331:28: ( ( (otherlv_0= 'import' | otherlv_1= 'library' ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) ( (lv_isAll_5_0= '::*' ) )? otherlv_6= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2332:1: ( (otherlv_0= 'import' | otherlv_1= 'library' ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) ( (lv_isAll_5_0= '::*' ) )? otherlv_6= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2332:1: ( (otherlv_0= 'import' | otherlv_1= 'library' ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) ( (lv_isAll_5_0= '::*' ) )? otherlv_6= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2332:2: (otherlv_0= 'import' | otherlv_1= 'library' ) ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) ( (lv_isAll_5_0= '::*' ) )? otherlv_6= ';' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2332:2: (otherlv_0= 'import' | otherlv_1= 'library' ) int alt63=2; int LA63_0 = input.LA(1); if ( (LA63_0==32) ) { alt63=1; } else if ( (LA63_0==36) ) { alt63=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 63, 0, input); throw nvae; } switch (alt63) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2332:4: otherlv_0= 'import' { otherlv_0=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleImportCS5107); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getImportCSAccess().getImportKeyword_0_0()); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2337:7: otherlv_1= 'library' { otherlv_1=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleImportCS5125); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getImportCSAccess().getLibraryKeyword_0_1()); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2341:2: ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )? int alt64=2; alt64 = dfa64.predict(input); switch (alt64) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2341:3: ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2341:3: ( (lv_name_2_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2342:1: (lv_name_2_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2342:1: (lv_name_2_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2343:3: lv_name_2_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getImportCSAccess().getNameUnrestrictedNameParserRuleCall_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleImportCS5148); lv_name_2_0=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getImportCSRule()); } set( current, "name", lv_name_2_0, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleImportCS5160); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getImportCSAccess().getColonKeyword_1_1()); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2363:3: ( (lv_ownedPathName_4_0= ruleURIPathNameCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2364:1: (lv_ownedPathName_4_0= ruleURIPathNameCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2364:1: (lv_ownedPathName_4_0= ruleURIPathNameCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2365:3: lv_ownedPathName_4_0= ruleURIPathNameCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getImportCSAccess().getOwnedPathNameURIPathNameCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleURIPathNameCS_in_ruleImportCS5183); lv_ownedPathName_4_0=ruleURIPathNameCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getImportCSRule()); } set( current, "ownedPathName", lv_ownedPathName_4_0, "URIPathNameCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2381:2: ( (lv_isAll_5_0= '::*' ) )? int alt65=2; int LA65_0 = input.LA(1); if ( (LA65_0==75) ) { alt65=1; } switch (alt65) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2382:1: (lv_isAll_5_0= '::*' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2382:1: (lv_isAll_5_0= '::*' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2383:3: lv_isAll_5_0= '::*' { lv_isAll_5_0=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleImportCS5201); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_isAll_5_0, grammarAccess.getImportCSAccess().getIsAllColonColonAsteriskKeyword_3_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getImportCSRule()); } setWithLastConsumed(current, "isAll", true, "::*"); } } } break; } otherlv_6=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleImportCS5227); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getImportCSAccess().getSemicolonKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleImportCS" // $ANTLR start "entryRuleModelElementCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2408:1: entryRuleModelElementCS returns [EObject current=null] : iv_ruleModelElementCS= ruleModelElementCS EOF ; public final EObject entryRuleModelElementCS() throws RecognitionException { EObject current = null; EObject iv_ruleModelElementCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2409:2: (iv_ruleModelElementCS= ruleModelElementCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2410:2: iv_ruleModelElementCS= ruleModelElementCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelElementCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleModelElementCS_in_entryRuleModelElementCS5263); iv_ruleModelElementCS=ruleModelElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleModelElementCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelElementCS5273); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleModelElementCS" // $ANTLR start "ruleModelElementCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2417:1: ruleModelElementCS returns [EObject current=null] : (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS ) ; public final EObject ruleModelElementCS() throws RecognitionException { EObject current = null; EObject this_ClassCS_0 = null; EObject this_EnumerationLiteralCS_1 = null; EObject this_OperationCS_2 = null; EObject this_PackageCS_3 = null; EObject this_StructuralFeatureCS_4 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2420:28: ( (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2421:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2421:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS ) int alt66=5; alt66 = dfa66.predict(input); switch (alt66) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2422:2: this_ClassCS_0= ruleClassCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelElementCSAccess().getClassCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_ruleModelElementCS5323); this_ClassCS_0=ruleClassCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_ClassCS_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2435:2: this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelElementCSAccess().getEnumerationLiteralCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralCS_in_ruleModelElementCS5353); this_EnumerationLiteralCS_1=ruleEnumerationLiteralCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_EnumerationLiteralCS_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2448:2: this_OperationCS_2= ruleOperationCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelElementCSAccess().getOperationCSParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_ruleModelElementCS5383); this_OperationCS_2=ruleOperationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_OperationCS_2; afterParserOrEnumRuleCall(); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2461:2: this_PackageCS_3= rulePackageCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelElementCSAccess().getPackageCSParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_ruleModelElementCS5413); this_PackageCS_3=rulePackageCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_PackageCS_3; afterParserOrEnumRuleCall(); } } break; case 5 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2474:2: this_StructuralFeatureCS_4= ruleStructuralFeatureCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelElementCSAccess().getStructuralFeatureCSParserRuleCall_4()); } pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_ruleModelElementCS5443); this_StructuralFeatureCS_4=ruleStructuralFeatureCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_StructuralFeatureCS_4; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleModelElementCS" // $ANTLR start "entryRuleModelElementRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2493:1: entryRuleModelElementRefCS returns [EObject current=null] : iv_ruleModelElementRefCS= ruleModelElementRefCS EOF ; public final EObject entryRuleModelElementRefCS() throws RecognitionException { EObject current = null; EObject iv_ruleModelElementRefCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2494:2: (iv_ruleModelElementRefCS= ruleModelElementRefCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2495:2: iv_ruleModelElementRefCS= ruleModelElementRefCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelElementRefCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleModelElementRefCS_in_entryRuleModelElementRefCS5478); iv_ruleModelElementRefCS=ruleModelElementRefCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleModelElementRefCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleModelElementRefCS5488); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleModelElementRefCS" // $ANTLR start "ruleModelElementRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2502:1: ruleModelElementRefCS returns [EObject current=null] : (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' ) ; public final EObject ruleModelElementRefCS() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; EObject lv_ownedPathName_1_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2505:28: ( (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2506:1: (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2506:1: (otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2506:3: otherlv_0= 'reference' ( (lv_ownedPathName_1_0= rulePathNameCS ) ) otherlv_2= ';' { otherlv_0=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleModelElementRefCS5525); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getModelElementRefCSAccess().getReferenceKeyword_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2510:1: ( (lv_ownedPathName_1_0= rulePathNameCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2511:1: (lv_ownedPathName_1_0= rulePathNameCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2511:1: (lv_ownedPathName_1_0= rulePathNameCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2512:3: lv_ownedPathName_1_0= rulePathNameCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelElementRefCSAccess().getOwnedPathNamePathNameCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleModelElementRefCS5546); lv_ownedPathName_1_0=rulePathNameCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getModelElementRefCSRule()); } set( current, "ownedPathName", lv_ownedPathName_1_0, "PathNameCS"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleModelElementRefCS5558); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getModelElementRefCSAccess().getSemicolonKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleModelElementRefCS" // $ANTLR start "entryRuleOperationCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2540:1: entryRuleOperationCS returns [EObject current=null] : iv_ruleOperationCS= ruleOperationCS EOF ; public final EObject entryRuleOperationCS() throws RecognitionException { EObject current = null; EObject iv_ruleOperationCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2541:2: (iv_ruleOperationCS= ruleOperationCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2542:2: iv_ruleOperationCS= ruleOperationCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_entryRuleOperationCS5594); iv_ruleOperationCS=ruleOperationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOperationCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOperationCS5604); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOperationCS" // $ANTLR start "ruleOperationCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2549: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= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' ) ) ; 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_30=null; Token otherlv_32=null; Token otherlv_34=null; Token otherlv_36=null; Token otherlv_37=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_ownedAnnotations_28_0 = null; EObject lv_ownedPreconditions_29_0 = null; EObject lv_ownedBodyExpressions_33_0 = null; EObject lv_ownedPostconditions_35_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2552:28: ( ( ( ( ( (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= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2553:1: ( ( ( ( (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= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2553:1: ( ( ( ( (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= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2553: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= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2553:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? int alt69=3; int LA69_0 = input.LA(1); if ( (LA69_0==47) ) { alt69=1; } else if ( (LA69_0==26) ) { alt69=2; } switch (alt69) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2553:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2553:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2553:4: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2553:4: ( (lv_qualifiers_0_0= 'static' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2554:1: (lv_qualifiers_0_0= 'static' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2554:1: (lv_qualifiers_0_0= 'static' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2555:3: lv_qualifiers_0_0= 'static' { lv_qualifiers_0_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleOperationCS5649); 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"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2568:2: ( (lv_qualifiers_1_0= 'definition' ) )? int alt67=2; int LA67_0 = input.LA(1); if ( (LA67_0==26) ) { alt67=1; } switch (alt67) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2569:1: (lv_qualifiers_1_0= 'definition' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2569:1: (lv_qualifiers_1_0= 'definition' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2570:3: lv_qualifiers_1_0= 'definition' { lv_qualifiers_1_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleOperationCS5680); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2584:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2584:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2584:7: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2584:7: ( (lv_qualifiers_2_0= 'definition' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2585:1: (lv_qualifiers_2_0= 'definition' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2585:1: (lv_qualifiers_2_0= 'definition' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2586:3: lv_qualifiers_2_0= 'definition' { lv_qualifiers_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleOperationCS5720); 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"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2599:2: ( (lv_qualifiers_3_0= 'static' ) )? int alt68=2; int LA68_0 = input.LA(1); if ( (LA68_0==47) ) { alt68=1; } switch (alt68) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2600:1: (lv_qualifiers_3_0= 'static' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2600:1: (lv_qualifiers_3_0= 'static' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2601:3: lv_qualifiers_3_0= 'static' { lv_qualifiers_3_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleOperationCS5751); 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,37,FollowSets000.FOLLOW_37_in_ruleOperationCS5780); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getOperationCSAccess().getOperationKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2618:1: ( (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) )? int alt70=2; int LA70_0 = input.LA(1); if ( (LA70_0==54||LA70_0==80) ) { alt70=1; } switch (alt70) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2619:1: (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2619:1: (lv_ownedSignature_5_0= ruleTemplateSignatureCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2620:3: lv_ownedSignature_5_0= ruleTemplateSignatureCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleOperationCS5801); 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, "TemplateSignatureCS"); afterParserOrEnumRuleCall(); } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2636:3: ( (lv_name_6_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2637:1: (lv_name_6_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2637:1: (lv_name_6_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2638:3: lv_name_6_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getNameUnrestrictedNameParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleOperationCS5823); 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, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } otherlv_7=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleOperationCS5835); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getOperationCSAccess().getLeftParenthesisKeyword_4()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2658:1: ( ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* )? int alt72=2; int LA72_0 = input.LA(1); if ( ((LA72_0>=RULE_SIMPLE_ID && LA72_0<=RULE_ESCAPED_ID)||LA72_0==17||(LA72_0>=19 && LA72_0<=53)||LA72_0==58||LA72_0==71||(LA72_0>=73 && LA72_0<=74)||LA72_0==79) ) { alt72=1; } switch (alt72) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2658:2: ( (lv_ownedParameters_8_0= ruleParameterCS ) ) (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2658:2: ( (lv_ownedParameters_8_0= ruleParameterCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2659:1: (lv_ownedParameters_8_0= ruleParameterCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2659:1: (lv_ownedParameters_8_0= ruleParameterCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2660:3: lv_ownedParameters_8_0= ruleParameterCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleParameterCS_in_ruleOperationCS5857); 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, "ParameterCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2676:2: (otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) )* loop71: do { int alt71=2; int LA71_0 = input.LA(1); if ( (LA71_0==59) ) { alt71=1; } switch (alt71) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2676:4: otherlv_9= ',' ( (lv_ownedParameters_10_0= ruleParameterCS ) ) { otherlv_9=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleOperationCS5870); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getOperationCSAccess().getCommaKeyword_5_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2680:1: ( (lv_ownedParameters_10_0= ruleParameterCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2681:1: (lv_ownedParameters_10_0= ruleParameterCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2681:1: (lv_ownedParameters_10_0= ruleParameterCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2682:3: lv_ownedParameters_10_0= ruleParameterCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedParametersParameterCSParserRuleCall_5_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleParameterCS_in_ruleOperationCS5891); 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, "ParameterCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop71; } } while (true); } break; } otherlv_11=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleOperationCS5907); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getOperationCSAccess().getRightParenthesisKeyword_6()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2702:1: (otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) )? int alt73=2; int LA73_0 = input.LA(1); if ( (LA73_0==56) ) { alt73=1; } switch (alt73) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2702:3: otherlv_12= ':' ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) { otherlv_12=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleOperationCS5920); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getOperationCSAccess().getColonKeyword_7_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2706:1: ( (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2707:1: (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2707:1: (lv_ownedType_13_0= ruleTypedMultiplicityRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2708:3: lv_ownedType_13_0= ruleTypedMultiplicityRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_7_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleOperationCS5941); 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, "TypedMultiplicityRefCS"); afterParserOrEnumRuleCall(); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2724:4: (otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* )? int alt75=2; int LA75_0 = input.LA(1); if ( (LA75_0==48) ) { alt75=1; } switch (alt75) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2724:6: otherlv_14= 'throws' ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* { otherlv_14=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleOperationCS5956); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getOperationCSAccess().getThrowsKeyword_8_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2728:1: ( (lv_ownedExceptions_15_0= ruleTypedRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2729:1: (lv_ownedExceptions_15_0= ruleTypedRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2729:1: (lv_ownedExceptions_15_0= ruleTypedRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2730:3: lv_ownedExceptions_15_0= ruleTypedRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleOperationCS5977); 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, "TypedRefCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2746:2: (otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) )* loop74: do { int alt74=2; int LA74_0 = input.LA(1); if ( (LA74_0==59) ) { alt74=1; } switch (alt74) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2746:4: otherlv_16= ',' ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) { otherlv_16=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleOperationCS5990); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_16, grammarAccess.getOperationCSAccess().getCommaKeyword_8_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2750:1: ( (lv_ownedExceptions_17_0= ruleTypedRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2751:1: (lv_ownedExceptions_17_0= ruleTypedRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2751:1: (lv_ownedExceptions_17_0= ruleTypedRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2752:3: lv_ownedExceptions_17_0= ruleTypedRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedExceptionsTypedRefCSParserRuleCall_8_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleOperationCS6011); 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, "TypedRefCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop74; } } while (true); } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2768:6: (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 alt79=2; int LA79_0 = input.LA(1); if ( (LA79_0==60) ) { int LA79_1 = input.LA(2); if ( (LA79_1==28||LA79_1==38||LA79_1==50||LA79_1==63||LA79_1==65||LA79_1==68) ) { alt79=1; } } switch (alt79) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2768:8: 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,60,FollowSets000.FOLLOW_60_in_ruleOperationCS6028); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_18, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_9_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2772:1: ( ( ( (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 cnt78=0; loop78: do { int alt78=2; int LA78_0 = input.LA(1); if ( (LA78_0==28||LA78_0==38||LA78_0==50||LA78_0==63||LA78_0==65||LA78_0==68) ) { alt78=1; } switch (alt78) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2772:2: ( ( (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= ',' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2772:2: ( ( (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 alt76=6; switch ( input.LA(1) ) { case 28: { alt76=1; } break; case 63: { alt76=2; } break; case 38: { alt76=3; } break; case 65: { alt76=4; } break; case 50: { alt76=5; } break; case 68: { alt76=6; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 76, 0, input); throw nvae; } switch (alt76) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2772:3: ( (lv_qualifiers_19_0= 'derived' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2772:3: ( (lv_qualifiers_19_0= 'derived' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2773:1: (lv_qualifiers_19_0= 'derived' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2773:1: (lv_qualifiers_19_0= 'derived' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2774:3: lv_qualifiers_19_0= 'derived' { lv_qualifiers_19_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleOperationCS6048); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2788:6: ( (lv_qualifiers_20_0= '!derived' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2788:6: ( (lv_qualifiers_20_0= '!derived' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2789:1: (lv_qualifiers_20_0= '!derived' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2789:1: (lv_qualifiers_20_0= '!derived' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2790:3: lv_qualifiers_20_0= '!derived' { lv_qualifiers_20_0=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleOperationCS6085); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2804:6: ( (lv_qualifiers_21_0= 'ordered' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2804:6: ( (lv_qualifiers_21_0= 'ordered' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2805:1: (lv_qualifiers_21_0= 'ordered' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2805:1: (lv_qualifiers_21_0= 'ordered' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2806:3: lv_qualifiers_21_0= 'ordered' { lv_qualifiers_21_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleOperationCS6122); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2820:6: ( (lv_qualifiers_22_0= '!ordered' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2820:6: ( (lv_qualifiers_22_0= '!ordered' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2821:1: (lv_qualifiers_22_0= '!ordered' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2821:1: (lv_qualifiers_22_0= '!ordered' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2822:3: lv_qualifiers_22_0= '!ordered' { lv_qualifiers_22_0=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleOperationCS6159); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2836:6: ( (lv_qualifiers_23_0= 'unique' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2836:6: ( (lv_qualifiers_23_0= 'unique' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2837:1: (lv_qualifiers_23_0= 'unique' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2837:1: (lv_qualifiers_23_0= 'unique' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2838:3: lv_qualifiers_23_0= 'unique' { lv_qualifiers_23_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleOperationCS6196); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2852:6: ( (lv_qualifiers_24_0= '!unique' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2852:6: ( (lv_qualifiers_24_0= '!unique' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2853:1: (lv_qualifiers_24_0= '!unique' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2853:1: (lv_qualifiers_24_0= '!unique' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2854:3: lv_qualifiers_24_0= '!unique' { lv_qualifiers_24_0=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleOperationCS6233); 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; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2867:3: (otherlv_25= ',' )? int alt77=2; int LA77_0 = input.LA(1); if ( (LA77_0==59) ) { alt77=1; } switch (alt77) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2867:5: otherlv_25= ',' { otherlv_25=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleOperationCS6260); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_25, grammarAccess.getOperationCSAccess().getCommaKeyword_9_1_1()); } } break; } } break; default : if ( cnt78 >= 1 ) break loop78; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(78, input); throw eee; } cnt78++; } while (true); otherlv_26=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleOperationCS6276); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_26, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_9_2()); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2875:3: ( (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) | otherlv_37= ';' ) int alt83=2; int LA83_0 = input.LA(1); if ( (LA83_0==60) ) { alt83=1; } else if ( (LA83_0==57) ) { alt83=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 83, 0, input); throw nvae; } switch (alt83) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2875:4: (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2875:4: (otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2875:6: otherlv_27= '{' ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* otherlv_36= '}' { otherlv_27=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleOperationCS6292); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_27, grammarAccess.getOperationCSAccess().getLeftCurlyBracketKeyword_10_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2879:1: ( ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) | (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) | ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) )* loop82: do { int alt82=5; switch ( input.LA(1) ) { case 58: case 73: case 79: { alt82=1; } break; case 41: { alt82=2; } break; case 21: { alt82=3; } break; case 40: { alt82=4; } break; } switch (alt82) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2879:2: ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2879:2: ( (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2880:1: (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2880:1: (lv_ownedAnnotations_28_0= ruleAnnotationElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2881:3: lv_ownedAnnotations_28_0= ruleAnnotationElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_10_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleOperationCS6314); lv_ownedAnnotations_28_0=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getOperationCSRule()); } add( current, "ownedAnnotations", lv_ownedAnnotations_28_0, "AnnotationElementCS"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2898:6: ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2898:6: ( (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2899:1: (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2899:1: (lv_ownedPreconditions_29_0= rulePreconditionConstraintCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2900:3: lv_ownedPreconditions_29_0= rulePreconditionConstraintCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedPreconditionsPreconditionConstraintCSParserRuleCall_10_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_rulePreconditionConstraintCS_in_ruleOperationCS6341); lv_ownedPreconditions_29_0=rulePreconditionConstraintCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getOperationCSRule()); } add( current, "ownedPreconditions", lv_ownedPreconditions_29_0, "PreconditionConstraintCS"); afterParserOrEnumRuleCall(); } } } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2917:6: (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2917:6: (otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2917:8: otherlv_30= 'body' ( ruleUnrestrictedName )? otherlv_32= ':' ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? otherlv_34= ';' { otherlv_30=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleOperationCS6360); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_30, grammarAccess.getOperationCSAccess().getBodyKeyword_10_0_1_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2921:1: ( ruleUnrestrictedName )? int alt80=2; int LA80_0 = input.LA(1); if ( ((LA80_0>=RULE_SIMPLE_ID && LA80_0<=RULE_ESCAPED_ID)||LA80_0==17||(LA80_0>=19 && LA80_0<=53)||LA80_0==58||LA80_0==71||(LA80_0>=73 && LA80_0<=74)||LA80_0==79) ) { alt80=1; } switch (alt80) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2922:2: ruleUnrestrictedName { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getUnrestrictedNameParserRuleCall_10_0_1_2_1()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleOperationCS6380); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; } otherlv_32=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleOperationCS6393); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_32, grammarAccess.getOperationCSAccess().getColonKeyword_10_0_1_2_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2936:1: ( (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) )? int alt81=2; int LA81_0 = input.LA(1); if ( ((LA81_0>=RULE_INT && LA81_0<=RULE_SINGLE_QUOTED_STRING)||(LA81_0>=RULE_UNQUOTED_STRING && LA81_0<=RULE_ESCAPED_ID)||(LA81_0>=17 && LA81_0<=54)||LA81_0==58||LA81_0==71||(LA81_0>=73 && LA81_0<=74)||LA81_0==79||(LA81_0>=82 && LA81_0<=83)||(LA81_0>=97 && LA81_0<=98)||(LA81_0>=100 && LA81_0<=112)||LA81_0==115||(LA81_0>=117 && LA81_0<=120)||LA81_0==127||(LA81_0>=132 && LA81_0<=133)) ) { alt81=1; } switch (alt81) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2937:1: (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2937:1: (lv_ownedBodyExpressions_33_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2938:3: lv_ownedBodyExpressions_33_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedBodyExpressionsSpecificationCSParserRuleCall_10_0_1_2_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleOperationCS6414); lv_ownedBodyExpressions_33_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_33_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } break; } otherlv_34=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleOperationCS6427); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_34, grammarAccess.getOperationCSAccess().getSemicolonKeyword_10_0_1_2_4()); } } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2959:6: ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2959:6: ( (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2960:1: (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2960:1: (lv_ownedPostconditions_35_0= rulePostconditionConstraintCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2961:3: lv_ownedPostconditions_35_0= rulePostconditionConstraintCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperationCSAccess().getOwnedPostconditionsPostconditionConstraintCSParserRuleCall_10_0_1_3_0()); } pushFollow(FollowSets000.FOLLOW_rulePostconditionConstraintCS_in_ruleOperationCS6455); lv_ownedPostconditions_35_0=rulePostconditionConstraintCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getOperationCSRule()); } add( current, "ownedPostconditions", lv_ownedPostconditions_35_0, "PostconditionConstraintCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop82; } } while (true); otherlv_36=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleOperationCS6469); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_36, grammarAccess.getOperationCSAccess().getRightCurlyBracketKeyword_10_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2982:7: otherlv_37= ';' { otherlv_37=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleOperationCS6488); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_37, 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 "entryRulePackageCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2994:1: entryRulePackageCS returns [EObject current=null] : iv_rulePackageCS= rulePackageCS EOF ; public final EObject entryRulePackageCS() throws RecognitionException { EObject current = null; EObject iv_rulePackageCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2995:2: (iv_rulePackageCS= rulePackageCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:2996:2: iv_rulePackageCS= rulePackageCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPackageCSRule()); } pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_entryRulePackageCS6525); iv_rulePackageCS=rulePackageCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePackageCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePackageCS6535); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePackageCS" // $ANTLR start "rulePackageCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3003:1: rulePackageCS returns [EObject current=null] : (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) ; public final EObject rulePackageCS() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_10=null; Token otherlv_11=null; AntlrDatatypeRuleToken lv_name_1_0 = null; AntlrDatatypeRuleToken lv_nsPrefix_3_0 = null; AntlrDatatypeRuleToken lv_nsURI_5_0 = null; EObject lv_ownedAnnotations_7_0 = null; EObject lv_ownedPackages_8_0 = null; EObject lv_ownedClasses_9_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3006:28: ( (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3007:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3007:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3007:3: otherlv_0= 'package' ( (lv_name_1_0= ruleUnrestrictedName ) ) (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) { otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_39_in_rulePackageCS6572); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getPackageCSAccess().getPackageKeyword_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3011:1: ( (lv_name_1_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3012:1: (lv_name_1_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3012:1: (lv_name_1_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3013:3: lv_name_1_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPackageCSAccess().getNameUnrestrictedNameParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePackageCS6593); lv_name_1_0=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPackageCSRule()); } set( current, "name", lv_name_1_0, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3029:2: (otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) )? int alt84=2; int LA84_0 = input.LA(1); if ( (LA84_0==56) ) { alt84=1; } switch (alt84) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3029:4: otherlv_2= ':' ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) { otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_56_in_rulePackageCS6606); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getPackageCSAccess().getColonKeyword_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3033:1: ( (lv_nsPrefix_3_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:1: (lv_nsPrefix_3_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3034:1: (lv_nsPrefix_3_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3035:3: lv_nsPrefix_3_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPackageCSAccess().getNsPrefixUnrestrictedNameParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePackageCS6627); lv_nsPrefix_3_0=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPackageCSRule()); } set( current, "nsPrefix", lv_nsPrefix_3_0, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3051:4: (otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) )? int alt85=2; int LA85_0 = input.LA(1); if ( (LA85_0==62) ) { alt85=1; } switch (alt85) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3051:6: otherlv_4= '=' ( (lv_nsURI_5_0= ruleURI ) ) { otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_62_in_rulePackageCS6642); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getPackageCSAccess().getEqualsSignKeyword_3_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3055:1: ( (lv_nsURI_5_0= ruleURI ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3056:1: (lv_nsURI_5_0= ruleURI ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3056:1: (lv_nsURI_5_0= ruleURI ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3057:3: lv_nsURI_5_0= ruleURI { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPackageCSAccess().getNsURIURIParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleURI_in_rulePackageCS6663); lv_nsURI_5_0=ruleURI(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPackageCSRule()); } set( current, "nsURI", lv_nsURI_5_0, "URI"); afterParserOrEnumRuleCall(); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3073:4: ( (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) | otherlv_11= ';' ) int alt87=2; int LA87_0 = input.LA(1); if ( (LA87_0==60) ) { alt87=1; } else if ( (LA87_0==57) ) { alt87=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 87, 0, input); throw nvae; } switch (alt87) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3073:5: (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3073:5: (otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3073:7: otherlv_6= '{' ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* otherlv_10= '}' { otherlv_6=(Token)match(input,60,FollowSets000.FOLLOW_60_in_rulePackageCS6679); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getPackageCSAccess().getLeftCurlyBracketKeyword_4_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3077:1: ( ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) | ( (lv_ownedPackages_8_0= rulePackageCS ) ) | ( (lv_ownedClasses_9_0= ruleClassCS ) ) )* loop86: do { int alt86=4; switch ( input.LA(1) ) { case 58: case 73: case 79: { alt86=1; } break; case 39: { alt86=2; } break; case 19: case 23: case 25: case 29: case 42: { alt86=3; } break; } switch (alt86) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3077:2: ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3077:2: ( (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3078:1: (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3078:1: (lv_ownedAnnotations_7_0= ruleAnnotationElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3079:3: lv_ownedAnnotations_7_0= ruleAnnotationElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPackageCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_4_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_rulePackageCS6701); lv_ownedAnnotations_7_0=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPackageCSRule()); } add( current, "ownedAnnotations", lv_ownedAnnotations_7_0, "AnnotationElementCS"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3096:6: ( (lv_ownedPackages_8_0= rulePackageCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3096:6: ( (lv_ownedPackages_8_0= rulePackageCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3097:1: (lv_ownedPackages_8_0= rulePackageCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3097:1: (lv_ownedPackages_8_0= rulePackageCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3098:3: lv_ownedPackages_8_0= rulePackageCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPackageCSAccess().getOwnedPackagesPackageCSParserRuleCall_4_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_rulePackageCS_in_rulePackageCS6728); lv_ownedPackages_8_0=rulePackageCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPackageCSRule()); } add( current, "ownedPackages", lv_ownedPackages_8_0, "PackageCS"); afterParserOrEnumRuleCall(); } } } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3115:6: ( (lv_ownedClasses_9_0= ruleClassCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3115:6: ( (lv_ownedClasses_9_0= ruleClassCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3116:1: (lv_ownedClasses_9_0= ruleClassCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3116:1: (lv_ownedClasses_9_0= ruleClassCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3117:3: lv_ownedClasses_9_0= ruleClassCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPackageCSAccess().getOwnedClassesClassCSParserRuleCall_4_0_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleClassCS_in_rulePackageCS6755); lv_ownedClasses_9_0=ruleClassCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPackageCSRule()); } add( current, "ownedClasses", lv_ownedClasses_9_0, "ClassCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop86; } } while (true); otherlv_10=(Token)match(input,61,FollowSets000.FOLLOW_61_in_rulePackageCS6769); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getPackageCSAccess().getRightCurlyBracketKeyword_4_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3138:7: otherlv_11= ';' { otherlv_11=(Token)match(input,57,FollowSets000.FOLLOW_57_in_rulePackageCS6788); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getPackageCSAccess().getSemicolonKeyword_4_1()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "rulePackageCS" // $ANTLR start "entryRuleParameterCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3150:1: entryRuleParameterCS returns [EObject current=null] : iv_ruleParameterCS= ruleParameterCS EOF ; public final EObject entryRuleParameterCS() throws RecognitionException { EObject current = null; EObject iv_ruleParameterCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3151:2: (iv_ruleParameterCS= ruleParameterCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3152:2: iv_ruleParameterCS= ruleParameterCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleParameterCS_in_entryRuleParameterCS6825); iv_ruleParameterCS=ruleParameterCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleParameterCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameterCS6835); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleParameterCS" // $ANTLR start "ruleParameterCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3159: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= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? ) ; 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_12=null; AntlrDatatypeRuleToken lv_name_0_0 = null; EObject lv_ownedType_2_0 = null; EObject lv_ownedAnnotations_11_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3162:28: ( ( ( (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= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3163:1: ( ( (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= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3163:1: ( ( (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= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3163: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= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3163:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3164:1: (lv_name_0_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3164:1: (lv_name_0_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3165:3: lv_name_0_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleParameterCS6881); 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, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3181:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) )? int alt88=2; int LA88_0 = input.LA(1); if ( (LA88_0==56) ) { alt88=1; } switch (alt88) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3181:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) { otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleParameterCS6894); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getParameterCSAccess().getColonKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3185:1: ( (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3186:1: (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3186:1: (lv_ownedType_2_0= ruleTypedMultiplicityRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3187:3: lv_ownedType_2_0= ruleTypedMultiplicityRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleParameterCS6915); 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, "TypedMultiplicityRefCS"); afterParserOrEnumRuleCall(); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3203: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= '}' )? int alt92=2; int LA92_0 = input.LA(1); if ( (LA92_0==60) ) { int LA92_1 = input.LA(2); if ( (LA92_1==38||LA92_1==50||LA92_1==65||LA92_1==68) ) { alt92=1; } } switch (alt92) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3203:6: 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,60,FollowSets000.FOLLOW_60_in_ruleParameterCS6930); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3207:1: ( ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? )+ int cnt91=0; loop91: do { int alt91=2; int LA91_0 = input.LA(1); if ( (LA91_0==38||LA91_0==50||LA91_0==65||LA91_0==68) ) { alt91=1; } switch (alt91) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3207:2: ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) (otherlv_8= ',' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3207:2: ( ( (lv_qualifiers_4_0= 'ordered' ) ) | ( (lv_qualifiers_5_0= '!ordered' ) ) | ( (lv_qualifiers_6_0= 'unique' ) ) | ( (lv_qualifiers_7_0= '!unique' ) ) ) int alt89=4; switch ( input.LA(1) ) { case 38: { alt89=1; } break; case 65: { alt89=2; } break; case 50: { alt89=3; } break; case 68: { alt89=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 89, 0, input); throw nvae; } switch (alt89) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3207:3: ( (lv_qualifiers_4_0= 'ordered' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3207:3: ( (lv_qualifiers_4_0= 'ordered' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3208:1: (lv_qualifiers_4_0= 'ordered' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3208:1: (lv_qualifiers_4_0= 'ordered' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3209:3: lv_qualifiers_4_0= 'ordered' { lv_qualifiers_4_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleParameterCS6950); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3223:6: ( (lv_qualifiers_5_0= '!ordered' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3223:6: ( (lv_qualifiers_5_0= '!ordered' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3224:1: (lv_qualifiers_5_0= '!ordered' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3224:1: (lv_qualifiers_5_0= '!ordered' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3225:3: lv_qualifiers_5_0= '!ordered' { lv_qualifiers_5_0=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleParameterCS6987); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3239:6: ( (lv_qualifiers_6_0= 'unique' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3239:6: ( (lv_qualifiers_6_0= 'unique' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3240:1: (lv_qualifiers_6_0= 'unique' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3240:1: (lv_qualifiers_6_0= 'unique' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3241:3: lv_qualifiers_6_0= 'unique' { lv_qualifiers_6_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleParameterCS7024); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3255:6: ( (lv_qualifiers_7_0= '!unique' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3255:6: ( (lv_qualifiers_7_0= '!unique' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3256:1: (lv_qualifiers_7_0= '!unique' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3256:1: (lv_qualifiers_7_0= '!unique' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3257:3: lv_qualifiers_7_0= '!unique' { lv_qualifiers_7_0=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleParameterCS7061); 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; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3270:3: (otherlv_8= ',' )? int alt90=2; int LA90_0 = input.LA(1); if ( (LA90_0==59) ) { alt90=1; } switch (alt90) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3270:5: otherlv_8= ',' { otherlv_8=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleParameterCS7088); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getParameterCSAccess().getCommaKeyword_2_1_1()); } } break; } } break; default : if ( cnt91 >= 1 ) break loop91; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(91, input); throw eee; } cnt91++; } while (true); otherlv_9=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleParameterCS7104); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_2_2()); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3278:3: (otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' )? int alt94=2; int LA94_0 = input.LA(1); if ( (LA94_0==60) ) { alt94=1; } switch (alt94) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3278:5: otherlv_10= '{' ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* otherlv_12= '}' { otherlv_10=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleParameterCS7119); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getParameterCSAccess().getLeftCurlyBracketKeyword_3_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3282:1: ( (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) )* loop93: do { int alt93=2; int LA93_0 = input.LA(1); if ( (LA93_0==58||LA93_0==73||LA93_0==79) ) { alt93=1; } switch (alt93) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3283:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3283:1: (lv_ownedAnnotations_11_0= ruleAnnotationElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3284:3: lv_ownedAnnotations_11_0= ruleAnnotationElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleParameterCS7140); lv_ownedAnnotations_11_0=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getParameterCSRule()); } add( current, "ownedAnnotations", lv_ownedAnnotations_11_0, "AnnotationElementCS"); afterParserOrEnumRuleCall(); } } } break; default : break loop93; } } while (true); otherlv_12=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleParameterCS7153); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getParameterCSAccess().getRightCurlyBracketKeyword_3_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleParameterCS" // $ANTLR start "entryRuleReferenceCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3312:1: entryRuleReferenceCS returns [EObject current=null] : iv_ruleReferenceCS= ruleReferenceCS EOF ; public final EObject entryRuleReferenceCS() throws RecognitionException { EObject current = null; EObject iv_ruleReferenceCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3313:2: (iv_ruleReferenceCS= ruleReferenceCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3314:2: iv_ruleReferenceCS= ruleReferenceCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getReferenceCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleReferenceCS_in_entryRuleReferenceCS7191); iv_ruleReferenceCS=ruleReferenceCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleReferenceCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleReferenceCS7201); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleReferenceCS" // $ANTLR start "ruleReferenceCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3321: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= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' ) ) ; 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_35=null; Token otherlv_37=null; Token otherlv_39=null; Token otherlv_40=null; Token otherlv_42=null; Token otherlv_44=null; Token otherlv_45=null; Token otherlv_47=null; Token otherlv_49=null; Token otherlv_50=null; Token otherlv_51=null; AntlrDatatypeRuleToken lv_name_5_0 = null; EObject lv_ownedType_9_0 = null; EObject lv_ownedAnnotations_34_0 = null; EObject lv_ownedDefaultExpressions_43_0 = null; EObject lv_ownedDefaultExpressions_48_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3324:28: ( ( ( ( ( (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= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3325:1: ( ( ( ( (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= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3325:1: ( ( ( ( (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= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3325: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= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3325:2: ( ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) | ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) )? int alt97=3; int LA97_0 = input.LA(1); if ( (LA97_0==47) ) { alt97=1; } else if ( (LA97_0==26) ) { alt97=2; } switch (alt97) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3325:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3325:3: ( ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3325:4: ( (lv_qualifiers_0_0= 'static' ) ) ( (lv_qualifiers_1_0= 'definition' ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3325:4: ( (lv_qualifiers_0_0= 'static' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3326:1: (lv_qualifiers_0_0= 'static' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3326:1: (lv_qualifiers_0_0= 'static' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3327:3: lv_qualifiers_0_0= 'static' { lv_qualifiers_0_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleReferenceCS7246); 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"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3340:2: ( (lv_qualifiers_1_0= 'definition' ) )? int alt95=2; int LA95_0 = input.LA(1); if ( (LA95_0==26) ) { alt95=1; } switch (alt95) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3341:1: (lv_qualifiers_1_0= 'definition' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3341:1: (lv_qualifiers_1_0= 'definition' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3342:3: lv_qualifiers_1_0= 'definition' { lv_qualifiers_1_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleReferenceCS7277); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3356:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3356:6: ( ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3356:7: ( (lv_qualifiers_2_0= 'definition' ) ) ( (lv_qualifiers_3_0= 'static' ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3356:7: ( (lv_qualifiers_2_0= 'definition' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3357:1: (lv_qualifiers_2_0= 'definition' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3357:1: (lv_qualifiers_2_0= 'definition' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3358:3: lv_qualifiers_2_0= 'definition' { lv_qualifiers_2_0=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleReferenceCS7317); 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"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3371:2: ( (lv_qualifiers_3_0= 'static' ) )? int alt96=2; int LA96_0 = input.LA(1); if ( (LA96_0==47) ) { alt96=1; } switch (alt96) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3372:1: (lv_qualifiers_3_0= 'static' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3372:1: (lv_qualifiers_3_0= 'static' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3373:3: lv_qualifiers_3_0= 'static' { lv_qualifiers_3_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleReferenceCS7348); 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,43,FollowSets000.FOLLOW_43_in_ruleReferenceCS7377); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getReferenceCSAccess().getPropertyKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3390:1: ( (lv_name_5_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3391:1: (lv_name_5_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3391:1: (lv_name_5_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3392:3: lv_name_5_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getReferenceCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS7398); 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, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3408:2: (otherlv_6= '#' ( ( ruleUnrestrictedName ) ) )? int alt98=2; int LA98_0 = input.LA(1); if ( (LA98_0==76) ) { alt98=1; } switch (alt98) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3408:4: otherlv_6= '#' ( ( ruleUnrestrictedName ) ) { otherlv_6=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleReferenceCS7411); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getReferenceCSAccess().getNumberSignKeyword_3_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3412:1: ( ( ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3413:1: ( ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3413:1: ( ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3414:3: 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_ruleUnrestrictedName_in_ruleReferenceCS7438); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3430:4: (otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) )? int alt99=2; int LA99_0 = input.LA(1); if ( (LA99_0==56) ) { alt99=1; } switch (alt99) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3430:6: otherlv_8= ':' ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) { otherlv_8=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleReferenceCS7453); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getReferenceCSAccess().getColonKeyword_4_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3434:1: ( (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3435:1: (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3435:1: (lv_ownedType_9_0= ruleTypedMultiplicityRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3436:3: lv_ownedType_9_0= ruleTypedMultiplicityRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedTypeTypedMultiplicityRefCSParserRuleCall_4_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_ruleReferenceCS7474); 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, "TypedMultiplicityRefCS"); afterParserOrEnumRuleCall(); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3452:4: (otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) )? int alt100=2; int LA100_0 = input.LA(1); if ( (LA100_0==62) ) { alt100=1; } switch (alt100) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3452:6: otherlv_10= '=' ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) { otherlv_10=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleReferenceCS7489); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getReferenceCSAccess().getEqualsSignKeyword_5_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3456:1: ( (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3457:1: (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3457:1: (lv_default_11_0= RULE_SINGLE_QUOTED_STRING ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3458:3: lv_default_11_0= RULE_SINGLE_QUOTED_STRING { lv_default_11_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleReferenceCS7506); 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, "SINGLE_QUOTED_STRING"); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3474: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= '}' )? int alt104=2; int LA104_0 = input.LA(1); if ( (LA104_0==60) ) { int LA104_1 = input.LA(2); if ( (LA104_1==24||LA104_1==28||LA104_1==38||LA104_1==44||LA104_1==46||(LA104_1>=49 && LA104_1<=52)||LA104_1==63||(LA104_1>=65 && LA104_1<=70)||(LA104_1>=77 && LA104_1<=78)) ) { alt104=1; } } switch (alt104) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3474:6: 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,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS7526); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_6_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3478:1: ( ( ( (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 cnt103=0; loop103: do { int alt103=2; int LA103_0 = input.LA(1); if ( (LA103_0==24||LA103_0==28||LA103_0==38||LA103_0==44||LA103_0==46||(LA103_0>=49 && LA103_0<=52)||LA103_0==63||(LA103_0>=65 && LA103_0<=70)||(LA103_0>=77 && LA103_0<=78)) ) { alt103=1; } switch (alt103) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3478:2: ( ( (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= ',' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3478:2: ( ( (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 alt101=18; switch ( input.LA(1) ) { case 24: { alt101=1; } break; case 77: { alt101=2; } break; case 28: { alt101=3; } break; case 63: { alt101=4; } break; case 38: { alt101=5; } break; case 65: { alt101=6; } break; case 44: { alt101=7; } break; case 66: { alt101=8; } break; case 46: { alt101=9; } break; case 78: { alt101=10; } break; case 49: { alt101=11; } break; case 67: { alt101=12; } break; case 50: { alt101=13; } break; case 68: { alt101=14; } break; case 51: { alt101=15; } break; case 69: { alt101=16; } break; case 52: { alt101=17; } break; case 70: { alt101=18; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 101, 0, input); throw nvae; } switch (alt101) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3478:3: ( (lv_qualifiers_13_0= 'composes' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3478:3: ( (lv_qualifiers_13_0= 'composes' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3479:1: (lv_qualifiers_13_0= 'composes' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3479:1: (lv_qualifiers_13_0= 'composes' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3480:3: lv_qualifiers_13_0= 'composes' { lv_qualifiers_13_0=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleReferenceCS7546); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3494:6: ( (lv_qualifiers_14_0= '!composes' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3494:6: ( (lv_qualifiers_14_0= '!composes' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3495:1: (lv_qualifiers_14_0= '!composes' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3495:1: (lv_qualifiers_14_0= '!composes' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3496:3: lv_qualifiers_14_0= '!composes' { lv_qualifiers_14_0=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleReferenceCS7583); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3510:6: ( (lv_qualifiers_15_0= 'derived' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3510:6: ( (lv_qualifiers_15_0= 'derived' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3511:1: (lv_qualifiers_15_0= 'derived' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3511:1: (lv_qualifiers_15_0= 'derived' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3512:3: lv_qualifiers_15_0= 'derived' { lv_qualifiers_15_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleReferenceCS7620); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3526:6: ( (lv_qualifiers_16_0= '!derived' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3526:6: ( (lv_qualifiers_16_0= '!derived' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3527:1: (lv_qualifiers_16_0= '!derived' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3527:1: (lv_qualifiers_16_0= '!derived' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3528:3: lv_qualifiers_16_0= '!derived' { lv_qualifiers_16_0=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleReferenceCS7657); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3542:6: ( (lv_qualifiers_17_0= 'ordered' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3542:6: ( (lv_qualifiers_17_0= 'ordered' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3543:1: (lv_qualifiers_17_0= 'ordered' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3543:1: (lv_qualifiers_17_0= 'ordered' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3544:3: lv_qualifiers_17_0= 'ordered' { lv_qualifiers_17_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleReferenceCS7694); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3558:6: ( (lv_qualifiers_18_0= '!ordered' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3558:6: ( (lv_qualifiers_18_0= '!ordered' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3559:1: (lv_qualifiers_18_0= '!ordered' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3559:1: (lv_qualifiers_18_0= '!ordered' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3560:3: lv_qualifiers_18_0= '!ordered' { lv_qualifiers_18_0=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleReferenceCS7731); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3574:6: ( (lv_qualifiers_19_0= 'readonly' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3574:6: ( (lv_qualifiers_19_0= 'readonly' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3575:1: (lv_qualifiers_19_0= 'readonly' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3575:1: (lv_qualifiers_19_0= 'readonly' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3576:3: lv_qualifiers_19_0= 'readonly' { lv_qualifiers_19_0=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleReferenceCS7768); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3590:6: ( (lv_qualifiers_20_0= '!readonly' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3590:6: ( (lv_qualifiers_20_0= '!readonly' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3591:1: (lv_qualifiers_20_0= '!readonly' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3591:1: (lv_qualifiers_20_0= '!readonly' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3592:3: lv_qualifiers_20_0= '!readonly' { lv_qualifiers_20_0=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleReferenceCS7805); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3606:6: ( (lv_qualifiers_21_0= 'resolve' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3606:6: ( (lv_qualifiers_21_0= 'resolve' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3607:1: (lv_qualifiers_21_0= 'resolve' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3607:1: (lv_qualifiers_21_0= 'resolve' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3608:3: lv_qualifiers_21_0= 'resolve' { lv_qualifiers_21_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleReferenceCS7842); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3622:6: ( (lv_qualifiers_22_0= '!resolve' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3622:6: ( (lv_qualifiers_22_0= '!resolve' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3623:1: (lv_qualifiers_22_0= '!resolve' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3623:1: (lv_qualifiers_22_0= '!resolve' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3624:3: lv_qualifiers_22_0= '!resolve' { lv_qualifiers_22_0=(Token)match(input,78,FollowSets000.FOLLOW_78_in_ruleReferenceCS7879); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3638:6: ( (lv_qualifiers_23_0= 'transient' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3638:6: ( (lv_qualifiers_23_0= 'transient' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3639:1: (lv_qualifiers_23_0= 'transient' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3639:1: (lv_qualifiers_23_0= 'transient' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3640:3: lv_qualifiers_23_0= 'transient' { lv_qualifiers_23_0=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleReferenceCS7916); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3654:6: ( (lv_qualifiers_24_0= '!transient' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3654:6: ( (lv_qualifiers_24_0= '!transient' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3655:1: (lv_qualifiers_24_0= '!transient' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3655:1: (lv_qualifiers_24_0= '!transient' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3656:3: lv_qualifiers_24_0= '!transient' { lv_qualifiers_24_0=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleReferenceCS7953); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3670:6: ( (lv_qualifiers_25_0= 'unique' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3670:6: ( (lv_qualifiers_25_0= 'unique' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3671:1: (lv_qualifiers_25_0= 'unique' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3671:1: (lv_qualifiers_25_0= 'unique' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3672:3: lv_qualifiers_25_0= 'unique' { lv_qualifiers_25_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleReferenceCS7990); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3686:6: ( (lv_qualifiers_26_0= '!unique' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3686:6: ( (lv_qualifiers_26_0= '!unique' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3687:1: (lv_qualifiers_26_0= '!unique' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3687:1: (lv_qualifiers_26_0= '!unique' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3688:3: lv_qualifiers_26_0= '!unique' { lv_qualifiers_26_0=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleReferenceCS8027); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3702:6: ( (lv_qualifiers_27_0= 'unsettable' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3702:6: ( (lv_qualifiers_27_0= 'unsettable' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3703:1: (lv_qualifiers_27_0= 'unsettable' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3703:1: (lv_qualifiers_27_0= 'unsettable' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3704:3: lv_qualifiers_27_0= 'unsettable' { lv_qualifiers_27_0=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleReferenceCS8064); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3718:6: ( (lv_qualifiers_28_0= '!unsettable' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3718:6: ( (lv_qualifiers_28_0= '!unsettable' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3719:1: (lv_qualifiers_28_0= '!unsettable' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3719:1: (lv_qualifiers_28_0= '!unsettable' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3720:3: lv_qualifiers_28_0= '!unsettable' { lv_qualifiers_28_0=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleReferenceCS8101); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3734:6: ( (lv_qualifiers_29_0= 'volatile' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3734:6: ( (lv_qualifiers_29_0= 'volatile' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3735:1: (lv_qualifiers_29_0= 'volatile' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3735:1: (lv_qualifiers_29_0= 'volatile' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3736:3: lv_qualifiers_29_0= 'volatile' { lv_qualifiers_29_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleReferenceCS8138); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3750:6: ( (lv_qualifiers_30_0= '!volatile' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3750:6: ( (lv_qualifiers_30_0= '!volatile' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:1: (lv_qualifiers_30_0= '!volatile' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3751:1: (lv_qualifiers_30_0= '!volatile' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3752:3: lv_qualifiers_30_0= '!volatile' { lv_qualifiers_30_0=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleReferenceCS8175); 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; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3765:3: (otherlv_31= ',' )? int alt102=2; int LA102_0 = input.LA(1); if ( (LA102_0==59) ) { alt102=1; } switch (alt102) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3765:5: otherlv_31= ',' { otherlv_31=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleReferenceCS8202); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_31, grammarAccess.getReferenceCSAccess().getCommaKeyword_6_1_1()); } } break; } } break; default : if ( cnt103 >= 1 ) break loop103; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(103, input); throw eee; } cnt103++; } while (true); otherlv_32=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleReferenceCS8218); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_32, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_6_2()); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3773:3: ( (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) | otherlv_51= ';' ) int alt111=2; int LA111_0 = input.LA(1); if ( (LA111_0==60) ) { alt111=1; } else if ( (LA111_0==57) ) { alt111=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 111, 0, input); throw nvae; } switch (alt111) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3773:4: (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3773:4: (otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3773:6: otherlv_33= '{' ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* otherlv_50= '}' { otherlv_33=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleReferenceCS8234); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_33, grammarAccess.getReferenceCSAccess().getLeftCurlyBracketKeyword_7_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3777:1: ( ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) | (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) | (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) | (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) )* loop110: do { int alt110=5; switch ( input.LA(1) ) { case 58: case 73: case 79: { alt110=1; } break; case 35: { alt110=2; } break; case 33: { alt110=3; } break; case 27: { alt110=4; } break; } switch (alt110) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3777:2: ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3777:2: ( (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3778:1: (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3778:1: (lv_ownedAnnotations_34_0= ruleAnnotationElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3779:3: lv_ownedAnnotations_34_0= ruleAnnotationElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_7_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleReferenceCS8256); lv_ownedAnnotations_34_0=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getReferenceCSRule()); } add( current, "ownedAnnotations", lv_ownedAnnotations_34_0, "AnnotationElementCS"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3796:6: (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3796:6: (otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3796:8: otherlv_35= 'key' ( ( ruleUnrestrictedName ) ) (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* otherlv_39= ';' { otherlv_35=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleReferenceCS8275); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_35, grammarAccess.getReferenceCSAccess().getKeyKeyword_7_0_1_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3800:1: ( ( ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3801:1: ( ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3801:1: ( ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3802:3: ruleUnrestrictedName { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getReferenceCSRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getReferenceCSAccess().getReferredKeysPropertyCrossReference_7_0_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8302); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3818:2: (otherlv_37= ',' ( ( ruleUnrestrictedName ) ) )* loop105: do { int alt105=2; int LA105_0 = input.LA(1); if ( (LA105_0==59) ) { alt105=1; } switch (alt105) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3818:4: otherlv_37= ',' ( ( ruleUnrestrictedName ) ) { otherlv_37=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleReferenceCS8315); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_37, grammarAccess.getReferenceCSAccess().getCommaKeyword_7_0_1_1_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3822:1: ( ( ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3823:1: ( ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3823:1: ( ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3824:3: ruleUnrestrictedName { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getReferenceCSRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getReferenceCSAccess().getReferredKeysPropertyCrossReference_7_0_1_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8342); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; default : break loop105; } } while (true); otherlv_39=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleReferenceCS8356); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_39, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_1_3()); } } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3845:6: (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3845:6: (otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3845:8: otherlv_40= 'initial' ( ruleUnrestrictedName )? otherlv_42= ':' ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? otherlv_44= ';' { otherlv_40=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleReferenceCS8376); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_40, grammarAccess.getReferenceCSAccess().getInitialKeyword_7_0_1_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3849:1: ( ruleUnrestrictedName )? int alt106=2; int LA106_0 = input.LA(1); if ( ((LA106_0>=RULE_SIMPLE_ID && LA106_0<=RULE_ESCAPED_ID)||LA106_0==17||(LA106_0>=19 && LA106_0<=53)||LA106_0==58||LA106_0==71||(LA106_0>=73 && LA106_0<=74)||LA106_0==79) ) { alt106=1; } switch (alt106) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3850:2: ruleUnrestrictedName { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_2_1()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8396); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; } otherlv_42=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleReferenceCS8409); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_42, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_2_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3864:1: ( (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) )? int alt107=2; int LA107_0 = input.LA(1); if ( ((LA107_0>=RULE_INT && LA107_0<=RULE_SINGLE_QUOTED_STRING)||(LA107_0>=RULE_UNQUOTED_STRING && LA107_0<=RULE_ESCAPED_ID)||(LA107_0>=17 && LA107_0<=54)||LA107_0==58||LA107_0==71||(LA107_0>=73 && LA107_0<=74)||LA107_0==79||(LA107_0>=82 && LA107_0<=83)||(LA107_0>=97 && LA107_0<=98)||(LA107_0>=100 && LA107_0<=112)||LA107_0==115||(LA107_0>=117 && LA107_0<=120)||LA107_0==127||(LA107_0>=132 && LA107_0<=133)) ) { alt107=1; } switch (alt107) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3865:1: (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3865:1: (lv_ownedDefaultExpressions_43_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3866:3: lv_ownedDefaultExpressions_43_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_2_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleReferenceCS8430); lv_ownedDefaultExpressions_43_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_43_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } break; } otherlv_44=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleReferenceCS8443); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_44, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_2_4()); } } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3887:6: (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3887:6: (otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3887:8: otherlv_45= 'derivation' ( ruleUnrestrictedName )? otherlv_47= ':' ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? otherlv_49= ';' { otherlv_45=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleReferenceCS8463); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_45, grammarAccess.getReferenceCSAccess().getDerivationKeyword_7_0_1_3_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3891:1: ( ruleUnrestrictedName )? int alt108=2; int LA108_0 = input.LA(1); if ( ((LA108_0>=RULE_SIMPLE_ID && LA108_0<=RULE_ESCAPED_ID)||LA108_0==17||(LA108_0>=19 && LA108_0<=53)||LA108_0==58||LA108_0==71||(LA108_0>=73 && LA108_0<=74)||LA108_0==79) ) { alt108=1; } switch (alt108) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3892:2: ruleUnrestrictedName { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getReferenceCSAccess().getUnrestrictedNameParserRuleCall_7_0_1_3_1()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8483); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; } otherlv_47=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleReferenceCS8496); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_47, grammarAccess.getReferenceCSAccess().getColonKeyword_7_0_1_3_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3906:1: ( (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) )? int alt109=2; int LA109_0 = input.LA(1); if ( ((LA109_0>=RULE_INT && LA109_0<=RULE_SINGLE_QUOTED_STRING)||(LA109_0>=RULE_UNQUOTED_STRING && LA109_0<=RULE_ESCAPED_ID)||(LA109_0>=17 && LA109_0<=54)||LA109_0==58||LA109_0==71||(LA109_0>=73 && LA109_0<=74)||LA109_0==79||(LA109_0>=82 && LA109_0<=83)||(LA109_0>=97 && LA109_0<=98)||(LA109_0>=100 && LA109_0<=112)||LA109_0==115||(LA109_0>=117 && LA109_0<=120)||LA109_0==127||(LA109_0>=132 && LA109_0<=133)) ) { alt109=1; } switch (alt109) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3907:1: (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3907:1: (lv_ownedDefaultExpressions_48_0= ruleSpecificationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3908:3: lv_ownedDefaultExpressions_48_0= ruleSpecificationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getReferenceCSAccess().getOwnedDefaultExpressionsSpecificationCSParserRuleCall_7_0_1_3_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_ruleReferenceCS8517); lv_ownedDefaultExpressions_48_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_48_0, "SpecificationCS"); afterParserOrEnumRuleCall(); } } } break; } otherlv_49=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleReferenceCS8530); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_49, grammarAccess.getReferenceCSAccess().getSemicolonKeyword_7_0_1_3_4()); } } } break; default : break loop110; } } while (true); otherlv_50=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleReferenceCS8545); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_50, grammarAccess.getReferenceCSAccess().getRightCurlyBracketKeyword_7_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3933:7: otherlv_51= ';' { otherlv_51=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleReferenceCS8564); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_51, 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 "entryRuleSpecificationCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3945:1: entryRuleSpecificationCS returns [EObject current=null] : iv_ruleSpecificationCS= ruleSpecificationCS EOF ; public final EObject entryRuleSpecificationCS() throws RecognitionException { EObject current = null; EObject iv_ruleSpecificationCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3946:2: (iv_ruleSpecificationCS= ruleSpecificationCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3947:2: iv_ruleSpecificationCS= ruleSpecificationCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSpecificationCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleSpecificationCS_in_entryRuleSpecificationCS8601); iv_ruleSpecificationCS=ruleSpecificationCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSpecificationCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSpecificationCS8611); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSpecificationCS" // $ANTLR start "ruleSpecificationCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3954: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3957:28: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3958:1: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3958:1: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) | ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) ) int alt112=2; int LA112_0 = input.LA(1); if ( ((LA112_0>=RULE_INT && LA112_0<=RULE_SINGLE_QUOTED_STRING)||(LA112_0>=RULE_SIMPLE_ID && LA112_0<=RULE_ESCAPED_ID)||(LA112_0>=17 && LA112_0<=54)||LA112_0==58||LA112_0==71||(LA112_0>=73 && LA112_0<=74)||LA112_0==79||(LA112_0>=82 && LA112_0<=83)||(LA112_0>=97 && LA112_0<=98)||(LA112_0>=100 && LA112_0<=112)||LA112_0==115||(LA112_0>=117 && LA112_0<=120)||LA112_0==127||(LA112_0>=132 && LA112_0<=133)) ) { alt112=1; } else if ( (LA112_0==RULE_UNQUOTED_STRING) ) { alt112=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 112, 0, input); throw nvae; } switch (alt112) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3958:2: ( (lv_ownedExpression_0_0= ruleExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3958:2: ( (lv_ownedExpression_0_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3959:1: (lv_ownedExpression_0_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3959:1: (lv_ownedExpression_0_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3960:3: lv_ownedExpression_0_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSpecificationCSAccess().getOwnedExpressionExpCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleSpecificationCS8657); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3977:6: ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3977:6: ( (lv_exprString_1_0= RULE_UNQUOTED_STRING ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3978:1: (lv_exprString_1_0= RULE_UNQUOTED_STRING ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3978:1: (lv_exprString_1_0= RULE_UNQUOTED_STRING ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:3979:3: lv_exprString_1_0= RULE_UNQUOTED_STRING { lv_exprString_1_0=(Token)match(input,RULE_UNQUOTED_STRING,FollowSets000.FOLLOW_RULE_UNQUOTED_STRING_in_ruleSpecificationCS8680); 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, "UNQUOTED_STRING"); } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSpecificationCS" // $ANTLR start "entryRuleStructuredClassCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4003:1: entryRuleStructuredClassCS returns [EObject current=null] : iv_ruleStructuredClassCS= ruleStructuredClassCS EOF ; public final EObject entryRuleStructuredClassCS() throws RecognitionException { EObject current = null; EObject iv_ruleStructuredClassCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4004:2: (iv_ruleStructuredClassCS= ruleStructuredClassCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4005:2: iv_ruleStructuredClassCS= ruleStructuredClassCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuredClassCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleStructuredClassCS_in_entryRuleStructuredClassCS8721); iv_ruleStructuredClassCS=ruleStructuredClassCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStructuredClassCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStructuredClassCS8731); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStructuredClassCS" // $ANTLR start "ruleStructuredClassCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4012: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_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) ) ; 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_18=null; Token otherlv_19=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_ownedAnnotations_14_0 = null; EObject lv_ownedOperations_15_0 = null; EObject lv_ownedProperties_16_0 = null; EObject lv_ownedConstraints_17_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4015:28: ( ( ( (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_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4016:1: ( ( (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_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4016:1: ( ( (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_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4016: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_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4016:2: ( (lv_isAbstract_0_0= 'abstract' ) )? int alt113=2; int LA113_0 = input.LA(1); if ( (LA113_0==19) ) { alt113=1; } switch (alt113) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4017:1: (lv_isAbstract_0_0= 'abstract' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4017:1: (lv_isAbstract_0_0= 'abstract' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4018:3: lv_isAbstract_0_0= 'abstract' { lv_isAbstract_0_0=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleStructuredClassCS8774); 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", true, "abstract"); } } } break; } otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleStructuredClassCS8800); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getStructuredClassCSAccess().getClassKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4035:1: ( (lv_name_2_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4036:1: (lv_name_2_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4036:1: (lv_name_2_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4037:3: lv_name_2_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuredClassCSAccess().getNameUnrestrictedNameParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleStructuredClassCS8821); 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, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4053:2: ( (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) )? int alt114=2; int LA114_0 = input.LA(1); if ( (LA114_0==54||LA114_0==80) ) { alt114=1; } switch (alt114) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4054:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4054:1: (lv_ownedSignature_3_0= ruleTemplateSignatureCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4055:3: lv_ownedSignature_3_0= ruleTemplateSignatureCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSignatureTemplateSignatureCSParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_ruleStructuredClassCS8842); 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, "TemplateSignatureCS"); afterParserOrEnumRuleCall(); } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4071:3: (otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* )? int alt116=2; int LA116_0 = input.LA(1); if ( (LA116_0==30) ) { alt116=1; } switch (alt116) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4071:5: otherlv_4= 'extends' ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* { otherlv_4=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleStructuredClassCS8856); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getStructuredClassCSAccess().getExtendsKeyword_4_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4075:1: ( (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4076:1: (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4076:1: (lv_ownedSuperTypes_5_0= ruleTypedRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4077:3: lv_ownedSuperTypes_5_0= ruleTypedRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesTypedRefCSParserRuleCall_4_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS8877); 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, "TypedRefCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4093:2: (otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) )* loop115: do { int alt115=2; int LA115_0 = input.LA(1); if ( (LA115_0==59) ) { alt115=1; } switch (alt115) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4093:4: otherlv_6= ',' ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) { otherlv_6=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleStructuredClassCS8890); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getStructuredClassCSAccess().getCommaKeyword_4_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4097:1: ( (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4098:1: (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4098:1: (lv_ownedSuperTypes_7_0= ruleTypedRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4099:3: lv_ownedSuperTypes_7_0= ruleTypedRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedSuperTypesTypedRefCSParserRuleCall_4_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS8911); 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, "TypedRefCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop115; } } while (true); } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4115:6: (otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) )? int alt117=2; int LA117_0 = input.LA(1); if ( (LA117_0==56) ) { alt117=1; } switch (alt117) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4115:8: otherlv_8= ':' ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) { otherlv_8=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleStructuredClassCS8928); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getStructuredClassCSAccess().getColonKeyword_5_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4119:1: ( (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4120:1: (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4120:1: (lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4121:3: lv_instanceClassName_9_0= RULE_SINGLE_QUOTED_STRING { lv_instanceClassName_9_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStructuredClassCS8945); 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, "SINGLE_QUOTED_STRING"); } } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4137:4: (otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' )? int alt119=2; int LA119_0 = input.LA(1); if ( (LA119_0==60) ) { int LA119_1 = input.LA(2); if ( (LA119_1==34) ) { alt119=1; } else if ( (LA119_1==61) ) { int LA119_4 = input.LA(3); if ( (LA119_4==57||LA119_4==60) ) { alt119=1; } } } switch (alt119) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4137:6: otherlv_10= '{' ( (lv_isInterface_11_0= 'interface' ) )? otherlv_12= '}' { otherlv_10=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleStructuredClassCS8965); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_6_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4141:1: ( (lv_isInterface_11_0= 'interface' ) )? int alt118=2; int LA118_0 = input.LA(1); if ( (LA118_0==34) ) { alt118=1; } switch (alt118) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4142:1: (lv_isInterface_11_0= 'interface' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4142:1: (lv_isInterface_11_0= 'interface' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4143:3: lv_isInterface_11_0= 'interface' { lv_isInterface_11_0=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleStructuredClassCS8983); 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", true, "interface"); } } } break; } otherlv_12=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleStructuredClassCS9009); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_6_2()); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4160:3: ( (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) | otherlv_19= ';' ) int alt121=2; int LA121_0 = input.LA(1); if ( (LA121_0==60) ) { alt121=1; } else if ( (LA121_0==57) ) { alt121=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 121, 0, input); throw nvae; } switch (alt121) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4160:4: (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4160:4: (otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4160:6: otherlv_13= '{' ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* otherlv_18= '}' { otherlv_13=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleStructuredClassCS9025); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getStructuredClassCSAccess().getLeftCurlyBracketKeyword_7_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4164:1: ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )* loop120: do { int alt120=5; alt120 = dfa120.predict(input); switch (alt120) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4164:2: ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4164:2: ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4165:1: (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4165:1: (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4166:3: lv_ownedAnnotations_14_0= ruleAnnotationElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedAnnotationsAnnotationElementCSParserRuleCall_7_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleAnnotationElementCS_in_ruleStructuredClassCS9047); lv_ownedAnnotations_14_0=ruleAnnotationElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStructuredClassCSRule()); } add( current, "ownedAnnotations", lv_ownedAnnotations_14_0, "AnnotationElementCS"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4183:6: ( (lv_ownedOperations_15_0= ruleOperationCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4183:6: ( (lv_ownedOperations_15_0= ruleOperationCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4184:1: (lv_ownedOperations_15_0= ruleOperationCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4184:1: (lv_ownedOperations_15_0= ruleOperationCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4185:3: lv_ownedOperations_15_0= ruleOperationCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedOperationsOperationCSParserRuleCall_7_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOperationCS_in_ruleStructuredClassCS9074); lv_ownedOperations_15_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_15_0, "OperationCS"); afterParserOrEnumRuleCall(); } } } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4202:6: ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4202:6: ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4203:1: (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4203:1: (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4204:3: lv_ownedProperties_16_0= ruleStructuralFeatureCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedPropertiesStructuralFeatureCSParserRuleCall_7_0_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_ruleStructuredClassCS9101); lv_ownedProperties_16_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_16_0, "StructuralFeatureCS"); afterParserOrEnumRuleCall(); } } } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4221:6: ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4221:6: ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4222:1: (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4222:1: (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4223:3: lv_ownedConstraints_17_0= ruleInvariantConstraintCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuredClassCSAccess().getOwnedConstraintsInvariantConstraintCSParserRuleCall_7_0_1_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleInvariantConstraintCS_in_ruleStructuredClassCS9128); lv_ownedConstraints_17_0=ruleInvariantConstraintCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStructuredClassCSRule()); } add( current, "ownedConstraints", lv_ownedConstraints_17_0, "InvariantConstraintCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop120; } } while (true); otherlv_18=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleStructuredClassCS9142); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_18, grammarAccess.getStructuredClassCSAccess().getRightCurlyBracketKeyword_7_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4244:7: otherlv_19= ';' { otherlv_19=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleStructuredClassCS9161); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, 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 "entryRuleStructuralFeatureCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4256:1: entryRuleStructuralFeatureCS returns [EObject current=null] : iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF ; public final EObject entryRuleStructuralFeatureCS() throws RecognitionException { EObject current = null; EObject iv_ruleStructuralFeatureCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4257:2: (iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4258:2: iv_ruleStructuralFeatureCS= ruleStructuralFeatureCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuralFeatureCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleStructuralFeatureCS_in_entryRuleStructuralFeatureCS9198); iv_ruleStructuralFeatureCS=ruleStructuralFeatureCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStructuralFeatureCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStructuralFeatureCS9208); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStructuralFeatureCS" // $ANTLR start "ruleStructuralFeatureCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4265: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4268:28: ( (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4269:1: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4269:1: (this_AttributeCS_0= ruleAttributeCS | this_ReferenceCS_1= ruleReferenceCS ) int alt122=2; switch ( input.LA(1) ) { case 47: { switch ( input.LA(2) ) { case 26: { int LA122_5 = input.LA(3); if ( (LA122_5==20) ) { alt122=1; } else if ( (LA122_5==43) ) { alt122=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 122, 5, input); throw nvae; } } break; case 43: { alt122=2; } break; case 20: { alt122=1; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 122, 1, input); throw nvae; } } break; case 26: { switch ( input.LA(2) ) { case 47: { int LA122_6 = input.LA(3); if ( (LA122_6==43) ) { alt122=2; } else if ( (LA122_6==20) ) { alt122=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 122, 6, input); throw nvae; } } break; case 20: { alt122=1; } break; case 43: { alt122=2; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 122, 2, input); throw nvae; } } break; case 20: { alt122=1; } break; case 43: { alt122=2; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 122, 0, input); throw nvae; } switch (alt122) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4270:2: this_AttributeCS_0= ruleAttributeCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuralFeatureCSAccess().getAttributeCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleAttributeCS_in_ruleStructuralFeatureCS9258); this_AttributeCS_0=ruleAttributeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_AttributeCS_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4283:2: this_ReferenceCS_1= ruleReferenceCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStructuralFeatureCSAccess().getReferenceCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleReferenceCS_in_ruleStructuralFeatureCS9288); 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 "entryRuleSysMLCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4302:1: entryRuleSysMLCS returns [EObject current=null] : iv_ruleSysMLCS= ruleSysMLCS EOF ; public final EObject entryRuleSysMLCS() throws RecognitionException { EObject current = null; EObject iv_ruleSysMLCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4303:2: (iv_ruleSysMLCS= ruleSysMLCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4304:2: iv_ruleSysMLCS= ruleSysMLCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSysMLCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleSysMLCS_in_entryRuleSysMLCS9323); iv_ruleSysMLCS=ruleSysMLCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSysMLCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSysMLCS9333); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSysMLCS" // $ANTLR start "ruleSysMLCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4311:1: ruleSysMLCS returns [EObject current=null] : ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) ) ; public final EObject ruleSysMLCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_7=null; EObject lv_ownedDetails_2_0 = null; EObject lv_ownedDetails_5_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4314:28: ( ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4315:1: ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4315:1: ( () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4315:2: () otherlv_1= 'sysml' ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4315:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4316:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSysMLCSAccess().getSysMLCSAction_0(), current); } } otherlv_1=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleSysMLCS9382); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSysMLCSAccess().getSysmlKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4328:1: ( ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) | (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) ) int alt124=2; int LA124_0 = input.LA(1); if ( (LA124_0==RULE_SINGLE_QUOTED_STRING||(LA124_0>=RULE_SIMPLE_ID && LA124_0<=RULE_ESCAPED_ID)||LA124_0==17||(LA124_0>=19 && LA124_0<=53)||LA124_0==58||LA124_0==71||(LA124_0>=73 && LA124_0<=74)||LA124_0==79) ) { alt124=1; } else if ( (LA124_0==60) ) { 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4328:2: ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4328:2: ( ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4328:3: ( (lv_ownedDetails_2_0= ruleDetailCS ) ) otherlv_3= ';' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4328:3: ( (lv_ownedDetails_2_0= ruleDetailCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4329:1: (lv_ownedDetails_2_0= ruleDetailCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4329:1: (lv_ownedDetails_2_0= ruleDetailCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4330:3: lv_ownedDetails_2_0= ruleDetailCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSysMLCSAccess().getOwnedDetailsDetailCSParserRuleCall_2_0_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleSysMLCS9405); lv_ownedDetails_2_0=ruleDetailCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSysMLCSRule()); } add( current, "ownedDetails", lv_ownedDetails_2_0, "DetailCS"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleSysMLCS9417); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSysMLCSAccess().getSemicolonKeyword_2_0_1()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4351:6: (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4351:6: (otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4351:8: otherlv_4= '{' ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* otherlv_7= '}' { otherlv_4=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleSysMLCS9437); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getSysMLCSAccess().getLeftCurlyBracketKeyword_2_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4355:1: ( ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' )* loop123: do { int alt123=2; int LA123_0 = input.LA(1); if ( (LA123_0==RULE_SINGLE_QUOTED_STRING||(LA123_0>=RULE_SIMPLE_ID && LA123_0<=RULE_ESCAPED_ID)||LA123_0==17||(LA123_0>=19 && LA123_0<=53)||LA123_0==58||LA123_0==71||(LA123_0>=73 && LA123_0<=74)||LA123_0==79) ) { alt123=1; } switch (alt123) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4355:2: ( (lv_ownedDetails_5_0= ruleDetailCS ) ) otherlv_6= ';' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4355:2: ( (lv_ownedDetails_5_0= ruleDetailCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4356:1: (lv_ownedDetails_5_0= ruleDetailCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4356:1: (lv_ownedDetails_5_0= ruleDetailCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4357:3: lv_ownedDetails_5_0= ruleDetailCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSysMLCSAccess().getOwnedDetailsDetailCSParserRuleCall_2_1_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleDetailCS_in_ruleSysMLCS9459); lv_ownedDetails_5_0=ruleDetailCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSysMLCSRule()); } add( current, "ownedDetails", lv_ownedDetails_5_0, "DetailCS"); afterParserOrEnumRuleCall(); } } } otherlv_6=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleSysMLCS9471); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getSysMLCSAccess().getSemicolonKeyword_2_1_1_1()); } } break; default : break loop123; } } while (true); otherlv_7=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleSysMLCS9485); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getSysMLCSAccess().getRightCurlyBracketKeyword_2_1_2()); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSysMLCS" // $ANTLR start "entryRuleTypedMultiplicityRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4391:1: entryRuleTypedMultiplicityRefCS returns [EObject current=null] : iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF ; public final EObject entryRuleTypedMultiplicityRefCS() throws RecognitionException { EObject current = null; EObject iv_ruleTypedMultiplicityRefCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4392:2: (iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4393:2: iv_ruleTypedMultiplicityRefCS= ruleTypedMultiplicityRefCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypedMultiplicityRefCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTypedMultiplicityRefCS_in_entryRuleTypedMultiplicityRefCS9525); iv_ruleTypedMultiplicityRefCS=ruleTypedMultiplicityRefCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypedMultiplicityRefCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedMultiplicityRefCS9535); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypedMultiplicityRefCS" // $ANTLR start "ruleTypedMultiplicityRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4400: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4403:28: ( (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4404:1: (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4404:1: (this_TypedRefCS_0= ruleTypedRefCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4405:2: 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_ruleTypedRefCS_in_ruleTypedMultiplicityRefCS9585); this_TypedRefCS_0=ruleTypedRefCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TypedRefCS_0; afterParserOrEnumRuleCall(); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4416:1: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? int alt125=2; int LA125_0 = input.LA(1); if ( (LA125_0==123) ) { alt125=1; } switch (alt125) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4417:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4417:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4418:3: lv_ownedMultiplicity_1_0= ruleMultiplicityCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypedMultiplicityRefCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTypedMultiplicityRefCS9605); 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, "MultiplicityCS"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTypedMultiplicityRefCS" // $ANTLR start "entryRuleTemplateSignatureCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4442:1: entryRuleTemplateSignatureCS returns [EObject current=null] : iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF ; public final EObject entryRuleTemplateSignatureCS() throws RecognitionException { EObject current = null; EObject iv_ruleTemplateSignatureCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4443:2: (iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4444:2: iv_ruleTemplateSignatureCS= ruleTemplateSignatureCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateSignatureCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateSignatureCS_in_entryRuleTemplateSignatureCS9642); iv_ruleTemplateSignatureCS=ruleTemplateSignatureCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTemplateSignatureCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateSignatureCS9652); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTemplateSignatureCS" // $ANTLR start "ruleTemplateSignatureCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4451:1: ruleTemplateSignatureCS returns [EObject current=null] : ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) ) ; public final EObject ruleTemplateSignatureCS() 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_9=null; EObject lv_ownedParameters_1_0 = null; EObject lv_ownedParameters_3_0 = null; EObject lv_ownedParameters_6_0 = null; EObject lv_ownedParameters_8_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4454:28: ( ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4455:1: ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4455:1: ( (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) | (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) ) int alt128=2; int LA128_0 = input.LA(1); if ( (LA128_0==54) ) { alt128=1; } else if ( (LA128_0==80) ) { alt128=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 128, 0, input); throw nvae; } switch (alt128) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4455:2: (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4455:2: (otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4455:4: otherlv_0= '(' ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* otherlv_4= ')' { otherlv_0=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleTemplateSignatureCS9690); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getTemplateSignatureCSAccess().getLeftParenthesisKeyword_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4459:1: ( (lv_ownedParameters_1_0= ruleTypeParameterCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4460:1: (lv_ownedParameters_1_0= ruleTypeParameterCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4460:1: (lv_ownedParameters_1_0= ruleTypeParameterCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4461:3: lv_ownedParameters_1_0= ruleTypeParameterCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS9711); 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, "TypeParameterCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4477:2: (otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) )* loop126: do { int alt126=2; int LA126_0 = input.LA(1); if ( (LA126_0==59) ) { alt126=1; } switch (alt126) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4477:4: otherlv_2= ',' ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) { otherlv_2=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleTemplateSignatureCS9724); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_0_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4481:1: ( (lv_ownedParameters_3_0= ruleTypeParameterCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4482:1: (lv_ownedParameters_3_0= ruleTypeParameterCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4482:1: (lv_ownedParameters_3_0= ruleTypeParameterCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4483:3: lv_ownedParameters_3_0= ruleTypeParameterCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_0_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS9745); 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, "TypeParameterCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop126; } } while (true); otherlv_4=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleTemplateSignatureCS9759); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getTemplateSignatureCSAccess().getRightParenthesisKeyword_0_3()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4504:6: (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4504:6: (otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4504:8: otherlv_5= '<' ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* otherlv_9= '>' { otherlv_5=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleTemplateSignatureCS9779); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getTemplateSignatureCSAccess().getLessThanSignKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4508:1: ( (lv_ownedParameters_6_0= ruleTypeParameterCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4509:1: (lv_ownedParameters_6_0= ruleTypeParameterCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4509:1: (lv_ownedParameters_6_0= ruleTypeParameterCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4510:3: lv_ownedParameters_6_0= ruleTypeParameterCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS9800); lv_ownedParameters_6_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_6_0, "TypeParameterCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4526:2: (otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) )* loop127: do { int alt127=2; int LA127_0 = input.LA(1); if ( (LA127_0==59) ) { alt127=1; } switch (alt127) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4526:4: otherlv_7= ',' ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) { otherlv_7=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleTemplateSignatureCS9813); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getTemplateSignatureCSAccess().getCommaKeyword_1_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4530:1: ( (lv_ownedParameters_8_0= ruleTypeParameterCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4531:1: (lv_ownedParameters_8_0= ruleTypeParameterCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4531:1: (lv_ownedParameters_8_0= ruleTypeParameterCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4532:3: lv_ownedParameters_8_0= ruleTypeParameterCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateSignatureCSAccess().getOwnedParametersTypeParameterCSParserRuleCall_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS9834); lv_ownedParameters_8_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_8_0, "TypeParameterCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop127; } } while (true); otherlv_9=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleTemplateSignatureCS9848); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getTemplateSignatureCSAccess().getGreaterThanSignKeyword_1_3()); } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTemplateSignatureCS" // $ANTLR start "entryRuleTypedRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4560:1: entryRuleTypedRefCS returns [EObject current=null] : iv_ruleTypedRefCS= ruleTypedRefCS EOF ; public final EObject entryRuleTypedRefCS() throws RecognitionException { EObject current = null; EObject iv_ruleTypedRefCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4561:2: (iv_ruleTypedRefCS= ruleTypedRefCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4562:2: iv_ruleTypedRefCS= ruleTypedRefCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypedRefCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_entryRuleTypedRefCS9885); iv_ruleTypedRefCS=ruleTypedRefCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypedRefCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedRefCS9895); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypedRefCS" // $ANTLR start "ruleTypedRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4569:1: ruleTypedRefCS returns [EObject current=null] : (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS ) ; public final EObject ruleTypedRefCS() throws RecognitionException { EObject current = null; EObject this_TypeLiteralCS_0 = null; EObject this_TypedTypeRefCS_1 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4572:28: ( (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4573:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4573:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS | this_TypedTypeRefCS_1= ruleTypedTypeRefCS ) int alt129=2; int LA129_0 = input.LA(1); if ( ((LA129_0>=97 && LA129_0<=98)||(LA129_0>=100 && LA129_0<=112)) ) { alt129=1; } else if ( ((LA129_0>=RULE_SIMPLE_ID && LA129_0<=RULE_ESCAPED_ID)||LA129_0==17||(LA129_0>=19 && LA129_0<=53)||LA129_0==58||LA129_0==71||(LA129_0>=73 && LA129_0<=74)||LA129_0==79) ) { alt129=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 129, 0, input); throw nvae; } switch (alt129) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4574:2: this_TypeLiteralCS_0= ruleTypeLiteralCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypedRefCSAccess().getTypeLiteralCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_ruleTypedRefCS9945); this_TypeLiteralCS_0=ruleTypeLiteralCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TypeLiteralCS_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4587:2: this_TypedTypeRefCS_1= ruleTypedTypeRefCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypedRefCSAccess().getTypedTypeRefCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleTypedTypeRefCS_in_ruleTypedRefCS9975); this_TypedTypeRefCS_1=ruleTypedTypeRefCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TypedTypeRefCS_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTypedRefCS" // $ANTLR start "entryRuleTypedTypeRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4606:1: entryRuleTypedTypeRefCS returns [EObject current=null] : iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF ; public final EObject entryRuleTypedTypeRefCS() throws RecognitionException { EObject current = null; EObject iv_ruleTypedTypeRefCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4607:2: (iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4608:2: iv_ruleTypedTypeRefCS= ruleTypedTypeRefCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypedTypeRefCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTypedTypeRefCS_in_entryRuleTypedTypeRefCS10010); iv_ruleTypedTypeRefCS=ruleTypedTypeRefCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypedTypeRefCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypedTypeRefCS10020); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypedTypeRefCS" // $ANTLR start "ruleTypedTypeRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4615:1: ruleTypedTypeRefCS returns [EObject current=null] : ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )? ) ; public final EObject ruleTypedTypeRefCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_ownedPathName_0_0 = null; EObject lv_ownedBinding_2_0 = null; EObject lv_ownedBinding_5_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4618:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4619:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4619:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4619:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4619:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4620:1: (lv_ownedPathName_0_0= rulePathNameCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4620:1: (lv_ownedPathName_0_0= rulePathNameCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4621:3: lv_ownedPathName_0_0= rulePathNameCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypedTypeRefCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleTypedTypeRefCS10066); 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, "PathNameCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4637:2: ( (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) | (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) )? int alt130=3; int LA130_0 = input.LA(1); if ( (LA130_0==54) ) { alt130=1; } else if ( (LA130_0==80) ) { alt130=2; } switch (alt130) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4637:3: (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4637:3: (otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4637:5: otherlv_1= '(' ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) otherlv_3= ')' { otherlv_1=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleTypedTypeRefCS10080); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTypedTypeRefCSAccess().getLeftParenthesisKeyword_1_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4641:1: ( (lv_ownedBinding_2_0= ruleTemplateBindingCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4642:1: (lv_ownedBinding_2_0= ruleTemplateBindingCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4642:1: (lv_ownedBinding_2_0= ruleTemplateBindingCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4643:3: lv_ownedBinding_2_0= ruleTemplateBindingCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypedTypeRefCSAccess().getOwnedBindingTemplateBindingCSParserRuleCall_1_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateBindingCS_in_ruleTypedTypeRefCS10101); lv_ownedBinding_2_0=ruleTemplateBindingCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypedTypeRefCSRule()); } set( current, "ownedBinding", lv_ownedBinding_2_0, "TemplateBindingCS"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleTypedTypeRefCS10113); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getTypedTypeRefCSAccess().getRightParenthesisKeyword_1_0_2()); } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4664:6: (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4664:6: (otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4664:8: otherlv_4= '<' ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) otherlv_6= '>' { otherlv_4=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleTypedTypeRefCS10133); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getTypedTypeRefCSAccess().getLessThanSignKeyword_1_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4668:1: ( (lv_ownedBinding_5_0= ruleTemplateBindingCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4669:1: (lv_ownedBinding_5_0= ruleTemplateBindingCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4669:1: (lv_ownedBinding_5_0= ruleTemplateBindingCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4670:3: lv_ownedBinding_5_0= ruleTemplateBindingCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypedTypeRefCSAccess().getOwnedBindingTemplateBindingCSParserRuleCall_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateBindingCS_in_ruleTypedTypeRefCS10154); lv_ownedBinding_5_0=ruleTemplateBindingCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypedTypeRefCSRule()); } set( current, "ownedBinding", lv_ownedBinding_5_0, "TemplateBindingCS"); afterParserOrEnumRuleCall(); } } } otherlv_6=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleTypedTypeRefCS10166); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getTypedTypeRefCSAccess().getGreaterThanSignKeyword_1_1_2()); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTypedTypeRefCS" // $ANTLR start "entryRuleUnrestrictedName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4698:1: entryRuleUnrestrictedName returns [String current=null] : iv_ruleUnrestrictedName= ruleUnrestrictedName EOF ; public final String entryRuleUnrestrictedName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleUnrestrictedName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4699:2: (iv_ruleUnrestrictedName= ruleUnrestrictedName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4700:2: iv_ruleUnrestrictedName= ruleUnrestrictedName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getUnrestrictedNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_entryRuleUnrestrictedName10206); iv_ruleUnrestrictedName=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleUnrestrictedName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnrestrictedName10217); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleUnrestrictedName" // $ANTLR start "ruleUnrestrictedName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4707:1: ruleUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' ) ; public final AntlrDatatypeRuleToken ruleUnrestrictedName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_EnumerationLiteralName_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4710:28: ( (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4711:1: (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4711:1: (this_EnumerationLiteralName_0= ruleEnumerationLiteralName | kw= 'annotation' | kw= 'documentation' | kw= 'invariant' | kw= 'literal' | kw= 'serializable' | kw= 'sysml' ) int alt131=7; switch ( input.LA(1) ) { case RULE_SIMPLE_ID: case RULE_ESCAPED_ID: case 17: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51: case 52: { alt131=1; } break; case 58: { alt131=2; } break; case 73: { alt131=3; } break; case 53: { alt131=4; } break; case 74: { alt131=5; } break; case 71: { alt131=6; } break; case 79: { alt131=7; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 131, 0, input); throw nvae; } switch (alt131) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4712:5: this_EnumerationLiteralName_0= ruleEnumerationLiteralName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getUnrestrictedNameAccess().getEnumerationLiteralNameParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleEnumerationLiteralName_in_ruleUnrestrictedName10264); this_EnumerationLiteralName_0=ruleEnumerationLiteralName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_EnumerationLiteralName_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4724:2: kw= 'annotation' { kw=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleUnrestrictedName10288); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getAnnotationKeyword_1()); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4731:2: kw= 'documentation' { kw=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleUnrestrictedName10307); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getDocumentationKeyword_2()); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4738:2: kw= 'invariant' { kw=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleUnrestrictedName10326); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getInvariantKeyword_3()); } } break; case 5 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4745:2: kw= 'literal' { kw=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleUnrestrictedName10345); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getLiteralKeyword_4()); } } break; case 6 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4752:2: kw= 'serializable' { kw=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleUnrestrictedName10364); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getSerializableKeyword_5()); } } break; case 7 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4759:2: kw= 'sysml' { kw=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleUnrestrictedName10383); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getUnrestrictedNameAccess().getSysmlKeyword_6()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleUnrestrictedName" // $ANTLR start "entryRuleEssentialOCLUnaryOperatorName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4776:1: entryRuleEssentialOCLUnaryOperatorName returns [String current=null] : iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF ; public final String entryRuleEssentialOCLUnaryOperatorName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleEssentialOCLUnaryOperatorName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4777:2: (iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4778:2: iv_ruleEssentialOCLUnaryOperatorName= ruleEssentialOCLUnaryOperatorName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEssentialOCLUnaryOperatorNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnaryOperatorName_in_entryRuleEssentialOCLUnaryOperatorName10428); iv_ruleEssentialOCLUnaryOperatorName=ruleEssentialOCLUnaryOperatorName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEssentialOCLUnaryOperatorName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnaryOperatorName10439); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEssentialOCLUnaryOperatorName" // $ANTLR start "ruleEssentialOCLUnaryOperatorName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4785:1: ruleEssentialOCLUnaryOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '-' | kw= 'not' ) ; public final AntlrDatatypeRuleToken ruleEssentialOCLUnaryOperatorName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4788:28: ( (kw= '-' | kw= 'not' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4789:1: (kw= '-' | kw= 'not' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4789:1: (kw= '-' | kw= 'not' ) int alt132=2; int LA132_0 = input.LA(1); if ( (LA132_0==18) ) { alt132=1; } else if ( (LA132_0==82) ) { alt132=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 132, 0, input); throw nvae; } switch (alt132) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4790:2: kw= '-' { kw=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleEssentialOCLUnaryOperatorName10477); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getHyphenMinusKeyword_0()); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4797:2: kw= 'not' { kw=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleEssentialOCLUnaryOperatorName10496); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLUnaryOperatorNameAccess().getNotKeyword_1()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleEssentialOCLUnaryOperatorName" // $ANTLR start "entryRuleEssentialOCLInfixOperatorName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4810:1: entryRuleEssentialOCLInfixOperatorName returns [String current=null] : iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF ; public final String entryRuleEssentialOCLInfixOperatorName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleEssentialOCLInfixOperatorName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4811:2: (iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4812:2: iv_ruleEssentialOCLInfixOperatorName= ruleEssentialOCLInfixOperatorName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEssentialOCLInfixOperatorNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLInfixOperatorName_in_entryRuleEssentialOCLInfixOperatorName10537); iv_ruleEssentialOCLInfixOperatorName=ruleEssentialOCLInfixOperatorName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEssentialOCLInfixOperatorName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLInfixOperatorName10548); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEssentialOCLInfixOperatorName" // $ANTLR start "ruleEssentialOCLInfixOperatorName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4819:1: ruleEssentialOCLInfixOperatorName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' ) ; public final AntlrDatatypeRuleToken ruleEssentialOCLInfixOperatorName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4822:28: ( (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4823:1: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4823:1: (kw= '*' | kw= '/' | kw= '+' | kw= '-' | kw= '>' | kw= '<' | kw= '>=' | kw= '<=' | kw= '=' | kw= '<>' | kw= 'and' | kw= 'or' | kw= 'xor' | kw= 'implies' ) int alt133=14; switch ( input.LA(1) ) { case 83: { alt133=1; } break; case 84: { alt133=2; } break; case 85: { alt133=3; } break; case 18: { alt133=4; } break; case 81: { alt133=5; } break; case 80: { alt133=6; } break; case 86: { alt133=7; } break; case 87: { alt133=8; } break; case 62: { alt133=9; } break; case 88: { alt133=10; } break; case 89: { alt133=11; } break; case 90: { alt133=12; } break; case 91: { alt133=13; } break; case 92: { alt133=14; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 133, 0, input); throw nvae; } switch (alt133) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4824:2: kw= '*' { kw=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleEssentialOCLInfixOperatorName10586); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAsteriskKeyword_0()); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4831:2: kw= '/' { kw=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleEssentialOCLInfixOperatorName10605); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getSolidusKeyword_1()); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4838:2: kw= '+' { kw=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleEssentialOCLInfixOperatorName10624); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getPlusSignKeyword_2()); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4845:2: kw= '-' { kw=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleEssentialOCLInfixOperatorName10643); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getHyphenMinusKeyword_3()); } } break; case 5 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4852:2: kw= '>' { kw=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleEssentialOCLInfixOperatorName10662); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getGreaterThanSignKeyword_4()); } } break; case 6 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4859:2: kw= '<' { kw=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleEssentialOCLInfixOperatorName10681); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignKeyword_5()); } } break; case 7 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4866:2: kw= '>=' { kw=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleEssentialOCLInfixOperatorName10700); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getGreaterThanSignEqualsSignKeyword_6()); } } break; case 8 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4873:2: kw= '<=' { kw=(Token)match(input,87,FollowSets000.FOLLOW_87_in_ruleEssentialOCLInfixOperatorName10719); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignEqualsSignKeyword_7()); } } break; case 9 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4880:2: kw= '=' { kw=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleEssentialOCLInfixOperatorName10738); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getEqualsSignKeyword_8()); } } break; case 10 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4887:2: kw= '<>' { kw=(Token)match(input,88,FollowSets000.FOLLOW_88_in_ruleEssentialOCLInfixOperatorName10757); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getLessThanSignGreaterThanSignKeyword_9()); } } break; case 11 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4894:2: kw= 'and' { kw=(Token)match(input,89,FollowSets000.FOLLOW_89_in_ruleEssentialOCLInfixOperatorName10776); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getAndKeyword_10()); } } break; case 12 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4901:2: kw= 'or' { kw=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleEssentialOCLInfixOperatorName10795); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getOrKeyword_11()); } } break; case 13 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4908:2: kw= 'xor' { kw=(Token)match(input,91,FollowSets000.FOLLOW_91_in_ruleEssentialOCLInfixOperatorName10814); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getXorKeyword_12()); } } break; case 14 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4915:2: kw= 'implies' { kw=(Token)match(input,92,FollowSets000.FOLLOW_92_in_ruleEssentialOCLInfixOperatorName10833); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLInfixOperatorNameAccess().getImpliesKeyword_13()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleEssentialOCLInfixOperatorName" // $ANTLR start "entryRuleEssentialOCLNavigationOperatorName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4928:1: entryRuleEssentialOCLNavigationOperatorName returns [String current=null] : iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF ; public final String entryRuleEssentialOCLNavigationOperatorName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleEssentialOCLNavigationOperatorName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4929:2: (iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4930:2: iv_ruleEssentialOCLNavigationOperatorName= ruleEssentialOCLNavigationOperatorName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEssentialOCLNavigationOperatorNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLNavigationOperatorName_in_entryRuleEssentialOCLNavigationOperatorName10874); iv_ruleEssentialOCLNavigationOperatorName=ruleEssentialOCLNavigationOperatorName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEssentialOCLNavigationOperatorName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLNavigationOperatorName10885); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEssentialOCLNavigationOperatorName" // $ANTLR start "ruleEssentialOCLNavigationOperatorName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4937: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4940:28: ( (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4941:1: (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4941:1: (kw= '.' | kw= '->' | kw= '?.' | kw= '?->' ) int alt134=4; switch ( input.LA(1) ) { case 93: { alt134=1; } break; case 94: { alt134=2; } break; case 95: { alt134=3; } break; case 96: { alt134=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 134, 0, input); throw nvae; } switch (alt134) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4942:2: kw= '.' { kw=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleEssentialOCLNavigationOperatorName10923); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getFullStopKeyword_0()); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4949:2: kw= '->' { kw=(Token)match(input,94,FollowSets000.FOLLOW_94_in_ruleEssentialOCLNavigationOperatorName10942); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getHyphenMinusGreaterThanSignKeyword_1()); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4956:2: kw= '?.' { kw=(Token)match(input,95,FollowSets000.FOLLOW_95_in_ruleEssentialOCLNavigationOperatorName10961); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLNavigationOperatorNameAccess().getQuestionMarkFullStopKeyword_2()); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4963:2: kw= '?->' { kw=(Token)match(input,96,FollowSets000.FOLLOW_96_in_ruleEssentialOCLNavigationOperatorName10980); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4976:1: entryRuleBinaryOperatorName returns [String current=null] : iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF ; public final String entryRuleBinaryOperatorName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleBinaryOperatorName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4977:2: (iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4978:2: iv_ruleBinaryOperatorName= ruleBinaryOperatorName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBinaryOperatorNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorName_in_entryRuleBinaryOperatorName11021); iv_ruleBinaryOperatorName=ruleBinaryOperatorName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleBinaryOperatorName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBinaryOperatorName11032); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleBinaryOperatorName" // $ANTLR start "ruleBinaryOperatorName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4985: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4988:28: ( (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4989:1: (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4989:1: (this_InfixOperatorName_0= ruleInfixOperatorName | this_NavigationOperatorName_1= ruleNavigationOperatorName ) int alt135=2; int LA135_0 = input.LA(1); if ( (LA135_0==18||LA135_0==62||(LA135_0>=80 && LA135_0<=81)||(LA135_0>=83 && LA135_0<=92)) ) { alt135=1; } else if ( ((LA135_0>=93 && LA135_0<=96)) ) { alt135=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 135, 0, input); throw nvae; } switch (alt135) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:4990:5: this_InfixOperatorName_0= ruleInfixOperatorName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBinaryOperatorNameAccess().getInfixOperatorNameParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorName_in_ruleBinaryOperatorName11079); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5002:5: this_NavigationOperatorName_1= ruleNavigationOperatorName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBinaryOperatorNameAccess().getNavigationOperatorNameParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorName_in_ruleBinaryOperatorName11112); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5020:1: entryRuleInfixOperatorName returns [String current=null] : iv_ruleInfixOperatorName= ruleInfixOperatorName EOF ; public final String entryRuleInfixOperatorName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleInfixOperatorName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5021:2: (iv_ruleInfixOperatorName= ruleInfixOperatorName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5022:2: iv_ruleInfixOperatorName= ruleInfixOperatorName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInfixOperatorNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleInfixOperatorName_in_entryRuleInfixOperatorName11158); iv_ruleInfixOperatorName=ruleInfixOperatorName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleInfixOperatorName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInfixOperatorName11169); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleInfixOperatorName" // $ANTLR start "ruleInfixOperatorName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5029: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5032:28: (this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5034:5: this_EssentialOCLInfixOperatorName_0= ruleEssentialOCLInfixOperatorName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInfixOperatorNameAccess().getEssentialOCLInfixOperatorNameParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLInfixOperatorName_in_ruleInfixOperatorName11215); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5052:1: entryRuleNavigationOperatorName returns [String current=null] : iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF ; public final String entryRuleNavigationOperatorName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleNavigationOperatorName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5053:2: (iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5054:2: iv_ruleNavigationOperatorName= ruleNavigationOperatorName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigationOperatorNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleNavigationOperatorName_in_entryRuleNavigationOperatorName11260); iv_ruleNavigationOperatorName=ruleNavigationOperatorName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNavigationOperatorName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigationOperatorName11271); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNavigationOperatorName" // $ANTLR start "ruleNavigationOperatorName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5061: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5064:28: (this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5066:5: this_EssentialOCLNavigationOperatorName_0= ruleEssentialOCLNavigationOperatorName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigationOperatorNameAccess().getEssentialOCLNavigationOperatorNameParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLNavigationOperatorName_in_ruleNavigationOperatorName11317); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5084:1: entryRuleUnaryOperatorName returns [String current=null] : iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF ; public final String entryRuleUnaryOperatorName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleUnaryOperatorName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5085:2: (iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5086:2: iv_ruleUnaryOperatorName= ruleUnaryOperatorName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getUnaryOperatorNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorName_in_entryRuleUnaryOperatorName11362); iv_ruleUnaryOperatorName=ruleUnaryOperatorName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleUnaryOperatorName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnaryOperatorName11373); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleUnaryOperatorName" // $ANTLR start "ruleUnaryOperatorName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5093: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5096:28: (this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5098:5: this_EssentialOCLUnaryOperatorName_0= ruleEssentialOCLUnaryOperatorName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getUnaryOperatorNameAccess().getEssentialOCLUnaryOperatorNameParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnaryOperatorName_in_ruleUnaryOperatorName11419); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5116:1: entryRuleEssentialOCLUnrestrictedName returns [String current=null] : iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF ; public final String entryRuleEssentialOCLUnrestrictedName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleEssentialOCLUnrestrictedName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5117:2: (iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5118:2: iv_ruleEssentialOCLUnrestrictedName= ruleEssentialOCLUnrestrictedName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnrestrictedName_in_entryRuleEssentialOCLUnrestrictedName11464); iv_ruleEssentialOCLUnrestrictedName=ruleEssentialOCLUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEssentialOCLUnrestrictedName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedName11475); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEssentialOCLUnrestrictedName" // $ANTLR start "ruleEssentialOCLUnrestrictedName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5125:1: ruleEssentialOCLUnrestrictedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_Identifier_0= ruleIdentifier ; public final AntlrDatatypeRuleToken ruleEssentialOCLUnrestrictedName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); AntlrDatatypeRuleToken this_Identifier_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5128:28: (this_Identifier_0= ruleIdentifier ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5130:5: this_Identifier_0= ruleIdentifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEssentialOCLUnrestrictedNameAccess().getIdentifierParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_ruleEssentialOCLUnrestrictedName11521); this_Identifier_0=ruleIdentifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_Identifier_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleEssentialOCLUnrestrictedName" // $ANTLR start "entryRuleEssentialOCLUnreservedName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5148:1: entryRuleEssentialOCLUnreservedName returns [String current=null] : iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF ; public final String entryRuleEssentialOCLUnreservedName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleEssentialOCLUnreservedName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5149:2: (iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5150:2: iv_ruleEssentialOCLUnreservedName= ruleEssentialOCLUnreservedName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnreservedName_in_entryRuleEssentialOCLUnreservedName11566); iv_ruleEssentialOCLUnreservedName=ruleEssentialOCLUnreservedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEssentialOCLUnreservedName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEssentialOCLUnreservedName11577); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEssentialOCLUnreservedName" // $ANTLR start "ruleEssentialOCLUnreservedName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5157: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5160:28: ( (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | kw= 'Tuple' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5161:1: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | kw= 'Tuple' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5161:1: (this_UnrestrictedName_0= ruleUnrestrictedName | this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier | this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier | kw= 'Map' | kw= 'Tuple' ) int alt136=5; switch ( input.LA(1) ) { case RULE_SIMPLE_ID: case RULE_ESCAPED_ID: case 17: case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 37: case 38: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: case 48: case 49: case 50: case 51: case 52: case 53: case 58: case 71: case 73: case 74: case 79: { alt136=1; } break; case 108: case 109: case 110: case 111: case 112: { alt136=2; } break; case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: { alt136=3; } break; case 97: { alt136=4; } break; case 98: { alt136=5; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 136, 0, input); throw nvae; } switch (alt136) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5162:5: this_UnrestrictedName_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getUnrestrictedNameParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleEssentialOCLUnreservedName11624); this_UnrestrictedName_0=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_UnrestrictedName_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5174:5: this_CollectionTypeIdentifier_1= ruleCollectionTypeIdentifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getCollectionTypeIdentifierParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_ruleEssentialOCLUnreservedName11657); this_CollectionTypeIdentifier_1=ruleCollectionTypeIdentifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_CollectionTypeIdentifier_1); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5186:5: this_PrimitiveTypeIdentifier_2= rulePrimitiveTypeIdentifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEssentialOCLUnreservedNameAccess().getPrimitiveTypeIdentifierParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_ruleEssentialOCLUnreservedName11690); this_PrimitiveTypeIdentifier_2=rulePrimitiveTypeIdentifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_PrimitiveTypeIdentifier_2); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5198:2: kw= 'Map' { kw=(Token)match(input,97,FollowSets000.FOLLOW_97_in_ruleEssentialOCLUnreservedName11714); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEssentialOCLUnreservedNameAccess().getMapKeyword_3()); } } break; case 5 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5205:2: kw= 'Tuple' { kw=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleEssentialOCLUnreservedName11733); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5218:1: entryRuleUnreservedName returns [String current=null] : iv_ruleUnreservedName= ruleUnreservedName EOF ; public final String entryRuleUnreservedName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleUnreservedName = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5219:2: (iv_ruleUnreservedName= ruleUnreservedName EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5220:2: iv_ruleUnreservedName= ruleUnreservedName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getUnreservedNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleUnreservedName_in_entryRuleUnreservedName11774); iv_ruleUnreservedName=ruleUnreservedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleUnreservedName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnreservedName11785); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleUnreservedName" // $ANTLR start "ruleUnreservedName" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5227:1: ruleUnreservedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName ; public final AntlrDatatypeRuleToken ruleUnreservedName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); AntlrDatatypeRuleToken this_EssentialOCLUnreservedName_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5230:28: (this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5232:5: this_EssentialOCLUnreservedName_0= ruleEssentialOCLUnreservedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getUnreservedNameAccess().getEssentialOCLUnreservedNameParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_ruleEssentialOCLUnreservedName_in_ruleUnreservedName11831); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5250:1: entryRuleURIPathNameCS returns [EObject current=null] : iv_ruleURIPathNameCS= ruleURIPathNameCS EOF ; public final EObject entryRuleURIPathNameCS() throws RecognitionException { EObject current = null; EObject iv_ruleURIPathNameCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5251:2: (iv_ruleURIPathNameCS= ruleURIPathNameCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5252:2: iv_ruleURIPathNameCS= ruleURIPathNameCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURIPathNameCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleURIPathNameCS_in_entryRuleURIPathNameCS11875); iv_ruleURIPathNameCS=ruleURIPathNameCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleURIPathNameCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleURIPathNameCS11885); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleURIPathNameCS" // $ANTLR start "ruleURIPathNameCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5259: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5262:28: ( ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5263:1: ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5263:1: ( ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5263:2: ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5263:2: ( (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5264:1: (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5264:1: (lv_ownedPathElements_0_0= ruleURIFirstPathElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5265:3: lv_ownedPathElements_0_0= ruleURIFirstPathElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsURIFirstPathElementCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleURIFirstPathElementCS_in_ruleURIPathNameCS11931); 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, "URIFirstPathElementCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5281:2: (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* loop137: do { int alt137=2; int LA137_0 = input.LA(1); if ( (LA137_0==99) ) { alt137=1; } switch (alt137) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5281:4: otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) { otherlv_1=(Token)match(input,99,FollowSets000.FOLLOW_99_in_ruleURIPathNameCS11944); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getURIPathNameCSAccess().getColonColonKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5285:1: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5286:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5286:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5287:3: lv_ownedPathElements_2_0= ruleNextPathElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURIPathNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_ruleURIPathNameCS11965); 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, "NextPathElementCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop137; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleURIPathNameCS" // $ANTLR start "entryRuleURIFirstPathElementCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5311:1: entryRuleURIFirstPathElementCS returns [EObject current=null] : iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF ; public final EObject entryRuleURIFirstPathElementCS() throws RecognitionException { EObject current = null; EObject iv_ruleURIFirstPathElementCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5312:2: (iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5313:2: iv_ruleURIFirstPathElementCS= ruleURIFirstPathElementCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURIFirstPathElementCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleURIFirstPathElementCS_in_entryRuleURIFirstPathElementCS12003); iv_ruleURIFirstPathElementCS=ruleURIFirstPathElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleURIFirstPathElementCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleURIFirstPathElementCS12013); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleURIFirstPathElementCS" // $ANTLR start "ruleURIFirstPathElementCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5320:1: ruleURIFirstPathElementCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) ; public final EObject ruleURIFirstPathElementCS() throws RecognitionException { EObject current = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5323:28: ( ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5324:1: ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5324:1: ( ( ( ruleUnrestrictedName ) ) | ( () ( ( ruleURI ) ) ) ) int alt138=2; int LA138_0 = input.LA(1); if ( ((LA138_0>=RULE_SIMPLE_ID && LA138_0<=RULE_ESCAPED_ID)||LA138_0==17||(LA138_0>=19 && LA138_0<=53)||LA138_0==58||LA138_0==71||(LA138_0>=73 && LA138_0<=74)||LA138_0==79) ) { alt138=1; } else if ( (LA138_0==RULE_SINGLE_QUOTED_STRING) ) { alt138=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 138, 0, input); throw nvae; } switch (alt138) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5324:2: ( ( ruleUnrestrictedName ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5324:2: ( ( ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5325:1: ( ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5325:1: ( ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5326:3: 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_ruleUnrestrictedName_in_ruleURIFirstPathElementCS12065); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5343:6: ( () ( ( ruleURI ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5343:6: ( () ( ( ruleURI ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5343:7: () ( ( ruleURI ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5343:7: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5344:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getURIFirstPathElementCSAccess().getPathElementWithURICSAction_1_0(), current); } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5352:2: ( ( ruleURI ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5353:1: ( ruleURI ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5353:1: ( ruleURI ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5354:3: 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_ruleURI_in_ruleURIFirstPathElementCS12111); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5378:1: entryRulePrimitiveTypeIdentifier returns [String current=null] : iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF ; public final String entryRulePrimitiveTypeIdentifier() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_rulePrimitiveTypeIdentifier = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5379:2: (iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5380:2: iv_rulePrimitiveTypeIdentifier= rulePrimitiveTypeIdentifier EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimitiveTypeIdentifierRule()); } pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_entryRulePrimitiveTypeIdentifier12149); iv_rulePrimitiveTypeIdentifier=rulePrimitiveTypeIdentifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePrimitiveTypeIdentifier.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeIdentifier12160); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePrimitiveTypeIdentifier" // $ANTLR start "rulePrimitiveTypeIdentifier" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5387:1: rulePrimitiveTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) ; public final AntlrDatatypeRuleToken rulePrimitiveTypeIdentifier() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5390:28: ( (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5391:1: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5391:1: (kw= 'Boolean' | kw= 'Integer' | kw= 'Real' | kw= 'String' | kw= 'UnlimitedNatural' | kw= 'OclAny' | kw= 'OclInvalid' | kw= 'OclVoid' ) int alt139=8; switch ( input.LA(1) ) { case 100: { alt139=1; } break; case 101: { alt139=2; } break; case 102: { alt139=3; } break; case 103: { alt139=4; } break; case 104: { alt139=5; } break; case 105: { alt139=6; } break; case 106: { alt139=7; } break; case 107: { alt139=8; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 139, 0, input); throw nvae; } switch (alt139) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5392:2: kw= 'Boolean' { kw=(Token)match(input,100,FollowSets000.FOLLOW_100_in_rulePrimitiveTypeIdentifier12198); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getBooleanKeyword_0()); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5399:2: kw= 'Integer' { kw=(Token)match(input,101,FollowSets000.FOLLOW_101_in_rulePrimitiveTypeIdentifier12217); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getIntegerKeyword_1()); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5406:2: kw= 'Real' { kw=(Token)match(input,102,FollowSets000.FOLLOW_102_in_rulePrimitiveTypeIdentifier12236); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getRealKeyword_2()); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5413:2: kw= 'String' { kw=(Token)match(input,103,FollowSets000.FOLLOW_103_in_rulePrimitiveTypeIdentifier12255); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getStringKeyword_3()); } } break; case 5 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5420:2: kw= 'UnlimitedNatural' { kw=(Token)match(input,104,FollowSets000.FOLLOW_104_in_rulePrimitiveTypeIdentifier12274); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getUnlimitedNaturalKeyword_4()); } } break; case 6 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5427:2: kw= 'OclAny' { kw=(Token)match(input,105,FollowSets000.FOLLOW_105_in_rulePrimitiveTypeIdentifier12293); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclAnyKeyword_5()); } } break; case 7 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5434:2: kw= 'OclInvalid' { kw=(Token)match(input,106,FollowSets000.FOLLOW_106_in_rulePrimitiveTypeIdentifier12312); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclInvalidKeyword_6()); } } break; case 8 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5441:2: kw= 'OclVoid' { kw=(Token)match(input,107,FollowSets000.FOLLOW_107_in_rulePrimitiveTypeIdentifier12331); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getPrimitiveTypeIdentifierAccess().getOclVoidKeyword_7()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "rulePrimitiveTypeIdentifier" // $ANTLR start "entryRulePrimitiveTypeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5454:1: entryRulePrimitiveTypeCS returns [EObject current=null] : iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF ; public final EObject entryRulePrimitiveTypeCS() throws RecognitionException { EObject current = null; EObject iv_rulePrimitiveTypeCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5455:2: (iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5456:2: iv_rulePrimitiveTypeCS= rulePrimitiveTypeCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimitiveTypeCSRule()); } pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_entryRulePrimitiveTypeCS12371); iv_rulePrimitiveTypeCS=rulePrimitiveTypeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePrimitiveTypeCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveTypeCS12381); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePrimitiveTypeCS" // $ANTLR start "rulePrimitiveTypeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5463:1: rulePrimitiveTypeCS returns [EObject current=null] : ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) ; public final EObject rulePrimitiveTypeCS() throws RecognitionException { EObject current = null; AntlrDatatypeRuleToken lv_name_0_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5466:28: ( ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5467:1: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5467:1: ( (lv_name_0_0= rulePrimitiveTypeIdentifier ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5468:1: (lv_name_0_0= rulePrimitiveTypeIdentifier ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5468:1: (lv_name_0_0= rulePrimitiveTypeIdentifier ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5469:3: lv_name_0_0= rulePrimitiveTypeIdentifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimitiveTypeCSAccess().getNamePrimitiveTypeIdentifierParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeIdentifier_in_rulePrimitiveTypeCS12426); lv_name_0_0=rulePrimitiveTypeIdentifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPrimitiveTypeCSRule()); } set( current, "name", lv_name_0_0, "PrimitiveTypeIdentifier"); afterParserOrEnumRuleCall(); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "rulePrimitiveTypeCS" // $ANTLR start "entryRuleCollectionTypeIdentifier" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5493:1: entryRuleCollectionTypeIdentifier returns [String current=null] : iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF ; public final String entryRuleCollectionTypeIdentifier() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleCollectionTypeIdentifier = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5494:2: (iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5495:2: iv_ruleCollectionTypeIdentifier= ruleCollectionTypeIdentifier EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionTypeIdentifierRule()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_entryRuleCollectionTypeIdentifier12462); iv_ruleCollectionTypeIdentifier=ruleCollectionTypeIdentifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleCollectionTypeIdentifier.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypeIdentifier12473); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleCollectionTypeIdentifier" // $ANTLR start "ruleCollectionTypeIdentifier" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5502:1: ruleCollectionTypeIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) ; public final AntlrDatatypeRuleToken ruleCollectionTypeIdentifier() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5505:28: ( (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5506:1: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5506:1: (kw= 'Set' | kw= 'Bag' | kw= 'Sequence' | kw= 'Collection' | kw= 'OrderedSet' ) int alt140=5; switch ( input.LA(1) ) { case 108: { alt140=1; } break; case 109: { alt140=2; } break; case 110: { alt140=3; } break; case 111: { alt140=4; } break; case 112: { alt140=5; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 140, 0, input); throw nvae; } switch (alt140) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5507:2: kw= 'Set' { kw=(Token)match(input,108,FollowSets000.FOLLOW_108_in_ruleCollectionTypeIdentifier12511); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getSetKeyword_0()); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5514:2: kw= 'Bag' { kw=(Token)match(input,109,FollowSets000.FOLLOW_109_in_ruleCollectionTypeIdentifier12530); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getBagKeyword_1()); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5521:2: kw= 'Sequence' { kw=(Token)match(input,110,FollowSets000.FOLLOW_110_in_ruleCollectionTypeIdentifier12549); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getSequenceKeyword_2()); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5528:2: kw= 'Collection' { kw=(Token)match(input,111,FollowSets000.FOLLOW_111_in_ruleCollectionTypeIdentifier12568); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getCollectionKeyword_3()); } } break; case 5 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5535:2: kw= 'OrderedSet' { kw=(Token)match(input,112,FollowSets000.FOLLOW_112_in_ruleCollectionTypeIdentifier12587); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCollectionTypeIdentifierAccess().getOrderedSetKeyword_4()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleCollectionTypeIdentifier" // $ANTLR start "entryRuleCollectionTypeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5548:1: entryRuleCollectionTypeCS returns [EObject current=null] : iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF ; public final EObject entryRuleCollectionTypeCS() throws RecognitionException { EObject current = null; EObject iv_ruleCollectionTypeCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5549:2: (iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5550:2: iv_ruleCollectionTypeCS= ruleCollectionTypeCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionTypeCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_entryRuleCollectionTypeCS12627); iv_ruleCollectionTypeCS=ruleCollectionTypeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleCollectionTypeCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionTypeCS12637); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleCollectionTypeCS" // $ANTLR start "ruleCollectionTypeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5557:1: ruleCollectionTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? ) ; public final EObject ruleCollectionTypeCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; AntlrDatatypeRuleToken lv_name_0_0 = null; EObject lv_ownedType_2_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5560:28: ( ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5561:1: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5561:1: ( ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5561:2: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5561:2: ( (lv_name_0_0= ruleCollectionTypeIdentifier ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5562:1: (lv_name_0_0= ruleCollectionTypeIdentifier ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5562:1: (lv_name_0_0= ruleCollectionTypeIdentifier ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5563:3: lv_name_0_0= ruleCollectionTypeIdentifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getNameCollectionTypeIdentifierParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeIdentifier_in_ruleCollectionTypeCS12683); lv_name_0_0=ruleCollectionTypeIdentifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCollectionTypeCSRule()); } set( current, "name", lv_name_0_0, "CollectionTypeIdentifier"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5579:2: (otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' )? int alt141=2; int LA141_0 = input.LA(1); if ( (LA141_0==54) ) { alt141=1; } switch (alt141) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5579:4: otherlv_1= '(' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) otherlv_3= ')' { otherlv_1=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleCollectionTypeCS12696); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCollectionTypeCSAccess().getLeftParenthesisKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5583:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5584:1: (lv_ownedType_2_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5584:1: (lv_ownedType_2_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5585:3: lv_ownedType_2_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionTypeCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleCollectionTypeCS12717); lv_ownedType_2_0=ruleTypeExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCollectionTypeCSRule()); } set( current, "ownedType", lv_ownedType_2_0, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleCollectionTypeCS12729); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getCollectionTypeCSAccess().getRightParenthesisKeyword_1_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleCollectionTypeCS" // $ANTLR start "entryRuleMapTypeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5613:1: entryRuleMapTypeCS returns [EObject current=null] : iv_ruleMapTypeCS= ruleMapTypeCS EOF ; public final EObject entryRuleMapTypeCS() throws RecognitionException { EObject current = null; EObject iv_ruleMapTypeCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5614:2: (iv_ruleMapTypeCS= ruleMapTypeCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5615:2: iv_ruleMapTypeCS= ruleMapTypeCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMapTypeCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleMapTypeCS_in_entryRuleMapTypeCS12767); iv_ruleMapTypeCS=ruleMapTypeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMapTypeCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMapTypeCS12777); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMapTypeCS" // $ANTLR start "ruleMapTypeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5622: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5625:28: ( ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5626:1: ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5626:1: ( ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5626:2: ( (lv_name_0_0= 'Map' ) ) (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5626:2: ( (lv_name_0_0= 'Map' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5627:1: (lv_name_0_0= 'Map' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5627:1: (lv_name_0_0= 'Map' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5628:3: lv_name_0_0= 'Map' { lv_name_0_0=(Token)match(input,97,FollowSets000.FOLLOW_97_in_ruleMapTypeCS12820); 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"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5641:2: (otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' )? int alt142=2; int LA142_0 = input.LA(1); if ( (LA142_0==54) ) { alt142=1; } switch (alt142) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5641:4: otherlv_1= '(' ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) otherlv_3= ',' ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) otherlv_5= ')' { otherlv_1=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleMapTypeCS12846); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getMapTypeCSAccess().getLeftParenthesisKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5645:1: ( (lv_ownedKeyType_2_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5646:1: (lv_ownedKeyType_2_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5646:1: (lv_ownedKeyType_2_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5647:3: lv_ownedKeyType_2_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMapTypeCSAccess().getOwnedKeyTypeTypeExpCSParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleMapTypeCS12867); 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, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleMapTypeCS12879); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getMapTypeCSAccess().getCommaKeyword_1_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5667:1: ( (lv_ownedValueType_4_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5668:1: (lv_ownedValueType_4_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5668:1: (lv_ownedValueType_4_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5669:3: lv_ownedValueType_4_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMapTypeCSAccess().getOwnedValueTypeTypeExpCSParserRuleCall_1_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleMapTypeCS12900); 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, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } otherlv_5=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleMapTypeCS12912); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5697:1: entryRuleTupleTypeCS returns [EObject current=null] : iv_ruleTupleTypeCS= ruleTupleTypeCS EOF ; public final EObject entryRuleTupleTypeCS() throws RecognitionException { EObject current = null; EObject iv_ruleTupleTypeCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5698:2: (iv_ruleTupleTypeCS= ruleTupleTypeCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5699:2: iv_ruleTupleTypeCS= ruleTupleTypeCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTupleTypeCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_entryRuleTupleTypeCS12950); iv_ruleTupleTypeCS=ruleTupleTypeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTupleTypeCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleTypeCS12960); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTupleTypeCS" // $ANTLR start "ruleTupleTypeCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5706:1: ruleTupleTypeCS returns [EObject current=null] : ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) ; public final EObject ruleTupleTypeCS() throws RecognitionException { EObject current = null; Token lv_name_0_0=null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; EObject lv_ownedParts_2_0 = null; EObject lv_ownedParts_4_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5709:28: ( ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5710:1: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5710:1: ( ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5710:2: ( (lv_name_0_0= 'Tuple' ) ) (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5710:2: ( (lv_name_0_0= 'Tuple' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5711:1: (lv_name_0_0= 'Tuple' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5711:1: (lv_name_0_0= 'Tuple' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5712:3: lv_name_0_0= 'Tuple' { lv_name_0_0=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleTupleTypeCS13003); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_0_0, grammarAccess.getTupleTypeCSAccess().getNameTupleKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getTupleTypeCSRule()); } setWithLastConsumed(current, "name", lv_name_0_0, "Tuple"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5725:2: (otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' )? int alt145=2; int LA145_0 = input.LA(1); if ( (LA145_0==54) ) { alt145=1; } switch (alt145) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5725:4: otherlv_1= '(' ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? otherlv_5= ')' { otherlv_1=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleTupleTypeCS13029); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTupleTypeCSAccess().getLeftParenthesisKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5729:1: ( ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* )? int alt144=2; int LA144_0 = input.LA(1); if ( ((LA144_0>=RULE_SIMPLE_ID && LA144_0<=RULE_ESCAPED_ID)||LA144_0==17||(LA144_0>=19 && LA144_0<=53)||LA144_0==58||LA144_0==71||(LA144_0>=73 && LA144_0<=74)||LA144_0==79) ) { alt144=1; } switch (alt144) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5729:2: ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5729:2: ( (lv_ownedParts_2_0= ruleTuplePartCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5730:1: (lv_ownedParts_2_0= ruleTuplePartCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5730:1: (lv_ownedParts_2_0= ruleTuplePartCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5731:3: lv_ownedParts_2_0= ruleTuplePartCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS13051); lv_ownedParts_2_0=ruleTuplePartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTupleTypeCSRule()); } add( current, "ownedParts", lv_ownedParts_2_0, "TuplePartCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5747:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) )* loop143: do { int alt143=2; int LA143_0 = input.LA(1); if ( (LA143_0==59) ) { alt143=1; } switch (alt143) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5747:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) { otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleTupleTypeCS13064); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getTupleTypeCSAccess().getCommaKeyword_1_1_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5751:1: ( (lv_ownedParts_4_0= ruleTuplePartCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5752:1: (lv_ownedParts_4_0= ruleTuplePartCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5752:1: (lv_ownedParts_4_0= ruleTuplePartCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5753:3: lv_ownedParts_4_0= ruleTuplePartCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTupleTypeCSAccess().getOwnedPartsTuplePartCSParserRuleCall_1_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS13085); lv_ownedParts_4_0=ruleTuplePartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTupleTypeCSRule()); } add( current, "ownedParts", lv_ownedParts_4_0, "TuplePartCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop143; } } while (true); } break; } otherlv_5=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleTupleTypeCS13101); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getTupleTypeCSAccess().getRightParenthesisKeyword_1_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTupleTypeCS" // $ANTLR start "entryRuleTuplePartCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5781:1: entryRuleTuplePartCS returns [EObject current=null] : iv_ruleTuplePartCS= ruleTuplePartCS EOF ; public final EObject entryRuleTuplePartCS() throws RecognitionException { EObject current = null; EObject iv_ruleTuplePartCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5782:2: (iv_ruleTuplePartCS= ruleTuplePartCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5783:2: iv_ruleTuplePartCS= ruleTuplePartCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTuplePartCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTuplePartCS_in_entryRuleTuplePartCS13139); iv_ruleTuplePartCS=ruleTuplePartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTuplePartCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTuplePartCS13149); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTuplePartCS" // $ANTLR start "ruleTuplePartCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5790:1: ruleTuplePartCS returns [EObject current=null] : ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) ; public final EObject ruleTuplePartCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; AntlrDatatypeRuleToken lv_name_0_0 = null; EObject lv_ownedType_2_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5793:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5794:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5794:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5794:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5794:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5795:1: (lv_name_0_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5795:1: (lv_name_0_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5796:3: lv_name_0_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTuplePartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTuplePartCS13195); lv_name_0_0=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTuplePartCSRule()); } set( current, "name", lv_name_0_0, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleTuplePartCS13207); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTuplePartCSAccess().getColonKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5816:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5817:1: (lv_ownedType_2_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5817:1: (lv_ownedType_2_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5818:3: lv_ownedType_2_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTuplePartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleTuplePartCS13228); lv_ownedType_2_0=ruleTypeExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTuplePartCSRule()); } set( current, "ownedType", lv_ownedType_2_0, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTuplePartCS" // $ANTLR start "entryRuleCollectionLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5842:1: entryRuleCollectionLiteralExpCS returns [EObject current=null] : iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF ; public final EObject entryRuleCollectionLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleCollectionLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5843:2: (iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5844:2: iv_ruleCollectionLiteralExpCS= ruleCollectionLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_entryRuleCollectionLiteralExpCS13264); iv_ruleCollectionLiteralExpCS=ruleCollectionLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleCollectionLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionLiteralExpCS13274); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleCollectionLiteralExpCS" // $ANTLR start "ruleCollectionLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5851:1: ruleCollectionLiteralExpCS returns [EObject current=null] : ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) ; public final EObject ruleCollectionLiteralExpCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; EObject lv_ownedType_0_0 = null; EObject lv_ownedParts_2_0 = null; EObject lv_ownedParts_4_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5854:28: ( ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5855:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5855:1: ( ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5855:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? otherlv_5= '}' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5855:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5856:1: (lv_ownedType_0_0= ruleCollectionTypeCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5856:1: (lv_ownedType_0_0= ruleCollectionTypeCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5857:3: lv_ownedType_0_0= ruleCollectionTypeCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleCollectionLiteralExpCS13320); lv_ownedType_0_0=ruleCollectionTypeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule()); } set( current, "ownedType", lv_ownedType_0_0, "CollectionTypeCS"); afterParserOrEnumRuleCall(); } } } otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCollectionLiteralExpCS13332); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5877:1: ( ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* )? int alt147=2; int LA147_0 = input.LA(1); if ( ((LA147_0>=RULE_INT && LA147_0<=RULE_SINGLE_QUOTED_STRING)||(LA147_0>=RULE_SIMPLE_ID && LA147_0<=RULE_ESCAPED_ID)||(LA147_0>=17 && LA147_0<=54)||LA147_0==56||LA147_0==58||LA147_0==71||(LA147_0>=73 && LA147_0<=74)||LA147_0==79||(LA147_0>=82 && LA147_0<=83)||(LA147_0>=97 && LA147_0<=98)||(LA147_0>=100 && LA147_0<=112)||LA147_0==115||(LA147_0>=117 && LA147_0<=120)||LA147_0==127||(LA147_0>=132 && LA147_0<=133)) ) { alt147=1; } switch (alt147) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5877:2: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5877:2: ( (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5878:1: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5878:1: (lv_ownedParts_2_0= ruleCollectionLiteralPartCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5879:3: lv_ownedParts_2_0= ruleCollectionLiteralPartCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS13354); lv_ownedParts_2_0=ruleCollectionLiteralPartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule()); } add( current, "ownedParts", lv_ownedParts_2_0, "CollectionLiteralPartCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5895:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) )* loop146: do { int alt146=2; int LA146_0 = input.LA(1); if ( (LA146_0==59) ) { alt146=1; } switch (alt146) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5895:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) { otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleCollectionLiteralExpCS13367); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getCollectionLiteralExpCSAccess().getCommaKeyword_2_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5899:1: ( (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5900:1: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5900:1: (lv_ownedParts_4_0= ruleCollectionLiteralPartCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5901:3: lv_ownedParts_4_0= ruleCollectionLiteralPartCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionLiteralExpCSAccess().getOwnedPartsCollectionLiteralPartCSParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS13388); lv_ownedParts_4_0=ruleCollectionLiteralPartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCollectionLiteralExpCSRule()); } add( current, "ownedParts", lv_ownedParts_4_0, "CollectionLiteralPartCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop146; } } while (true); } break; } otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCollectionLiteralExpCS13404); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getCollectionLiteralExpCSAccess().getRightCurlyBracketKeyword_3()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleCollectionLiteralExpCS" // $ANTLR start "entryRuleCollectionLiteralPartCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5929:1: entryRuleCollectionLiteralPartCS returns [EObject current=null] : iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF ; public final EObject entryRuleCollectionLiteralPartCS() throws RecognitionException { EObject current = null; EObject iv_ruleCollectionLiteralPartCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5930:2: (iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5931:2: iv_ruleCollectionLiteralPartCS= ruleCollectionLiteralPartCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionLiteralPartCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralPartCS_in_entryRuleCollectionLiteralPartCS13440); iv_ruleCollectionLiteralPartCS=ruleCollectionLiteralPartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleCollectionLiteralPartCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionLiteralPartCS13450); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleCollectionLiteralPartCS" // $ANTLR start "ruleCollectionLiteralPartCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5938: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5941:28: ( ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5942:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5942:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) ) int alt149=2; alt149 = dfa149.predict(input); switch (alt149) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5942:2: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5942:2: ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5942:3: ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5942:3: ( (lv_ownedExpression_0_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5943:1: (lv_ownedExpression_0_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5943:1: (lv_ownedExpression_0_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5944:3: lv_ownedExpression_0_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionExpCSParserRuleCall_0_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS13497); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5960:2: (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? int alt148=2; int LA148_0 = input.LA(1); if ( (LA148_0==113) ) { alt148=1; } switch (alt148) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5960:4: otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) { otherlv_1=(Token)match(input,113,FollowSets000.FOLLOW_113_in_ruleCollectionLiteralPartCS13510); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCollectionLiteralPartCSAccess().getFullStopFullStopKeyword_0_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5964:1: ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5965:1: (lv_ownedLastExpression_2_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5965:1: (lv_ownedLastExpression_2_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5966:3: lv_ownedLastExpression_2_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedLastExpressionExpCSParserRuleCall_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS13531); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } break; } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5983:6: ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5983:6: ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5984:1: (lv_ownedExpression_3_0= rulePatternExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5984:1: (lv_ownedExpression_3_0= rulePatternExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:5985:3: lv_ownedExpression_3_0= rulePatternExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionLiteralPartCSAccess().getOwnedExpressionPatternExpCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleCollectionLiteralPartCS13561); 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, "PatternExpCS"); afterParserOrEnumRuleCall(); } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleCollectionLiteralPartCS" // $ANTLR start "entryRuleCollectionPatternCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6009:1: entryRuleCollectionPatternCS returns [EObject current=null] : iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF ; public final EObject entryRuleCollectionPatternCS() throws RecognitionException { EObject current = null; EObject iv_ruleCollectionPatternCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6010:2: (iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6011:2: iv_ruleCollectionPatternCS= ruleCollectionPatternCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionPatternCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionPatternCS_in_entryRuleCollectionPatternCS13597); iv_ruleCollectionPatternCS=ruleCollectionPatternCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleCollectionPatternCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCollectionPatternCS13607); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleCollectionPatternCS" // $ANTLR start "ruleCollectionPatternCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6018: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6021:28: ( ( ( (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= '}' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6022:1: ( ( (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= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6022:1: ( ( (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= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6022: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= '}' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6022:2: ( (lv_ownedType_0_0= ruleCollectionTypeCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6023:1: (lv_ownedType_0_0= ruleCollectionTypeCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6023:1: (lv_ownedType_0_0= ruleCollectionTypeCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6024:3: lv_ownedType_0_0= ruleCollectionTypeCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedTypeCollectionTypeCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleCollectionPatternCS13653); 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, "CollectionTypeCS"); afterParserOrEnumRuleCall(); } } } otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCollectionPatternCS13665); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCollectionPatternCSAccess().getLeftCurlyBracketKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6044:1: ( ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) )? int alt151=2; int LA151_0 = input.LA(1); if ( ((LA151_0>=RULE_SIMPLE_ID && LA151_0<=RULE_ESCAPED_ID)||LA151_0==17||(LA151_0>=19 && LA151_0<=53)||LA151_0==56||LA151_0==58||LA151_0==71||(LA151_0>=73 && LA151_0<=74)||LA151_0==79) ) { alt151=1; } switch (alt151) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6044:2: ( (lv_ownedParts_2_0= rulePatternExpCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6044:2: ( (lv_ownedParts_2_0= rulePatternExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6045:1: (lv_ownedParts_2_0= rulePatternExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6045:1: (lv_ownedParts_2_0= rulePatternExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6046:3: lv_ownedParts_2_0= rulePatternExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsPatternExpCSParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS13687); 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, "PatternExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6062:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) )* loop150: do { int alt150=2; int LA150_0 = input.LA(1); if ( (LA150_0==59) ) { alt150=1; } switch (alt150) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6062:4: otherlv_3= ',' ( (lv_ownedParts_4_0= rulePatternExpCS ) ) { otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleCollectionPatternCS13700); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getCollectionPatternCSAccess().getCommaKeyword_2_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6066:1: ( (lv_ownedParts_4_0= rulePatternExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6067:1: (lv_ownedParts_4_0= rulePatternExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6067:1: (lv_ownedParts_4_0= rulePatternExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6068:3: lv_ownedParts_4_0= rulePatternExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getOwnedPartsPatternExpCSParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS13721); 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, "PatternExpCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop150; } } while (true); // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6084:4: (otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6084:6: otherlv_5= '++' ( (lv_restVariableName_6_0= ruleIdentifier ) ) { otherlv_5=(Token)match(input,114,FollowSets000.FOLLOW_114_in_ruleCollectionPatternCS13736); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getCollectionPatternCSAccess().getPlusSignPlusSignKeyword_2_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6088:1: ( (lv_restVariableName_6_0= ruleIdentifier ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6089:1: (lv_restVariableName_6_0= ruleIdentifier ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6089:1: (lv_restVariableName_6_0= ruleIdentifier ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6090:3: lv_restVariableName_6_0= ruleIdentifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCollectionPatternCSAccess().getRestVariableNameIdentifierParserRuleCall_2_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_ruleCollectionPatternCS13757); 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, "Identifier"); afterParserOrEnumRuleCall(); } } } } } break; } otherlv_7=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCollectionPatternCS13772); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6118:1: entryRuleShadowPartCS returns [EObject current=null] : iv_ruleShadowPartCS= ruleShadowPartCS EOF ; public final EObject entryRuleShadowPartCS() throws RecognitionException { EObject current = null; EObject iv_ruleShadowPartCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6119:2: (iv_ruleShadowPartCS= ruleShadowPartCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6120:2: iv_ruleShadowPartCS= ruleShadowPartCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getShadowPartCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleShadowPartCS_in_entryRuleShadowPartCS13808); iv_ruleShadowPartCS=ruleShadowPartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleShadowPartCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleShadowPartCS13818); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleShadowPartCS" // $ANTLR start "ruleShadowPartCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6127:1: ruleShadowPartCS returns [EObject current=null] : ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) ; 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; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6130:28: ( ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6131:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6131:1: ( ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6131:2: ( ( ruleUnrestrictedName ) ) otherlv_1= '=' ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6131:2: ( ( ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6132:1: ( ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6132:1: ( ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6133:3: 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()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleShadowPartCS13870); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } otherlv_1=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleShadowPartCS13882); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getShadowPartCSAccess().getEqualsSignKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6153:1: ( ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6154:1: ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6154:1: ( (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6155:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6155:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS ) int alt152=2; alt152 = dfa152.predict(input); switch (alt152) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6156:3: lv_ownedInitExpression_2_1= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getShadowPartCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleShadowPartCS13905); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6171:8: lv_ownedInitExpression_2_2= rulePatternExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getShadowPartCSAccess().getOwnedInitExpressionPatternExpCSParserRuleCall_2_0_1()); } pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleShadowPartCS13924); 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, "PatternExpCS"); afterParserOrEnumRuleCall(); } } break; } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleShadowPartCS" // $ANTLR start "entryRulePatternExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6197:1: entryRulePatternExpCS returns [EObject current=null] : iv_rulePatternExpCS= rulePatternExpCS EOF ; public final EObject entryRulePatternExpCS() throws RecognitionException { EObject current = null; EObject iv_rulePatternExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6198:2: (iv_rulePatternExpCS= rulePatternExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6199:2: iv_rulePatternExpCS= rulePatternExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPatternExpCSRule()); } pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_entryRulePatternExpCS13963); iv_rulePatternExpCS=rulePatternExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePatternExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePatternExpCS13973); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePatternExpCS" // $ANTLR start "rulePatternExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6206: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6209:28: ( ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6210:1: ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6210:1: ( ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6210:2: ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? otherlv_1= ':' ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6210:2: ( (lv_patternVariableName_0_0= ruleUnrestrictedName ) )? int alt153=2; int LA153_0 = input.LA(1); if ( ((LA153_0>=RULE_SIMPLE_ID && LA153_0<=RULE_ESCAPED_ID)||LA153_0==17||(LA153_0>=19 && LA153_0<=53)||LA153_0==58||LA153_0==71||(LA153_0>=73 && LA153_0<=74)||LA153_0==79) ) { alt153=1; } switch (alt153) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6211:1: (lv_patternVariableName_0_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6211:1: (lv_patternVariableName_0_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6212:3: lv_patternVariableName_0_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPatternExpCSAccess().getPatternVariableNameUnrestrictedNameParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_rulePatternExpCS14019); 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, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } break; } otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_56_in_rulePatternExpCS14032); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getPatternExpCSAccess().getColonKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6232:1: ( (lv_ownedPatternType_2_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6233:1: (lv_ownedPatternType_2_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6233:1: (lv_ownedPatternType_2_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6234:3: lv_ownedPatternType_2_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPatternExpCSAccess().getOwnedPatternTypeTypeExpCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_rulePatternExpCS14053); 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, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "rulePatternExpCS" // $ANTLR start "entryRuleLambdaLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6258:1: entryRuleLambdaLiteralExpCS returns [EObject current=null] : iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF ; public final EObject entryRuleLambdaLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleLambdaLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6259:2: (iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6260:2: iv_ruleLambdaLiteralExpCS= ruleLambdaLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLambdaLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleLambdaLiteralExpCS_in_entryRuleLambdaLiteralExpCS14089); iv_ruleLambdaLiteralExpCS=ruleLambdaLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleLambdaLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLambdaLiteralExpCS14099); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleLambdaLiteralExpCS" // $ANTLR start "ruleLambdaLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6267: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6270:28: ( (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6271:1: (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6271:1: (otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6271:3: otherlv_0= 'Lambda' otherlv_1= '{' ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) otherlv_3= '}' { otherlv_0=(Token)match(input,115,FollowSets000.FOLLOW_115_in_ruleLambdaLiteralExpCS14136); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getLambdaLiteralExpCSAccess().getLambdaKeyword_0()); } otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleLambdaLiteralExpCS14148); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getLambdaLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6279:1: ( (lv_ownedExpressionCS_2_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6280:1: (lv_ownedExpressionCS_2_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6280:1: (lv_ownedExpressionCS_2_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6281:3: lv_ownedExpressionCS_2_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLambdaLiteralExpCSAccess().getOwnedExpressionCSExpCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLambdaLiteralExpCS14169); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleLambdaLiteralExpCS14181); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6309:1: entryRuleMapLiteralExpCS returns [EObject current=null] : iv_ruleMapLiteralExpCS= ruleMapLiteralExpCS EOF ; public final EObject entryRuleMapLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleMapLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6310:2: (iv_ruleMapLiteralExpCS= ruleMapLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6311:2: iv_ruleMapLiteralExpCS= ruleMapLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMapLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleMapLiteralExpCS_in_entryRuleMapLiteralExpCS14217); iv_ruleMapLiteralExpCS=ruleMapLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMapLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMapLiteralExpCS14227); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMapLiteralExpCS" // $ANTLR start "ruleMapLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6318: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6321:28: ( ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6322:1: ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6322:1: ( ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6322:2: ( (lv_ownedType_0_0= ruleMapTypeCS ) ) otherlv_1= '{' ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? otherlv_5= '}' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6322:2: ( (lv_ownedType_0_0= ruleMapTypeCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6323:1: (lv_ownedType_0_0= ruleMapTypeCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6323:1: (lv_ownedType_0_0= ruleMapTypeCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6324:3: lv_ownedType_0_0= ruleMapTypeCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMapLiteralExpCSAccess().getOwnedTypeMapTypeCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleMapTypeCS_in_ruleMapLiteralExpCS14273); 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, "MapTypeCS"); afterParserOrEnumRuleCall(); } } } otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleMapLiteralExpCS14285); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getMapLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6344:1: ( ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* )? int alt155=2; int LA155_0 = input.LA(1); if ( ((LA155_0>=RULE_INT && LA155_0<=RULE_SINGLE_QUOTED_STRING)||(LA155_0>=RULE_SIMPLE_ID && LA155_0<=RULE_ESCAPED_ID)||(LA155_0>=17 && LA155_0<=54)||LA155_0==58||LA155_0==71||(LA155_0>=73 && LA155_0<=74)||LA155_0==79||(LA155_0>=82 && LA155_0<=83)||(LA155_0>=97 && LA155_0<=98)||(LA155_0>=100 && LA155_0<=112)||LA155_0==115||(LA155_0>=117 && LA155_0<=120)||LA155_0==127||(LA155_0>=132 && LA155_0<=133)) ) { alt155=1; } switch (alt155) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6344:2: ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6344:2: ( (lv_ownedParts_2_0= ruleMapLiteralPartCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6345:1: (lv_ownedParts_2_0= ruleMapLiteralPartCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6345:1: (lv_ownedParts_2_0= ruleMapLiteralPartCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6346:3: lv_ownedParts_2_0= ruleMapLiteralPartCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMapLiteralExpCSAccess().getOwnedPartsMapLiteralPartCSParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleMapLiteralPartCS_in_ruleMapLiteralExpCS14307); 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, "MapLiteralPartCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6362:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) )* loop154: do { int alt154=2; int LA154_0 = input.LA(1); if ( (LA154_0==59) ) { alt154=1; } switch (alt154) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6362:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) { otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleMapLiteralExpCS14320); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getMapLiteralExpCSAccess().getCommaKeyword_2_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6366:1: ( (lv_ownedParts_4_0= ruleMapLiteralPartCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6367:1: (lv_ownedParts_4_0= ruleMapLiteralPartCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6367:1: (lv_ownedParts_4_0= ruleMapLiteralPartCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6368:3: lv_ownedParts_4_0= ruleMapLiteralPartCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMapLiteralExpCSAccess().getOwnedPartsMapLiteralPartCSParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleMapLiteralPartCS_in_ruleMapLiteralExpCS14341); 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, "MapLiteralPartCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop154; } } while (true); } break; } otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleMapLiteralExpCS14357); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6396:1: entryRuleMapLiteralPartCS returns [EObject current=null] : iv_ruleMapLiteralPartCS= ruleMapLiteralPartCS EOF ; public final EObject entryRuleMapLiteralPartCS() throws RecognitionException { EObject current = null; EObject iv_ruleMapLiteralPartCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6397:2: (iv_ruleMapLiteralPartCS= ruleMapLiteralPartCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6398:2: iv_ruleMapLiteralPartCS= ruleMapLiteralPartCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMapLiteralPartCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleMapLiteralPartCS_in_entryRuleMapLiteralPartCS14393); iv_ruleMapLiteralPartCS=ruleMapLiteralPartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMapLiteralPartCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMapLiteralPartCS14403); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMapLiteralPartCS" // $ANTLR start "ruleMapLiteralPartCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6405: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6408:28: ( ( ( (lv_ownedKey_0_0= ruleExpCS ) ) otherlv_1= '<-' ( (lv_ownedValue_2_0= ruleExpCS ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6409:1: ( ( (lv_ownedKey_0_0= ruleExpCS ) ) otherlv_1= '<-' ( (lv_ownedValue_2_0= ruleExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6409:1: ( ( (lv_ownedKey_0_0= ruleExpCS ) ) otherlv_1= '<-' ( (lv_ownedValue_2_0= ruleExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6409:2: ( (lv_ownedKey_0_0= ruleExpCS ) ) otherlv_1= '<-' ( (lv_ownedValue_2_0= ruleExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6409:2: ( (lv_ownedKey_0_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6410:1: (lv_ownedKey_0_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6410:1: (lv_ownedKey_0_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6411:3: lv_ownedKey_0_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMapLiteralPartCSAccess().getOwnedKeyExpCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleMapLiteralPartCS14449); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } otherlv_1=(Token)match(input,116,FollowSets000.FOLLOW_116_in_ruleMapLiteralPartCS14461); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getMapLiteralPartCSAccess().getLessThanSignHyphenMinusKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6431:1: ( (lv_ownedValue_2_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6432:1: (lv_ownedValue_2_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6432:1: (lv_ownedValue_2_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6433:3: lv_ownedValue_2_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMapLiteralPartCSAccess().getOwnedValueExpCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleMapLiteralPartCS14482); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleMapLiteralPartCS" // $ANTLR start "entryRulePrimitiveLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6457:1: entryRulePrimitiveLiteralExpCS returns [EObject current=null] : iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF ; public final EObject entryRulePrimitiveLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_rulePrimitiveLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6458:2: (iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6459:2: iv_rulePrimitiveLiteralExpCS= rulePrimitiveLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_entryRulePrimitiveLiteralExpCS14518); iv_rulePrimitiveLiteralExpCS=rulePrimitiveLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePrimitiveLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveLiteralExpCS14528); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePrimitiveLiteralExpCS" // $ANTLR start "rulePrimitiveLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6466:1: rulePrimitiveLiteralExpCS returns [EObject current=null] : (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) ; public final EObject rulePrimitiveLiteralExpCS() throws RecognitionException { EObject current = null; EObject this_NumberLiteralExpCS_0 = null; EObject this_StringLiteralExpCS_1 = null; EObject this_BooleanLiteralExpCS_2 = null; EObject this_UnlimitedNaturalLiteralExpCS_3 = null; EObject this_InvalidLiteralExpCS_4 = null; EObject this_NullLiteralExpCS_5 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6469:28: ( (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6470:1: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6470:1: (this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS | this_StringLiteralExpCS_1= ruleStringLiteralExpCS | this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS | this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS | this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS | this_NullLiteralExpCS_5= ruleNullLiteralExpCS ) int alt156=6; switch ( input.LA(1) ) { case RULE_INT: { alt156=1; } break; case RULE_SINGLE_QUOTED_STRING: { alt156=2; } break; case 117: case 118: { alt156=3; } break; case 83: { alt156=4; } break; case 119: { alt156=5; } break; case 120: { alt156=6; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 156, 0, input); throw nvae; } switch (alt156) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6471:2: this_NumberLiteralExpCS_0= ruleNumberLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNumberLiteralExpCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_rulePrimitiveLiteralExpCS14578); this_NumberLiteralExpCS_0=ruleNumberLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_NumberLiteralExpCS_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6484:2: this_StringLiteralExpCS_1= ruleStringLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getStringLiteralExpCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_rulePrimitiveLiteralExpCS14608); this_StringLiteralExpCS_1=ruleStringLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_StringLiteralExpCS_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6497:2: this_BooleanLiteralExpCS_2= ruleBooleanLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getBooleanLiteralExpCSParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_rulePrimitiveLiteralExpCS14638); this_BooleanLiteralExpCS_2=ruleBooleanLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_BooleanLiteralExpCS_2; afterParserOrEnumRuleCall(); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6510:2: this_UnlimitedNaturalLiteralExpCS_3= ruleUnlimitedNaturalLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rulePrimitiveLiteralExpCS14668); this_UnlimitedNaturalLiteralExpCS_3=ruleUnlimitedNaturalLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_UnlimitedNaturalLiteralExpCS_3; afterParserOrEnumRuleCall(); } } break; case 5 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6523:2: this_InvalidLiteralExpCS_4= ruleInvalidLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getInvalidLiteralExpCSParserRuleCall_4()); } pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_rulePrimitiveLiteralExpCS14698); this_InvalidLiteralExpCS_4=ruleInvalidLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_InvalidLiteralExpCS_4; afterParserOrEnumRuleCall(); } } break; case 6 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6536:2: this_NullLiteralExpCS_5= ruleNullLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimitiveLiteralExpCSAccess().getNullLiteralExpCSParserRuleCall_5()); } pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_rulePrimitiveLiteralExpCS14728); this_NullLiteralExpCS_5=ruleNullLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_NullLiteralExpCS_5; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "rulePrimitiveLiteralExpCS" // $ANTLR start "entryRuleTupleLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6555:1: entryRuleTupleLiteralExpCS returns [EObject current=null] : iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF ; public final EObject entryRuleTupleLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleTupleLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6556:2: (iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6557:2: iv_ruleTupleLiteralExpCS= ruleTupleLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTupleLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_entryRuleTupleLiteralExpCS14763); iv_ruleTupleLiteralExpCS=ruleTupleLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTupleLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleLiteralExpCS14773); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTupleLiteralExpCS" // $ANTLR start "ruleTupleLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6564:1: ruleTupleLiteralExpCS returns [EObject current=null] : (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) ; public final EObject ruleTupleLiteralExpCS() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; EObject lv_ownedParts_2_0 = null; EObject lv_ownedParts_4_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6567:28: ( (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6568:1: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6568:1: (otherlv_0= 'Tuple' otherlv_1= '{' ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* otherlv_5= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6568: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,98,FollowSets000.FOLLOW_98_in_ruleTupleLiteralExpCS14810); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getTupleLiteralExpCSAccess().getTupleKeyword_0()); } otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTupleLiteralExpCS14822); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTupleLiteralExpCSAccess().getLeftCurlyBracketKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6576:1: ( (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6577:1: (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6577:1: (lv_ownedParts_2_0= ruleTupleLiteralPartCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6578:3: lv_ownedParts_2_0= ruleTupleLiteralPartCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS14843); lv_ownedParts_2_0=ruleTupleLiteralPartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTupleLiteralExpCSRule()); } add( current, "ownedParts", lv_ownedParts_2_0, "TupleLiteralPartCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6594:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) )* loop157: do { int alt157=2; int LA157_0 = input.LA(1); if ( (LA157_0==59) ) { alt157=1; } switch (alt157) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6594:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) { otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleTupleLiteralExpCS14856); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getTupleLiteralExpCSAccess().getCommaKeyword_3_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6598:1: ( (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6599:1: (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6599:1: (lv_ownedParts_4_0= ruleTupleLiteralPartCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6600:3: lv_ownedParts_4_0= ruleTupleLiteralPartCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTupleLiteralExpCSAccess().getOwnedPartsTupleLiteralPartCSParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS14877); lv_ownedParts_4_0=ruleTupleLiteralPartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTupleLiteralExpCSRule()); } add( current, "ownedParts", lv_ownedParts_4_0, "TupleLiteralPartCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop157; } } while (true); otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleTupleLiteralExpCS14891); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getTupleLiteralExpCSAccess().getRightCurlyBracketKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTupleLiteralExpCS" // $ANTLR start "entryRuleTupleLiteralPartCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6628:1: entryRuleTupleLiteralPartCS returns [EObject current=null] : iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF ; public final EObject entryRuleTupleLiteralPartCS() throws RecognitionException { EObject current = null; EObject iv_ruleTupleLiteralPartCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6629:2: (iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6630:2: iv_ruleTupleLiteralPartCS= ruleTupleLiteralPartCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTupleLiteralPartCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralPartCS_in_entryRuleTupleLiteralPartCS14927); iv_ruleTupleLiteralPartCS=ruleTupleLiteralPartCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTupleLiteralPartCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTupleLiteralPartCS14937); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTupleLiteralPartCS" // $ANTLR start "ruleTupleLiteralPartCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6637: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6640:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6641:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6641:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6641:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6641:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6642:1: (lv_name_0_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6642:1: (lv_name_0_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6643:3: lv_name_0_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTupleLiteralPartCS14983); lv_name_0_0=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule()); } set( current, "name", lv_name_0_0, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6659:2: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) )? int alt158=2; int LA158_0 = input.LA(1); if ( (LA158_0==56) ) { alt158=1; } switch (alt158) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6659:4: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) { otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleTupleLiteralPartCS14996); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTupleLiteralPartCSAccess().getColonKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6663:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6664:1: (lv_ownedType_2_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6664:1: (lv_ownedType_2_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6665:3: lv_ownedType_2_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleTupleLiteralPartCS15017); lv_ownedType_2_0=ruleTypeExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTupleLiteralPartCSRule()); } set( current, "ownedType", lv_ownedType_2_0, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_3=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleTupleLiteralPartCS15031); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getTupleLiteralPartCSAccess().getEqualsSignKeyword_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6685:1: ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6686:1: (lv_ownedInitExpression_4_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6686:1: (lv_ownedInitExpression_4_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6687:3: lv_ownedInitExpression_4_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTupleLiteralPartCSAccess().getOwnedInitExpressionExpCSParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleTupleLiteralPartCS15052); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTupleLiteralPartCS" // $ANTLR start "entryRuleNumberLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6711:1: entryRuleNumberLiteralExpCS returns [EObject current=null] : iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF ; public final EObject entryRuleNumberLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleNumberLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6712:2: (iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6713:2: iv_ruleNumberLiteralExpCS= ruleNumberLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNumberLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleNumberLiteralExpCS_in_entryRuleNumberLiteralExpCS15088); iv_ruleNumberLiteralExpCS=ruleNumberLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNumberLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNumberLiteralExpCS15098); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNumberLiteralExpCS" // $ANTLR start "ruleNumberLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6720: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6723:28: ( ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6724:1: ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6724:1: ( (lv_symbol_0_0= ruleNUMBER_LITERAL ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6725:1: (lv_symbol_0_0= ruleNUMBER_LITERAL ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6725:1: (lv_symbol_0_0= ruleNUMBER_LITERAL ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6726:3: lv_symbol_0_0= ruleNUMBER_LITERAL { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNumberLiteralExpCSAccess().getSymbolNUMBER_LITERALParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleNUMBER_LITERAL_in_ruleNumberLiteralExpCS15143); 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, "NUMBER_LITERAL"); afterParserOrEnumRuleCall(); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleNumberLiteralExpCS" // $ANTLR start "entryRuleStringLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6750:1: entryRuleStringLiteralExpCS returns [EObject current=null] : iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF ; public final EObject entryRuleStringLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleStringLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6751:2: (iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6752:2: iv_ruleStringLiteralExpCS= ruleStringLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStringLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleStringLiteralExpCS_in_entryRuleStringLiteralExpCS15178); iv_ruleStringLiteralExpCS=ruleStringLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStringLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteralExpCS15188); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStringLiteralExpCS" // $ANTLR start "ruleStringLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6759: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6762:28: ( ( (lv_segments_0_0= ruleStringLiteral ) )+ ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6763:1: ( (lv_segments_0_0= ruleStringLiteral ) )+ { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6763:1: ( (lv_segments_0_0= ruleStringLiteral ) )+ int cnt159=0; loop159: do { int alt159=2; int LA159_0 = input.LA(1); if ( (LA159_0==RULE_SINGLE_QUOTED_STRING) ) { alt159=1; } switch (alt159) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6764:1: (lv_segments_0_0= ruleStringLiteral ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6764:1: (lv_segments_0_0= ruleStringLiteral ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6765:3: lv_segments_0_0= ruleStringLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStringLiteralExpCSAccess().getSegmentsStringLiteralParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleStringLiteralExpCS15233); 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, "StringLiteral"); afterParserOrEnumRuleCall(); } } } break; default : if ( cnt159 >= 1 ) break loop159; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(159, input); throw eee; } cnt159++; } while (true); } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStringLiteralExpCS" // $ANTLR start "entryRuleBooleanLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6789:1: entryRuleBooleanLiteralExpCS returns [EObject current=null] : iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF ; public final EObject entryRuleBooleanLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleBooleanLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6790:2: (iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6791:2: iv_ruleBooleanLiteralExpCS= ruleBooleanLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBooleanLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleBooleanLiteralExpCS_in_entryRuleBooleanLiteralExpCS15269); iv_ruleBooleanLiteralExpCS=ruleBooleanLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleBooleanLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanLiteralExpCS15279); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleBooleanLiteralExpCS" // $ANTLR start "ruleBooleanLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6798: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6801:28: ( ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6802:1: ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6802:1: ( ( (lv_symbol_0_0= 'true' ) ) | ( (lv_symbol_1_0= 'false' ) ) ) int alt160=2; int LA160_0 = input.LA(1); if ( (LA160_0==117) ) { alt160=1; } else if ( (LA160_0==118) ) { alt160=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 160, 0, input); throw nvae; } switch (alt160) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6802:2: ( (lv_symbol_0_0= 'true' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6802:2: ( (lv_symbol_0_0= 'true' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6803:1: (lv_symbol_0_0= 'true' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6803:1: (lv_symbol_0_0= 'true' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6804:3: lv_symbol_0_0= 'true' { lv_symbol_0_0=(Token)match(input,117,FollowSets000.FOLLOW_117_in_ruleBooleanLiteralExpCS15322); 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6818:6: ( (lv_symbol_1_0= 'false' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6818:6: ( (lv_symbol_1_0= 'false' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6819:1: (lv_symbol_1_0= 'false' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6819:1: (lv_symbol_1_0= 'false' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6820:3: lv_symbol_1_0= 'false' { lv_symbol_1_0=(Token)match(input,118,FollowSets000.FOLLOW_118_in_ruleBooleanLiteralExpCS15359); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6841:1: entryRuleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF ; public final EObject entryRuleUnlimitedNaturalLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleUnlimitedNaturalLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6842:2: (iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6843:2: iv_ruleUnlimitedNaturalLiteralExpCS= ruleUnlimitedNaturalLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getUnlimitedNaturalLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_entryRuleUnlimitedNaturalLiteralExpCS15408); iv_ruleUnlimitedNaturalLiteralExpCS=ruleUnlimitedNaturalLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleUnlimitedNaturalLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUnlimitedNaturalLiteralExpCS15418); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleUnlimitedNaturalLiteralExpCS" // $ANTLR start "ruleUnlimitedNaturalLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6850:1: ruleUnlimitedNaturalLiteralExpCS returns [EObject current=null] : ( () otherlv_1= '*' ) ; public final EObject ruleUnlimitedNaturalLiteralExpCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6853:28: ( ( () otherlv_1= '*' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6854:1: ( () otherlv_1= '*' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6854:1: ( () otherlv_1= '*' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6854:2: () otherlv_1= '*' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6854:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6855:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getUnlimitedNaturalLiteralExpCSAction_0(), current); } } otherlv_1=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleUnlimitedNaturalLiteralExpCS15467); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getUnlimitedNaturalLiteralExpCSAccess().getAsteriskKeyword_1()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleUnlimitedNaturalLiteralExpCS" // $ANTLR start "entryRuleInvalidLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6875:1: entryRuleInvalidLiteralExpCS returns [EObject current=null] : iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF ; public final EObject entryRuleInvalidLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleInvalidLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6876:2: (iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6877:2: iv_ruleInvalidLiteralExpCS= ruleInvalidLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInvalidLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleInvalidLiteralExpCS_in_entryRuleInvalidLiteralExpCS15503); iv_ruleInvalidLiteralExpCS=ruleInvalidLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleInvalidLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInvalidLiteralExpCS15513); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleInvalidLiteralExpCS" // $ANTLR start "ruleInvalidLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6884:1: ruleInvalidLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'invalid' ) ; public final EObject ruleInvalidLiteralExpCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6887:28: ( ( () otherlv_1= 'invalid' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6888:1: ( () otherlv_1= 'invalid' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6888:1: ( () otherlv_1= 'invalid' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6888:2: () otherlv_1= 'invalid' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6888:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6889:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getInvalidLiteralExpCSAccess().getInvalidLiteralExpCSAction_0(), current); } } otherlv_1=(Token)match(input,119,FollowSets000.FOLLOW_119_in_ruleInvalidLiteralExpCS15562); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getInvalidLiteralExpCSAccess().getInvalidKeyword_1()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleInvalidLiteralExpCS" // $ANTLR start "entryRuleNullLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6909:1: entryRuleNullLiteralExpCS returns [EObject current=null] : iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF ; public final EObject entryRuleNullLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleNullLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6910:2: (iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6911:2: iv_ruleNullLiteralExpCS= ruleNullLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNullLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleNullLiteralExpCS_in_entryRuleNullLiteralExpCS15598); iv_ruleNullLiteralExpCS=ruleNullLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNullLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNullLiteralExpCS15608); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNullLiteralExpCS" // $ANTLR start "ruleNullLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6918:1: ruleNullLiteralExpCS returns [EObject current=null] : ( () otherlv_1= 'null' ) ; public final EObject ruleNullLiteralExpCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6921:28: ( ( () otherlv_1= 'null' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6922:1: ( () otherlv_1= 'null' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6922:1: ( () otherlv_1= 'null' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6922:2: () otherlv_1= 'null' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6922:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6923:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getNullLiteralExpCSAccess().getNullLiteralExpCSAction_0(), current); } } otherlv_1=(Token)match(input,120,FollowSets000.FOLLOW_120_in_ruleNullLiteralExpCS15657); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getNullLiteralExpCSAccess().getNullKeyword_1()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleNullLiteralExpCS" // $ANTLR start "entryRuleTypeLiteralCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6943:1: entryRuleTypeLiteralCS returns [EObject current=null] : iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF ; public final EObject entryRuleTypeLiteralCS() throws RecognitionException { EObject current = null; EObject iv_ruleTypeLiteralCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6944:2: (iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6945:2: iv_ruleTypeLiteralCS= ruleTypeLiteralCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeLiteralCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_entryRuleTypeLiteralCS15693); iv_ruleTypeLiteralCS=ruleTypeLiteralCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypeLiteralCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralCS15703); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypeLiteralCS" // $ANTLR start "ruleTypeLiteralCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6952: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6955:28: ( (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6956:1: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6956:1: (this_PrimitiveTypeCS_0= rulePrimitiveTypeCS | this_CollectionTypeCS_1= ruleCollectionTypeCS | this_MapTypeCS_2= ruleMapTypeCS | this_TupleTypeCS_3= ruleTupleTypeCS ) int alt161=4; switch ( input.LA(1) ) { case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: { alt161=1; } break; case 108: case 109: case 110: case 111: case 112: { alt161=2; } break; case 97: { alt161=3; } break; case 98: { alt161=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 161, 0, input); throw nvae; } switch (alt161) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6957:2: this_PrimitiveTypeCS_0= rulePrimitiveTypeCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getPrimitiveTypeCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_rulePrimitiveTypeCS_in_ruleTypeLiteralCS15753); this_PrimitiveTypeCS_0=rulePrimitiveTypeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_PrimitiveTypeCS_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6970:2: this_CollectionTypeCS_1= ruleCollectionTypeCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getCollectionTypeCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionTypeCS_in_ruleTypeLiteralCS15783); this_CollectionTypeCS_1=ruleCollectionTypeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_CollectionTypeCS_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6983:2: this_MapTypeCS_2= ruleMapTypeCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getMapTypeCSParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleMapTypeCS_in_ruleTypeLiteralCS15813); this_MapTypeCS_2=ruleMapTypeCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_MapTypeCS_2; afterParserOrEnumRuleCall(); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:6996:2: this_TupleTypeCS_3= ruleTupleTypeCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeLiteralCSAccess().getTupleTypeCSParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_ruleTupleTypeCS_in_ruleTypeLiteralCS15843); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7015:1: entryRuleTypeLiteralWithMultiplicityCS returns [EObject current=null] : iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF ; public final EObject entryRuleTypeLiteralWithMultiplicityCS() throws RecognitionException { EObject current = null; EObject iv_ruleTypeLiteralWithMultiplicityCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7016:2: (iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7017:2: iv_ruleTypeLiteralWithMultiplicityCS= ruleTypeLiteralWithMultiplicityCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_entryRuleTypeLiteralWithMultiplicityCS15878); iv_ruleTypeLiteralWithMultiplicityCS=ruleTypeLiteralWithMultiplicityCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypeLiteralWithMultiplicityCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralWithMultiplicityCS15888); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypeLiteralWithMultiplicityCS" // $ANTLR start "ruleTypeLiteralWithMultiplicityCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7024: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7027:28: ( (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7028:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7028:1: (this_TypeLiteralCS_0= ruleTypeLiteralCS ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7029:2: 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_ruleTypeLiteralCS_in_ruleTypeLiteralWithMultiplicityCS15938); this_TypeLiteralCS_0=ruleTypeLiteralCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TypeLiteralCS_0; afterParserOrEnumRuleCall(); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7040:1: ( (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) )? int alt162=2; int LA162_0 = input.LA(1); if ( (LA162_0==123) ) { alt162=1; } switch (alt162) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7041:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7041:1: (lv_ownedMultiplicity_1_0= ruleMultiplicityCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7042:3: lv_ownedMultiplicity_1_0= ruleMultiplicityCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeLiteralWithMultiplicityCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTypeLiteralWithMultiplicityCS15958); 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, "MultiplicityCS"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTypeLiteralWithMultiplicityCS" // $ANTLR start "entryRuleTypeLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7066:1: entryRuleTypeLiteralExpCS returns [EObject current=null] : iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF ; public final EObject entryRuleTypeLiteralExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleTypeLiteralExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7067:2: (iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7068:2: iv_ruleTypeLiteralExpCS= ruleTypeLiteralExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeLiteralExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_entryRuleTypeLiteralExpCS15995); iv_ruleTypeLiteralExpCS=ruleTypeLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypeLiteralExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeLiteralExpCS16005); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypeLiteralExpCS" // $ANTLR start "ruleTypeLiteralExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7075: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7078:28: ( ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7079:1: ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7079:1: ( (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7080:1: (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7080:1: (lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7081:3: lv_ownedType_0_0= ruleTypeLiteralWithMultiplicityCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeLiteralExpCSAccess().getOwnedTypeTypeLiteralWithMultiplicityCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_ruleTypeLiteralExpCS16050); 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, "TypeLiteralWithMultiplicityCS"); afterParserOrEnumRuleCall(); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTypeLiteralExpCS" // $ANTLR start "entryRuleTypeNameExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7105:1: entryRuleTypeNameExpCS returns [EObject current=null] : iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF ; public final EObject entryRuleTypeNameExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleTypeNameExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7106:2: (iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7107:2: iv_ruleTypeNameExpCS= ruleTypeNameExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeNameExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_entryRuleTypeNameExpCS16085); iv_ruleTypeNameExpCS=ruleTypeNameExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypeNameExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeNameExpCS16095); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypeNameExpCS" // $ANTLR start "ruleTypeNameExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7114: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7117:28: ( ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7118:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7118:1: ( ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7118:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7118:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7119:1: (lv_ownedPathName_0_0= rulePathNameCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7119:1: (lv_ownedPathName_0_0= rulePathNameCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7120:3: lv_ownedPathName_0_0= rulePathNameCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleTypeNameExpCS16141); 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, "PathNameCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7136:2: ( ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? )? int alt164=2; int LA164_0 = input.LA(1); if ( (LA164_0==60) ) { alt164=1; } switch (alt164) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7136:3: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7136:3: ( (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7137:1: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7137:1: (lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7138:3: lv_ownedCurlyBracketedClause_1_0= ruleCurlyBracketedClauseCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleCurlyBracketedClauseCS_in_ruleTypeNameExpCS16163); 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, "CurlyBracketedClauseCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7154:2: (otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' )? int alt163=2; int LA163_0 = input.LA(1); if ( (LA163_0==60) ) { alt163=1; } switch (alt163) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7154:4: otherlv_2= '{' ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) otherlv_4= '}' { otherlv_2=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleTypeNameExpCS16176); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getTypeNameExpCSAccess().getLeftCurlyBracketKeyword_1_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7158:1: ( (lv_ownedPatternGuard_3_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7159:1: (lv_ownedPatternGuard_3_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7159:1: (lv_ownedPatternGuard_3_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7160:3: lv_ownedPatternGuard_3_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeNameExpCSAccess().getOwnedPatternGuardExpCSParserRuleCall_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleTypeNameExpCS16197); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleTypeNameExpCS16209); 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 "entryRuleTypeExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7188:1: entryRuleTypeExpCS returns [EObject current=null] : iv_ruleTypeExpCS= ruleTypeExpCS EOF ; public final EObject entryRuleTypeExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleTypeExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7189:2: (iv_ruleTypeExpCS= ruleTypeExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7190:2: iv_ruleTypeExpCS= ruleTypeExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_entryRuleTypeExpCS16249); iv_ruleTypeExpCS=ruleTypeExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypeExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeExpCS16259); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypeExpCS" // $ANTLR start "ruleTypeExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7197:1: ruleTypeExpCS returns [EObject current=null] : ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) ; public final EObject ruleTypeExpCS() throws RecognitionException { EObject current = null; EObject this_TypeNameExpCS_0 = null; EObject this_TypeLiteralCS_1 = null; EObject this_CollectionPatternCS_2 = null; EObject lv_ownedMultiplicity_3_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7200:28: ( ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7201:1: ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7201:1: ( (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7201:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7201:2: (this_TypeNameExpCS_0= ruleTypeNameExpCS | this_TypeLiteralCS_1= ruleTypeLiteralCS | this_CollectionPatternCS_2= ruleCollectionPatternCS ) int alt165=3; alt165 = dfa165.predict(input); switch (alt165) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7202:2: this_TypeNameExpCS_0= ruleTypeNameExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeExpCSAccess().getTypeNameExpCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeNameExpCS_in_ruleTypeExpCS16310); this_TypeNameExpCS_0=ruleTypeNameExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TypeNameExpCS_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7215:2: this_TypeLiteralCS_1= ruleTypeLiteralCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeExpCSAccess().getTypeLiteralCSParserRuleCall_0_1()); } pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_ruleTypeExpCS16340); this_TypeLiteralCS_1=ruleTypeLiteralCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TypeLiteralCS_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7228:2: this_CollectionPatternCS_2= ruleCollectionPatternCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeExpCSAccess().getCollectionPatternCSParserRuleCall_0_2()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionPatternCS_in_ruleTypeExpCS16370); this_CollectionPatternCS_2=ruleCollectionPatternCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_CollectionPatternCS_2; afterParserOrEnumRuleCall(); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7239:2: ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? int alt166=2; int LA166_0 = input.LA(1); if ( (LA166_0==123) ) { alt166=1; } switch (alt166) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7240:1: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7240:1: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7241:3: lv_ownedMultiplicity_3_0= ruleMultiplicityCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeExpCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTypeExpCS16391); lv_ownedMultiplicity_3_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_3_0, "MultiplicityCS"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTypeExpCS" // $ANTLR start "entryRuleExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7265:1: entryRuleExpCS returns [EObject current=null] : iv_ruleExpCS= ruleExpCS EOF ; public final EObject entryRuleExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7266:2: (iv_ruleExpCS= ruleExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7267:2: iv_ruleExpCS= ruleExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_entryRuleExpCS16428); iv_ruleExpCS=ruleExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpCS16438); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpCS" // $ANTLR start "ruleExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7274: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7277:28: ( ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7278:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7278:1: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) | this_PrefixedLetExpCS_4= rulePrefixedLetExpCS ) int alt168=2; alt168 = dfa168.predict(input); switch (alt168) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7278:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7278:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7279:2: 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_rulePrefixedPrimaryExpCS_in_ruleExpCS16489); this_PrefixedPrimaryExpCS_0=rulePrefixedPrimaryExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_PrefixedPrimaryExpCS_0; afterParserOrEnumRuleCall(); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7290:1: ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? int alt167=2; int LA167_0 = input.LA(1); if ( (LA167_0==18||LA167_0==62||(LA167_0>=80 && LA167_0<=81)||(LA167_0>=83 && LA167_0<=96)) ) { alt167=1; } switch (alt167) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7290:2: () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7290:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7291:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpCSAccess().getInfixExpCSOwnedLeftAction_0_1_0(), current); } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7299:2: ( (lv_name_2_0= ruleBinaryOperatorName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7300:1: (lv_name_2_0= ruleBinaryOperatorName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7300:1: (lv_name_2_0= ruleBinaryOperatorName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7301:3: lv_name_2_0= ruleBinaryOperatorName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpCSAccess().getNameBinaryOperatorNameParserRuleCall_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorName_in_ruleExpCS16522); 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, "BinaryOperatorName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7317:2: ( (lv_ownedRight_3_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7318:1: (lv_ownedRight_3_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7318:1: (lv_ownedRight_3_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7319:3: lv_ownedRight_3_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpCSAccess().getOwnedRightExpCSParserRuleCall_0_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleExpCS16543); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } break; } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7337:2: this_PrefixedLetExpCS_4= rulePrefixedLetExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpCSAccess().getPrefixedLetExpCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_ruleExpCS16577); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7356:1: entryRulePrefixedLetExpCS returns [EObject current=null] : iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF ; public final EObject entryRulePrefixedLetExpCS() throws RecognitionException { EObject current = null; EObject iv_rulePrefixedLetExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7357:2: (iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7358:2: iv_rulePrefixedLetExpCS= rulePrefixedLetExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrefixedLetExpCSRule()); } pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_entryRulePrefixedLetExpCS16612); iv_rulePrefixedLetExpCS=rulePrefixedLetExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePrefixedLetExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixedLetExpCS16622); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePrefixedLetExpCS" // $ANTLR start "rulePrefixedLetExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7365: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7368:28: ( ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7369:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7369:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) | this_LetExpCS_3= ruleLetExpCS ) int alt169=2; int LA169_0 = input.LA(1); if ( (LA169_0==18||LA169_0==82) ) { alt169=1; } else if ( (LA169_0==132) ) { alt169=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 169, 0, input); throw nvae; } switch (alt169) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7369:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7369:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7369:3: () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7369:3: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7370:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getPrefixedLetExpCSAccess().getPrefixExpCSAction_0_0(), current); } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7378:2: ( (lv_name_1_0= ruleUnaryOperatorName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7379:1: (lv_name_1_0= ruleUnaryOperatorName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7379:1: (lv_name_1_0= ruleUnaryOperatorName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7380:3: lv_name_1_0= ruleUnaryOperatorName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getNameUnaryOperatorNameParserRuleCall_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorName_in_rulePrefixedLetExpCS16681); 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, "UnaryOperatorName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7396:2: ( (lv_ownedRight_2_0= rulePrefixedLetExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7397:1: (lv_ownedRight_2_0= rulePrefixedLetExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7397:1: (lv_ownedRight_2_0= rulePrefixedLetExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7398:3: lv_ownedRight_2_0= rulePrefixedLetExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getOwnedRightPrefixedLetExpCSParserRuleCall_0_2_0()); } pushFollow(FollowSets000.FOLLOW_rulePrefixedLetExpCS_in_rulePrefixedLetExpCS16702); 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, "PrefixedLetExpCS"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7416:2: this_LetExpCS_3= ruleLetExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrefixedLetExpCSAccess().getLetExpCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_rulePrefixedLetExpCS16734); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7435:1: entryRulePrefixedPrimaryExpCS returns [EObject current=null] : iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF ; public final EObject entryRulePrefixedPrimaryExpCS() throws RecognitionException { EObject current = null; EObject iv_rulePrefixedPrimaryExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7436:2: (iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7437:2: iv_rulePrefixedPrimaryExpCS= rulePrefixedPrimaryExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSRule()); } pushFollow(FollowSets000.FOLLOW_rulePrefixedPrimaryExpCS_in_entryRulePrefixedPrimaryExpCS16769); iv_rulePrefixedPrimaryExpCS=rulePrefixedPrimaryExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePrefixedPrimaryExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrefixedPrimaryExpCS16779); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePrefixedPrimaryExpCS" // $ANTLR start "rulePrefixedPrimaryExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7444: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7447:28: ( ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7448:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7448:1: ( ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) | this_PrimaryExpCS_3= rulePrimaryExpCS ) int alt170=2; int LA170_0 = input.LA(1); if ( (LA170_0==18||LA170_0==82) ) { alt170=1; } else if ( ((LA170_0>=RULE_INT && LA170_0<=RULE_SINGLE_QUOTED_STRING)||(LA170_0>=RULE_SIMPLE_ID && LA170_0<=RULE_ESCAPED_ID)||LA170_0==17||(LA170_0>=19 && LA170_0<=54)||LA170_0==58||LA170_0==71||(LA170_0>=73 && LA170_0<=74)||LA170_0==79||LA170_0==83||(LA170_0>=97 && LA170_0<=98)||(LA170_0>=100 && LA170_0<=112)||LA170_0==115||(LA170_0>=117 && LA170_0<=120)||LA170_0==127||LA170_0==133) ) { alt170=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 170, 0, input); throw nvae; } switch (alt170) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7448:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7448:2: ( () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7448:3: () ( (lv_name_1_0= ruleUnaryOperatorName ) ) ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7448:3: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7449:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getPrefixedPrimaryExpCSAccess().getPrefixExpCSAction_0_0(), current); } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7457:2: ( (lv_name_1_0= ruleUnaryOperatorName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7458:1: (lv_name_1_0= ruleUnaryOperatorName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7458:1: (lv_name_1_0= ruleUnaryOperatorName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7459:3: lv_name_1_0= ruleUnaryOperatorName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getNameUnaryOperatorNameParserRuleCall_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnaryOperatorName_in_rulePrefixedPrimaryExpCS16838); 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, "UnaryOperatorName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7475:2: ( (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7476:1: (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7476:1: (lv_ownedRight_2_0= rulePrefixedPrimaryExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7477:3: lv_ownedRight_2_0= rulePrefixedPrimaryExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getOwnedRightPrefixedPrimaryExpCSParserRuleCall_0_2_0()); } pushFollow(FollowSets000.FOLLOW_rulePrefixedPrimaryExpCS_in_rulePrefixedPrimaryExpCS16859); 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, "PrefixedPrimaryExpCS"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7495:2: this_PrimaryExpCS_3= rulePrimaryExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrefixedPrimaryExpCSAccess().getPrimaryExpCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_rulePrefixedPrimaryExpCS16891); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7514:1: entryRulePrimaryExpCS returns [EObject current=null] : iv_rulePrimaryExpCS= rulePrimaryExpCS EOF ; public final EObject entryRulePrimaryExpCS() throws RecognitionException { EObject current = null; EObject iv_rulePrimaryExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7515:2: (iv_rulePrimaryExpCS= rulePrimaryExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7516:2: iv_rulePrimaryExpCS= rulePrimaryExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSRule()); } pushFollow(FollowSets000.FOLLOW_rulePrimaryExpCS_in_entryRulePrimaryExpCS16926); iv_rulePrimaryExpCS=rulePrimaryExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePrimaryExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimaryExpCS16936); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePrimaryExpCS" // $ANTLR start "rulePrimaryExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7523: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7526:28: ( (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 ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7527:1: (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 ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7527:1: (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 alt171=10; alt171 = dfa171.predict(input); switch (alt171) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7528:2: this_NestedExpCS_0= ruleNestedExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNestedExpCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_rulePrimaryExpCS16986); this_NestedExpCS_0=ruleNestedExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_NestedExpCS_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7541:2: this_IfExpCS_1= ruleIfExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getIfExpCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_rulePrimaryExpCS17016); this_IfExpCS_1=ruleIfExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_IfExpCS_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7554:2: this_SelfExpCS_2= ruleSelfExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getSelfExpCSParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_rulePrimaryExpCS17046); this_SelfExpCS_2=ruleSelfExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SelfExpCS_2; afterParserOrEnumRuleCall(); } } break; case 4 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7567:2: this_PrimitiveLiteralExpCS_3= rulePrimitiveLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getPrimitiveLiteralExpCSParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_rulePrimitiveLiteralExpCS_in_rulePrimaryExpCS17076); this_PrimitiveLiteralExpCS_3=rulePrimitiveLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_PrimitiveLiteralExpCS_3; afterParserOrEnumRuleCall(); } } break; case 5 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7580:2: this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTupleLiteralExpCSParserRuleCall_4()); } pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_rulePrimaryExpCS17106); this_TupleLiteralExpCS_4=ruleTupleLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TupleLiteralExpCS_4; afterParserOrEnumRuleCall(); } } break; case 6 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7593:2: this_MapLiteralExpCS_5= ruleMapLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getMapLiteralExpCSParserRuleCall_5()); } pushFollow(FollowSets000.FOLLOW_ruleMapLiteralExpCS_in_rulePrimaryExpCS17136); this_MapLiteralExpCS_5=ruleMapLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_MapLiteralExpCS_5; afterParserOrEnumRuleCall(); } } break; case 7 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7606:2: this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getCollectionLiteralExpCSParserRuleCall_6()); } pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_rulePrimaryExpCS17166); this_CollectionLiteralExpCS_6=ruleCollectionLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_CollectionLiteralExpCS_6; afterParserOrEnumRuleCall(); } } break; case 8 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7619:2: this_LambdaLiteralExpCS_7= ruleLambdaLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getLambdaLiteralExpCSParserRuleCall_7()); } pushFollow(FollowSets000.FOLLOW_ruleLambdaLiteralExpCS_in_rulePrimaryExpCS17196); this_LambdaLiteralExpCS_7=ruleLambdaLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_LambdaLiteralExpCS_7; afterParserOrEnumRuleCall(); } } break; case 9 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7632:2: this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getTypeLiteralExpCSParserRuleCall_8()); } pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_rulePrimaryExpCS17226); this_TypeLiteralExpCS_8=ruleTypeLiteralExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TypeLiteralExpCS_8; afterParserOrEnumRuleCall(); } } break; case 10 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7645:2: this_NameExpCS_9= ruleNameExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPrimaryExpCSAccess().getNameExpCSParserRuleCall_9()); } pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_rulePrimaryExpCS17256); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7664:1: entryRuleNameExpCS returns [EObject current=null] : iv_ruleNameExpCS= ruleNameExpCS EOF ; public final EObject entryRuleNameExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleNameExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7665:2: (iv_ruleNameExpCS= ruleNameExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7666:2: iv_ruleNameExpCS= ruleNameExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNameExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleNameExpCS_in_entryRuleNameExpCS17291); iv_ruleNameExpCS=ruleNameExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNameExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNameExpCS17301); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNameExpCS" // $ANTLR start "ruleNameExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7673: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7676:28: ( ( ( (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' )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7677:1: ( ( (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' )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7677:1: ( ( (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' )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7677: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' )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7677:2: ( (lv_ownedPathName_0_0= rulePathNameCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7678:1: (lv_ownedPathName_0_0= rulePathNameCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7678:1: (lv_ownedPathName_0_0= rulePathNameCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7679:3: lv_ownedPathName_0_0= rulePathNameCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedPathNamePathNameCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_ruleNameExpCS17347); 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, "PathNameCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7695:2: ( (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) )* loop172: do { int alt172=2; int LA172_0 = input.LA(1); if ( (LA172_0==123) ) { alt172=1; } switch (alt172) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7696:1: (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7696:1: (lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7697:3: lv_ownedSquareBracketedClauses_1_0= ruleSquareBracketedClauseCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedSquareBracketedClausesSquareBracketedClauseCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleSquareBracketedClauseCS_in_ruleNameExpCS17368); 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, "SquareBracketedClauseCS"); afterParserOrEnumRuleCall(); } } } break; default : break loop172; } } while (true); // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7713:3: ( (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) )? int alt173=2; int LA173_0 = input.LA(1); if ( (LA173_0==54) ) { alt173=1; } switch (alt173) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7714:1: (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7714:1: (lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7715:3: lv_ownedRoundBracketedClause_2_0= ruleRoundBracketedClauseCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedRoundBracketedClauseRoundBracketedClauseCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleRoundBracketedClauseCS_in_ruleNameExpCS17390); 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, "RoundBracketedClauseCS"); afterParserOrEnumRuleCall(); } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7731:3: ( (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) )? int alt174=2; int LA174_0 = input.LA(1); if ( (LA174_0==60) ) { alt174=1; } switch (alt174) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7732:1: (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7732:1: (lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7733:3: lv_ownedCurlyBracketedClause_3_0= ruleCurlyBracketedClauseCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNameExpCSAccess().getOwnedCurlyBracketedClauseCurlyBracketedClauseCSParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleCurlyBracketedClauseCS_in_ruleNameExpCS17412); 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, "CurlyBracketedClauseCS"); afterParserOrEnumRuleCall(); } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7749:3: ( ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' )? int alt175=2; int LA175_0 = input.LA(1); if ( (LA175_0==121) ) { alt175=1; } switch (alt175) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7749:4: ( (lv_isPre_4_0= '@' ) ) otherlv_5= 'pre' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7749:4: ( (lv_isPre_4_0= '@' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7750:1: (lv_isPre_4_0= '@' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7750:1: (lv_isPre_4_0= '@' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7751:3: lv_isPre_4_0= '@' { lv_isPre_4_0=(Token)match(input,121,FollowSets000.FOLLOW_121_in_ruleNameExpCS17432); 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", true, "@"); } } } otherlv_5=(Token)match(input,122,FollowSets000.FOLLOW_122_in_ruleNameExpCS17457); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7776:1: entryRuleCurlyBracketedClauseCS returns [EObject current=null] : iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF ; public final EObject entryRuleCurlyBracketedClauseCS() throws RecognitionException { EObject current = null; EObject iv_ruleCurlyBracketedClauseCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7777:2: (iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7778:2: iv_ruleCurlyBracketedClauseCS= ruleCurlyBracketedClauseCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCurlyBracketedClauseCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleCurlyBracketedClauseCS_in_entryRuleCurlyBracketedClauseCS17495); iv_ruleCurlyBracketedClauseCS=ruleCurlyBracketedClauseCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleCurlyBracketedClauseCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCurlyBracketedClauseCS17505); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleCurlyBracketedClauseCS" // $ANTLR start "ruleCurlyBracketedClauseCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7785:1: ruleCurlyBracketedClauseCS returns [EObject current=null] : ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' ) ; public final EObject ruleCurlyBracketedClauseCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_6=null; EObject lv_ownedParts_2_0 = null; EObject lv_ownedParts_4_0 = null; AntlrDatatypeRuleToken lv_value_5_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7788:28: ( ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7789:1: ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7789:1: ( () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7789:2: () otherlv_1= '{' ( ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) otherlv_6= '}' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7789:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7790:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getCurlyBracketedClauseCSAccess().getCurlyBracketedClauseCSAction_0(), current); } } otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleCurlyBracketedClauseCS17554); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getCurlyBracketedClauseCSAccess().getLeftCurlyBracketKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7802:1: ( ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? | ( (lv_value_5_0= ruleStringLiteral ) ) ) int alt178=2; int LA178_0 = input.LA(1); if ( ((LA178_0>=RULE_SIMPLE_ID && LA178_0<=RULE_ESCAPED_ID)||LA178_0==17||(LA178_0>=19 && LA178_0<=53)||LA178_0==58||LA178_0==61||LA178_0==71||(LA178_0>=73 && LA178_0<=74)||LA178_0==79) ) { alt178=1; } else if ( (LA178_0==RULE_SINGLE_QUOTED_STRING) ) { alt178=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 178, 0, input); throw nvae; } switch (alt178) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7802:2: ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7802:2: ( ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* )? int alt177=2; int LA177_0 = input.LA(1); if ( ((LA177_0>=RULE_SIMPLE_ID && LA177_0<=RULE_ESCAPED_ID)||LA177_0==17||(LA177_0>=19 && LA177_0<=53)||LA177_0==58||LA177_0==71||(LA177_0>=73 && LA177_0<=74)||LA177_0==79) ) { alt177=1; } switch (alt177) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7802:3: ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7802:3: ( (lv_ownedParts_2_0= ruleShadowPartCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7803:1: (lv_ownedParts_2_0= ruleShadowPartCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7803:1: (lv_ownedParts_2_0= ruleShadowPartCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7804:3: lv_ownedParts_2_0= ruleShadowPartCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsShadowPartCSParserRuleCall_2_0_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleShadowPartCS_in_ruleCurlyBracketedClauseCS17577); 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, "ShadowPartCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7820:2: (otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) )* loop176: do { int alt176=2; int LA176_0 = input.LA(1); if ( (LA176_0==59) ) { alt176=1; } switch (alt176) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7820:4: otherlv_3= ',' ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) { otherlv_3=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleCurlyBracketedClauseCS17590); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getCurlyBracketedClauseCSAccess().getCommaKeyword_2_0_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7824:1: ( (lv_ownedParts_4_0= ruleShadowPartCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7825:1: (lv_ownedParts_4_0= ruleShadowPartCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7825:1: (lv_ownedParts_4_0= ruleShadowPartCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7826:3: lv_ownedParts_4_0= ruleShadowPartCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCurlyBracketedClauseCSAccess().getOwnedPartsShadowPartCSParserRuleCall_2_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleShadowPartCS_in_ruleCurlyBracketedClauseCS17611); 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, "ShadowPartCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop176; } } while (true); } break; } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7843:6: ( (lv_value_5_0= ruleStringLiteral ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7843:6: ( (lv_value_5_0= ruleStringLiteral ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7844:1: (lv_value_5_0= ruleStringLiteral ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7844:1: (lv_value_5_0= ruleStringLiteral ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7845:3: lv_value_5_0= ruleStringLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCurlyBracketedClauseCSAccess().getValueStringLiteralParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_ruleCurlyBracketedClauseCS17642); lv_value_5_0=ruleStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCurlyBracketedClauseCSRule()); } set( current, "value", lv_value_5_0, "StringLiteral"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_6=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleCurlyBracketedClauseCS17655); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7873:1: entryRuleRoundBracketedClauseCS returns [EObject current=null] : iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF ; public final EObject entryRuleRoundBracketedClauseCS() throws RecognitionException { EObject current = null; EObject iv_ruleRoundBracketedClauseCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7874:2: (iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7875:2: iv_ruleRoundBracketedClauseCS= ruleRoundBracketedClauseCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRoundBracketedClauseCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleRoundBracketedClauseCS_in_entryRuleRoundBracketedClauseCS17691); iv_ruleRoundBracketedClauseCS=ruleRoundBracketedClauseCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRoundBracketedClauseCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleRoundBracketedClauseCS17701); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleRoundBracketedClauseCS" // $ANTLR start "ruleRoundBracketedClauseCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7882:1: ruleRoundBracketedClauseCS returns [EObject current=null] : ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' ) ; public final EObject ruleRoundBracketedClauseCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_8=null; EObject lv_ownedArguments_2_0 = null; EObject lv_ownedArguments_3_0 = null; EObject lv_ownedArguments_4_0 = null; EObject lv_ownedArguments_5_0 = null; EObject lv_ownedArguments_6_0 = null; EObject lv_ownedArguments_7_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7885:28: ( ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7886:1: ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7886:1: ( () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7886:2: () otherlv_1= '(' ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? otherlv_8= ')' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7886:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7887:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getRoundBracketedClauseCSAccess().getRoundBracketedClauseCSAction_0(), current); } } otherlv_1=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleRoundBracketedClauseCS17750); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getRoundBracketedClauseCSAccess().getLeftParenthesisKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7899:1: ( ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* )? int alt184=2; int LA184_0 = input.LA(1); if ( ((LA184_0>=RULE_INT && LA184_0<=RULE_SINGLE_QUOTED_STRING)||(LA184_0>=RULE_SIMPLE_ID && LA184_0<=RULE_ESCAPED_ID)||(LA184_0>=17 && LA184_0<=54)||LA184_0==56||LA184_0==58||LA184_0==71||(LA184_0>=73 && LA184_0<=74)||LA184_0==79||(LA184_0>=82 && LA184_0<=83)||(LA184_0>=97 && LA184_0<=98)||(LA184_0>=100 && LA184_0<=112)||LA184_0==115||(LA184_0>=117 && LA184_0<=120)||LA184_0==127||(LA184_0>=132 && LA184_0<=133)) ) { alt184=1; } switch (alt184) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7899:2: ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7899:2: ( (lv_ownedArguments_2_0= ruleNavigatingArgCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7900:1: (lv_ownedArguments_2_0= ruleNavigatingArgCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7900:1: (lv_ownedArguments_2_0= ruleNavigatingArgCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7901:3: lv_ownedArguments_2_0= ruleNavigatingArgCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingArgCSParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgCS_in_ruleRoundBracketedClauseCS17772); 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, "NavigatingArgCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7917:2: ( (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) )* loop179: do { int alt179=2; int LA179_0 = input.LA(1); if ( (LA179_0==59) ) { alt179=1; } switch (alt179) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7918:1: (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7918:1: (lv_ownedArguments_3_0= ruleNavigatingCommaArgCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7919:3: lv_ownedArguments_3_0= ruleNavigatingCommaArgCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17793); lv_ownedArguments_3_0=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_0, "NavigatingCommaArgCS"); afterParserOrEnumRuleCall(); } } } break; default : break loop179; } } while (true); // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7935:3: ( ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* )? int alt181=2; int LA181_0 = input.LA(1); if ( (LA181_0==57) ) { alt181=1; } switch (alt181) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7935:4: ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7935:4: ( (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7936:1: (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7936:1: (lv_ownedArguments_4_0= ruleNavigatingSemiArgCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7937:3: lv_ownedArguments_4_0= ruleNavigatingSemiArgCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingSemiArgCSParserRuleCall_2_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingSemiArgCS_in_ruleRoundBracketedClauseCS17816); lv_ownedArguments_4_0=ruleNavigatingSemiArgCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule()); } add( current, "ownedArguments", lv_ownedArguments_4_0, "NavigatingSemiArgCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7953:2: ( (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) )* loop180: do { int alt180=2; int LA180_0 = input.LA(1); if ( (LA180_0==59) ) { alt180=1; } switch (alt180) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7954:1: (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7954:1: (lv_ownedArguments_5_0= ruleNavigatingCommaArgCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7955:3: lv_ownedArguments_5_0= ruleNavigatingCommaArgCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17837); lv_ownedArguments_5_0=ruleNavigatingCommaArgCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule()); } add( current, "ownedArguments", lv_ownedArguments_5_0, "NavigatingCommaArgCS"); afterParserOrEnumRuleCall(); } } } break; default : break loop180; } } while (true); } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7971:5: ( ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* )* loop183: do { int alt183=2; int LA183_0 = input.LA(1); if ( (LA183_0==126) ) { alt183=1; } switch (alt183) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7971:6: ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7971:6: ( (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7972:1: (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7972:1: (lv_ownedArguments_6_0= ruleNavigatingBarArgCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7973:3: lv_ownedArguments_6_0= ruleNavigatingBarArgCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingBarArgCSParserRuleCall_2_3_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingBarArgCS_in_ruleRoundBracketedClauseCS17862); lv_ownedArguments_6_0=ruleNavigatingBarArgCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule()); } add( current, "ownedArguments", lv_ownedArguments_6_0, "NavigatingBarArgCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7989:2: ( (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) )* loop182: do { int alt182=2; int LA182_0 = input.LA(1); if ( (LA182_0==59) ) { alt182=1; } switch (alt182) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7990:1: (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7990:1: (lv_ownedArguments_7_0= ruleNavigatingCommaArgCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7991:3: lv_ownedArguments_7_0= ruleNavigatingCommaArgCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRoundBracketedClauseCSAccess().getOwnedArgumentsNavigatingCommaArgCSParserRuleCall_2_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17883); lv_ownedArguments_7_0=ruleNavigatingCommaArgCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRoundBracketedClauseCSRule()); } add( current, "ownedArguments", lv_ownedArguments_7_0, "NavigatingCommaArgCS"); afterParserOrEnumRuleCall(); } } } break; default : break loop182; } } while (true); } break; default : break loop183; } } while (true); } break; } otherlv_8=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleRoundBracketedClauseCS17900); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8019:1: entryRuleSquareBracketedClauseCS returns [EObject current=null] : iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF ; public final EObject entryRuleSquareBracketedClauseCS() throws RecognitionException { EObject current = null; EObject iv_ruleSquareBracketedClauseCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8020:2: (iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8021:2: iv_ruleSquareBracketedClauseCS= ruleSquareBracketedClauseCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSquareBracketedClauseCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleSquareBracketedClauseCS_in_entryRuleSquareBracketedClauseCS17936); iv_ruleSquareBracketedClauseCS=ruleSquareBracketedClauseCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSquareBracketedClauseCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSquareBracketedClauseCS17946); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSquareBracketedClauseCS" // $ANTLR start "ruleSquareBracketedClauseCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8028: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8031:28: ( (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8032:1: (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8032:1: (otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8032:3: otherlv_0= '[' ( (lv_ownedTerms_1_0= ruleExpCS ) ) (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* otherlv_4= ']' { otherlv_0=(Token)match(input,123,FollowSets000.FOLLOW_123_in_ruleSquareBracketedClauseCS17983); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSquareBracketedClauseCSAccess().getLeftSquareBracketKeyword_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8036:1: ( (lv_ownedTerms_1_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8037:1: (lv_ownedTerms_1_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8037:1: (lv_ownedTerms_1_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8038:3: lv_ownedTerms_1_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsExpCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS18004); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8054:2: (otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) )* loop185: do { int alt185=2; int LA185_0 = input.LA(1); if ( (LA185_0==59) ) { alt185=1; } switch (alt185) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8054:4: otherlv_2= ',' ( (lv_ownedTerms_3_0= ruleExpCS ) ) { otherlv_2=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleSquareBracketedClauseCS18017); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getSquareBracketedClauseCSAccess().getCommaKeyword_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8058:1: ( (lv_ownedTerms_3_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8059:1: (lv_ownedTerms_3_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8059:1: (lv_ownedTerms_3_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8060:3: lv_ownedTerms_3_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSquareBracketedClauseCSAccess().getOwnedTermsExpCSParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS18038); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop185; } } while (true); otherlv_4=(Token)match(input,124,FollowSets000.FOLLOW_124_in_ruleSquareBracketedClauseCS18052); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8088:1: entryRuleNavigatingArgCS returns [EObject current=null] : iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF ; public final EObject entryRuleNavigatingArgCS() throws RecognitionException { EObject current = null; EObject iv_ruleNavigatingArgCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8089:2: (iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8090:2: iv_ruleNavigatingArgCS= ruleNavigatingArgCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingArgCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgCS_in_entryRuleNavigatingArgCS18088); iv_ruleNavigatingArgCS=ruleNavigatingArgCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNavigatingArgCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingArgCS18098); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNavigatingArgCS" // $ANTLR start "ruleNavigatingArgCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8097:1: ruleNavigatingArgCS returns [EObject current=null] : ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_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; EObject lv_ownedNameExpression_0_0 = null; EObject lv_ownedType_2_0 = null; EObject lv_ownedInitExpression_4_0 = null; EObject lv_ownedInitExpression_6_0 = null; EObject lv_ownedType_8_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8100:28: ( ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8101:1: ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8101:1: ( ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) | (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) ) int alt188=2; int LA188_0 = input.LA(1); if ( ((LA188_0>=RULE_INT && LA188_0<=RULE_SINGLE_QUOTED_STRING)||(LA188_0>=RULE_SIMPLE_ID && LA188_0<=RULE_ESCAPED_ID)||(LA188_0>=17 && LA188_0<=54)||LA188_0==58||LA188_0==71||(LA188_0>=73 && LA188_0<=74)||LA188_0==79||(LA188_0>=82 && LA188_0<=83)||(LA188_0>=97 && LA188_0<=98)||(LA188_0>=100 && LA188_0<=112)||LA188_0==115||(LA188_0>=117 && LA188_0<=120)||LA188_0==127||(LA188_0>=132 && LA188_0<=133)) ) { alt188=1; } else if ( (LA188_0==56) ) { alt188=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 188, 0, input); throw nvae; } switch (alt188) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8101:2: ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8101:2: ( ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8101:3: ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8101:3: ( (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8102:1: (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8102:1: (lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8103:3: lv_ownedNameExpression_0_0= ruleNavigatingArgExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_0_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingArgCS18145); 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, "NavigatingArgExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8119:2: ( (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) | (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) )? int alt187=3; int LA187_0 = input.LA(1); if ( (LA187_0==56) ) { alt187=1; } else if ( (LA187_0==125) ) { alt187=2; } switch (alt187) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8119:3: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8119:3: (otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8119:5: otherlv_1= ':' ( (lv_ownedType_2_0= ruleTypeExpCS ) ) (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? { otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleNavigatingArgCS18159); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_0_1_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8123:1: ( (lv_ownedType_2_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8124:1: (lv_ownedType_2_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8124:1: (lv_ownedType_2_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8125:3: lv_ownedType_2_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_0_1_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS18180); lv_ownedType_2_0=ruleTypeExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getNavigatingArgCSRule()); } set( current, "ownedType", lv_ownedType_2_0, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8141:2: (otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) )? int alt186=2; int LA186_0 = input.LA(1); if ( (LA186_0==62) ) { alt186=1; } switch (alt186) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8141:4: otherlv_3= '=' ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) { otherlv_3=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleNavigatingArgCS18193); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getNavigatingArgCSAccess().getEqualsSignKeyword_0_1_0_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8145:1: ( (lv_ownedInitExpression_4_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8146:1: (lv_ownedInitExpression_4_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8146:1: (lv_ownedInitExpression_4_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8147:3: lv_ownedInitExpression_4_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_0_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgCS18214); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } break; } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8164:6: (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8164:6: (otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8164:8: otherlv_5= 'in' ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) { otherlv_5=(Token)match(input,125,FollowSets000.FOLLOW_125_in_ruleNavigatingArgCS18236); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getNavigatingArgCSAccess().getInKeyword_0_1_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8168:1: ( (lv_ownedInitExpression_6_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8169:1: (lv_ownedInitExpression_6_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8169:1: (lv_ownedInitExpression_6_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8170:3: lv_ownedInitExpression_6_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_0_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgCS18257); lv_ownedInitExpression_6_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_6_0, "ExpCS"); afterParserOrEnumRuleCall(); } } } } } break; } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8187:6: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8187:6: (otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8187:8: otherlv_7= ':' ( (lv_ownedType_8_0= ruleTypeExpCS ) ) { otherlv_7=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleNavigatingArgCS18280); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getNavigatingArgCSAccess().getColonKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8191:1: ( (lv_ownedType_8_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8192:1: (lv_ownedType_8_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8192:1: (lv_ownedType_8_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8193:3: lv_ownedType_8_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS18301); lv_ownedType_8_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_8_0, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleNavigatingArgCS" // $ANTLR start "entryRuleNavigatingBarArgCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8217:1: entryRuleNavigatingBarArgCS returns [EObject current=null] : iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF ; public final EObject entryRuleNavigatingBarArgCS() throws RecognitionException { EObject current = null; EObject iv_ruleNavigatingBarArgCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8218:2: (iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8219:2: iv_ruleNavigatingBarArgCS= ruleNavigatingBarArgCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingBarArgCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingBarArgCS_in_entryRuleNavigatingBarArgCS18338); iv_ruleNavigatingBarArgCS=ruleNavigatingBarArgCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNavigatingBarArgCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingBarArgCS18348); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNavigatingBarArgCS" // $ANTLR start "ruleNavigatingBarArgCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8226: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8229:28: ( ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8230:1: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8230:1: ( ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8230:2: ( (lv_prefix_0_0= '|' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8230:2: ( (lv_prefix_0_0= '|' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8231:1: (lv_prefix_0_0= '|' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8231:1: (lv_prefix_0_0= '|' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8232:3: lv_prefix_0_0= '|' { lv_prefix_0_0=(Token)match(input,126,FollowSets000.FOLLOW_126_in_ruleNavigatingBarArgCS18391); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingBarArgCSAccess().getPrefixVerticalLineKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getNavigatingBarArgCSRule()); } setWithLastConsumed(current, "prefix", lv_prefix_0_0, "|"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8245:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8246:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8246:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8247:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingBarArgCS18425); 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, "NavigatingArgExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8263:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? int alt190=2; int LA190_0 = input.LA(1); if ( (LA190_0==56) ) { alt190=1; } switch (alt190) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8263:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? { otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleNavigatingBarArgCS18438); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getNavigatingBarArgCSAccess().getColonKeyword_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8267:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8268:1: (lv_ownedType_3_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8268:1: (lv_ownedType_3_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8269:3: lv_ownedType_3_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingBarArgCS18459); lv_ownedType_3_0=ruleTypeExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getNavigatingBarArgCSRule()); } set( current, "ownedType", lv_ownedType_3_0, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8285:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? int alt189=2; int LA189_0 = input.LA(1); if ( (LA189_0==62) ) { alt189=1; } switch (alt189) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8285:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) { otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleNavigatingBarArgCS18472); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getNavigatingBarArgCSAccess().getEqualsSignKeyword_2_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8289:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8290:1: (lv_ownedInitExpression_5_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8290:1: (lv_ownedInitExpression_5_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8291:3: lv_ownedInitExpression_5_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingBarArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingBarArgCS18493); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } break; } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleNavigatingBarArgCS" // $ANTLR start "entryRuleNavigatingCommaArgCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8315:1: entryRuleNavigatingCommaArgCS returns [EObject current=null] : iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF ; public final EObject entryRuleNavigatingCommaArgCS() throws RecognitionException { EObject current = null; EObject iv_ruleNavigatingCommaArgCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8316:2: (iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8317:2: iv_ruleNavigatingCommaArgCS= ruleNavigatingCommaArgCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingCommaArgCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingCommaArgCS_in_entryRuleNavigatingCommaArgCS18533); iv_ruleNavigatingCommaArgCS=ruleNavigatingCommaArgCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNavigatingCommaArgCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingCommaArgCS18543); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNavigatingCommaArgCS" // $ANTLR start "ruleNavigatingCommaArgCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8324:1: ruleNavigatingCommaArgCS 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 ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_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; EObject lv_ownedNameExpression_1_0 = null; EObject lv_ownedType_3_0 = null; EObject lv_ownedInitExpression_5_0 = null; EObject lv_ownedInitExpression_7_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8327:28: ( ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8328:1: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8328:1: ( ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8328:2: ( (lv_prefix_0_0= ',' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8328:2: ( (lv_prefix_0_0= ',' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8329:1: (lv_prefix_0_0= ',' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8329:1: (lv_prefix_0_0= ',' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8330:3: lv_prefix_0_0= ',' { lv_prefix_0_0=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleNavigatingCommaArgCS18586); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingCommaArgCSAccess().getPrefixCommaKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getNavigatingCommaArgCSRule()); } setWithLastConsumed(current, "prefix", lv_prefix_0_0, ","); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8343:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8344:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8344:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8345:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingCommaArgCS18620); 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, "NavigatingArgExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8361:2: ( (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) | (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) )? int alt192=3; int LA192_0 = input.LA(1); if ( (LA192_0==56) ) { alt192=1; } else if ( (LA192_0==125) ) { alt192=2; } switch (alt192) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8361:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8361:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8361:5: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? { otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleNavigatingCommaArgCS18634); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getNavigatingCommaArgCSAccess().getColonKeyword_2_0_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8365:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8366:1: (lv_ownedType_3_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8366:1: (lv_ownedType_3_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8367:3: lv_ownedType_3_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingCommaArgCS18655); lv_ownedType_3_0=ruleTypeExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getNavigatingCommaArgCSRule()); } set( current, "ownedType", lv_ownedType_3_0, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8383:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? int alt191=2; int LA191_0 = input.LA(1); if ( (LA191_0==62) ) { alt191=1; } switch (alt191) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8383:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) { otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleNavigatingCommaArgCS18668); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getNavigatingCommaArgCSAccess().getEqualsSignKeyword_2_0_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8387:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8388:1: (lv_ownedInitExpression_5_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8388:1: (lv_ownedInitExpression_5_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8389:3: lv_ownedInitExpression_5_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_0_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS18689); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } break; } } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8406:6: (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8406:6: (otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8406:8: otherlv_6= 'in' ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) { otherlv_6=(Token)match(input,125,FollowSets000.FOLLOW_125_in_ruleNavigatingCommaArgCS18711); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getNavigatingCommaArgCSAccess().getInKeyword_2_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8410:1: ( (lv_ownedInitExpression_7_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8411:1: (lv_ownedInitExpression_7_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8411:1: (lv_ownedInitExpression_7_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8412:3: lv_ownedInitExpression_7_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingCommaArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS18732); lv_ownedInitExpression_7_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_7_0, "ExpCS"); afterParserOrEnumRuleCall(); } } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleNavigatingCommaArgCS" // $ANTLR start "entryRuleNavigatingSemiArgCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8436:1: entryRuleNavigatingSemiArgCS returns [EObject current=null] : iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF ; public final EObject entryRuleNavigatingSemiArgCS() throws RecognitionException { EObject current = null; EObject iv_ruleNavigatingSemiArgCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8437:2: (iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8438:2: iv_ruleNavigatingSemiArgCS= ruleNavigatingSemiArgCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingSemiArgCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingSemiArgCS_in_entryRuleNavigatingSemiArgCS18771); iv_ruleNavigatingSemiArgCS=ruleNavigatingSemiArgCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNavigatingSemiArgCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingSemiArgCS18781); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNavigatingSemiArgCS" // $ANTLR start "ruleNavigatingSemiArgCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8445: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8448:28: ( ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8449:1: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8449:1: ( ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8449:2: ( (lv_prefix_0_0= ';' ) ) ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8449:2: ( (lv_prefix_0_0= ';' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8450:1: (lv_prefix_0_0= ';' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8450:1: (lv_prefix_0_0= ';' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8451:3: lv_prefix_0_0= ';' { lv_prefix_0_0=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleNavigatingSemiArgCS18824); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_prefix_0_0, grammarAccess.getNavigatingSemiArgCSAccess().getPrefixSemicolonKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getNavigatingSemiArgCSRule()); } setWithLastConsumed(current, "prefix", lv_prefix_0_0, ";"); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8464:2: ( (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8465:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8465:1: (lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8466:3: lv_ownedNameExpression_1_0= ruleNavigatingArgExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedNameExpressionNavigatingArgExpCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingSemiArgCS18858); 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, "NavigatingArgExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8482:2: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? )? int alt194=2; int LA194_0 = input.LA(1); if ( (LA194_0==56) ) { alt194=1; } switch (alt194) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8482:4: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? { otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleNavigatingSemiArgCS18871); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getNavigatingSemiArgCSAccess().getColonKeyword_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8486:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8487:1: (lv_ownedType_3_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8487:1: (lv_ownedType_3_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8488:3: lv_ownedType_3_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleNavigatingSemiArgCS18892); lv_ownedType_3_0=ruleTypeExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getNavigatingSemiArgCSRule()); } set( current, "ownedType", lv_ownedType_3_0, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8504:2: (otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) )? int alt193=2; int LA193_0 = input.LA(1); if ( (LA193_0==62) ) { alt193=1; } switch (alt193) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8504:4: otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) { otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleNavigatingSemiArgCS18905); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getNavigatingSemiArgCSAccess().getEqualsSignKeyword_2_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8508:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8509:1: (lv_ownedInitExpression_5_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8509:1: (lv_ownedInitExpression_5_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8510:3: lv_ownedInitExpression_5_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingSemiArgCSAccess().getOwnedInitExpressionExpCSParserRuleCall_2_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingSemiArgCS18926); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } break; } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleNavigatingSemiArgCS" // $ANTLR start "entryRuleNavigatingArgExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8534:1: entryRuleNavigatingArgExpCS returns [EObject current=null] : iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF ; public final EObject entryRuleNavigatingArgExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleNavigatingArgExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8535:2: (iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8536:2: iv_ruleNavigatingArgExpCS= ruleNavigatingArgExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingArgExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleNavigatingArgExpCS_in_entryRuleNavigatingArgExpCS18966); iv_ruleNavigatingArgExpCS=ruleNavigatingArgExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNavigatingArgExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNavigatingArgExpCS18976); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNavigatingArgExpCS" // $ANTLR start "ruleNavigatingArgExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8543:1: ruleNavigatingArgExpCS returns [EObject current=null] : this_ExpCS_0= ruleExpCS ; public final EObject ruleNavigatingArgExpCS() throws RecognitionException { EObject current = null; EObject this_ExpCS_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8546:28: (this_ExpCS_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8548:2: this_ExpCS_0= ruleExpCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNavigatingArgExpCSAccess().getExpCSParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNavigatingArgExpCS19025); this_ExpCS_0=ruleExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_ExpCS_0; afterParserOrEnumRuleCall(); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleNavigatingArgExpCS" // $ANTLR start "entryRuleIfExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8567:1: entryRuleIfExpCS returns [EObject current=null] : iv_ruleIfExpCS= ruleIfExpCS EOF ; public final EObject entryRuleIfExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleIfExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8568:2: (iv_ruleIfExpCS= ruleIfExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8569:2: iv_ruleIfExpCS= ruleIfExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIfExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleIfExpCS_in_entryRuleIfExpCS19059); iv_ruleIfExpCS=ruleIfExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleIfExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIfExpCS19069); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleIfExpCS" // $ANTLR start "ruleIfExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8576: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8579:28: ( (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' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8580:1: (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' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8580:1: (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' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8580: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,127,FollowSets000.FOLLOW_127_in_ruleIfExpCS19106); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getIfExpCSAccess().getIfKeyword_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8584:1: ( ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8585:1: ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8585:1: ( (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8586:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8586:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS ) int alt195=2; alt195 = dfa195.predict(input); switch (alt195) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8587:3: lv_ownedCondition_1_1= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedConditionExpCSParserRuleCall_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS19129); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8602:8: lv_ownedCondition_1_2= rulePatternExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedConditionPatternExpCSParserRuleCall_1_0_1()); } pushFollow(FollowSets000.FOLLOW_rulePatternExpCS_in_ruleIfExpCS19148); 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, "PatternExpCS"); afterParserOrEnumRuleCall(); } } break; } } } otherlv_2=(Token)match(input,128,FollowSets000.FOLLOW_128_in_ruleIfExpCS19163); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getIfExpCSAccess().getThenKeyword_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8624:1: ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8625:1: (lv_ownedThenExpression_3_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8625:1: (lv_ownedThenExpression_3_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8626:3: lv_ownedThenExpression_3_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedThenExpressionExpCSParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS19184); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8642:2: ( (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) )* loop196: do { int alt196=2; int LA196_0 = input.LA(1); if ( (LA196_0==131) ) { alt196=1; } switch (alt196) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8643:1: (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8643:1: (lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8644:3: lv_ownedIfThenExpressions_4_0= ruleElseIfThenExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedIfThenExpressionsElseIfThenExpCSParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleElseIfThenExpCS_in_ruleIfExpCS19205); 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, "ElseIfThenExpCS"); afterParserOrEnumRuleCall(); } } } break; default : break loop196; } } while (true); otherlv_5=(Token)match(input,129,FollowSets000.FOLLOW_129_in_ruleIfExpCS19218); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getIfExpCSAccess().getElseKeyword_5()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8664:1: ( (lv_ownedElseExpression_6_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8665:1: (lv_ownedElseExpression_6_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8665:1: (lv_ownedElseExpression_6_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8666:3: lv_ownedElseExpression_6_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIfExpCSAccess().getOwnedElseExpressionExpCSParserRuleCall_6_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleIfExpCS19239); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } otherlv_7=(Token)match(input,130,FollowSets000.FOLLOW_130_in_ruleIfExpCS19251); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8694:1: entryRuleElseIfThenExpCS returns [EObject current=null] : iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF ; public final EObject entryRuleElseIfThenExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleElseIfThenExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8695:2: (iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8696:2: iv_ruleElseIfThenExpCS= ruleElseIfThenExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getElseIfThenExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleElseIfThenExpCS_in_entryRuleElseIfThenExpCS19287); iv_ruleElseIfThenExpCS=ruleElseIfThenExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleElseIfThenExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleElseIfThenExpCS19297); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleElseIfThenExpCS" // $ANTLR start "ruleElseIfThenExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8703: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8706:28: ( (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8707:1: (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8707:1: (otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8707:3: otherlv_0= 'elseif' ( (lv_ownedCondition_1_0= ruleExpCS ) ) otherlv_2= 'then' ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) { otherlv_0=(Token)match(input,131,FollowSets000.FOLLOW_131_in_ruleElseIfThenExpCS19334); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getElseIfThenExpCSAccess().getElseifKeyword_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8711:1: ( (lv_ownedCondition_1_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8712:1: (lv_ownedCondition_1_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8712:1: (lv_ownedCondition_1_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8713:3: lv_ownedCondition_1_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getElseIfThenExpCSAccess().getOwnedConditionExpCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS19355); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,128,FollowSets000.FOLLOW_128_in_ruleElseIfThenExpCS19367); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getElseIfThenExpCSAccess().getThenKeyword_2()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8733:1: ( (lv_ownedThenExpression_3_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8734:1: (lv_ownedThenExpression_3_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8734:1: (lv_ownedThenExpression_3_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8735:3: lv_ownedThenExpression_3_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getElseIfThenExpCSAccess().getOwnedThenExpressionExpCSParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS19388); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleElseIfThenExpCS" // $ANTLR start "entryRuleLetExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8759:1: entryRuleLetExpCS returns [EObject current=null] : iv_ruleLetExpCS= ruleLetExpCS EOF ; public final EObject entryRuleLetExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleLetExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8760:2: (iv_ruleLetExpCS= ruleLetExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8761:2: iv_ruleLetExpCS= ruleLetExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLetExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleLetExpCS_in_entryRuleLetExpCS19424); iv_ruleLetExpCS=ruleLetExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleLetExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLetExpCS19434); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleLetExpCS" // $ANTLR start "ruleLetExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8768: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8771:28: ( (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8772:1: (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8772:1: (otherlv_0= 'let' ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* otherlv_4= 'in' ( (lv_ownedInExpression_5_0= ruleExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8772: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,132,FollowSets000.FOLLOW_132_in_ruleLetExpCS19471); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getLetExpCSAccess().getLetKeyword_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8776:1: ( (lv_ownedVariables_1_0= ruleLetVariableCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8777:1: (lv_ownedVariables_1_0= ruleLetVariableCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8777:1: (lv_ownedVariables_1_0= ruleLetVariableCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8778:3: lv_ownedVariables_1_0= ruleLetVariableCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedVariablesLetVariableCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_ruleLetExpCS19492); 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, "LetVariableCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8794:2: (otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) )* loop197: do { int alt197=2; int LA197_0 = input.LA(1); if ( (LA197_0==59) ) { alt197=1; } switch (alt197) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8794:4: otherlv_2= ',' ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) { otherlv_2=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleLetExpCS19505); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getLetExpCSAccess().getCommaKeyword_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8798:1: ( (lv_ownedVariables_3_0= ruleLetVariableCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8799:1: (lv_ownedVariables_3_0= ruleLetVariableCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8799:1: (lv_ownedVariables_3_0= ruleLetVariableCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8800:3: lv_ownedVariables_3_0= ruleLetVariableCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedVariablesLetVariableCSParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_ruleLetExpCS19526); 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, "LetVariableCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop197; } } while (true); otherlv_4=(Token)match(input,125,FollowSets000.FOLLOW_125_in_ruleLetExpCS19540); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getLetExpCSAccess().getInKeyword_3()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8820:1: ( (lv_ownedInExpression_5_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8821:1: (lv_ownedInExpression_5_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8821:1: (lv_ownedInExpression_5_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8822:3: lv_ownedInExpression_5_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLetExpCSAccess().getOwnedInExpressionExpCSParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLetExpCS19561); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleLetExpCS" // $ANTLR start "entryRuleLetVariableCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8846:1: entryRuleLetVariableCS returns [EObject current=null] : iv_ruleLetVariableCS= ruleLetVariableCS EOF ; public final EObject entryRuleLetVariableCS() throws RecognitionException { EObject current = null; EObject iv_ruleLetVariableCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8847:2: (iv_ruleLetVariableCS= ruleLetVariableCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8848:2: iv_ruleLetVariableCS= ruleLetVariableCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLetVariableCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleLetVariableCS_in_entryRuleLetVariableCS19597); iv_ruleLetVariableCS=ruleLetVariableCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleLetVariableCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLetVariableCS19607); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleLetVariableCS" // $ANTLR start "ruleLetVariableCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8855: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8858:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8859:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8859:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? otherlv_4= '=' ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8859: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 ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8859:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8860:1: (lv_name_0_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8860:1: (lv_name_0_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8861:3: lv_name_0_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLetVariableCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleLetVariableCS19653); lv_name_0_0=ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getLetVariableCSRule()); } set( current, "name", lv_name_0_0, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8877:2: ( (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) )? int alt198=2; int LA198_0 = input.LA(1); if ( (LA198_0==54) ) { alt198=1; } switch (alt198) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8878:1: (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8878:1: (lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8879:3: lv_ownedRoundBracketedClause_1_0= ruleRoundBracketedClauseCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedRoundBracketedClauseRoundBracketedClauseCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleRoundBracketedClauseCS_in_ruleLetVariableCS19674); 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, "RoundBracketedClauseCS"); afterParserOrEnumRuleCall(); } } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8895:3: (otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) )? int alt199=2; int LA199_0 = input.LA(1); if ( (LA199_0==56) ) { alt199=1; } switch (alt199) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8895:5: otherlv_2= ':' ( (lv_ownedType_3_0= ruleTypeExpCS ) ) { otherlv_2=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleLetVariableCS19688); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getLetVariableCSAccess().getColonKeyword_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8899:1: ( (lv_ownedType_3_0= ruleTypeExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8900:1: (lv_ownedType_3_0= ruleTypeExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8900:1: (lv_ownedType_3_0= ruleTypeExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8901:3: lv_ownedType_3_0= ruleTypeExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedTypeTypeExpCSParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeExpCS_in_ruleLetVariableCS19709); 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, "TypeExpCS"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleLetVariableCS19723); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getLetVariableCSAccess().getEqualsSignKeyword_3()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8921:1: ( (lv_ownedInitExpression_5_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8922:1: (lv_ownedInitExpression_5_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8922:1: (lv_ownedInitExpression_5_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8923:3: lv_ownedInitExpression_5_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLetVariableCSAccess().getOwnedInitExpressionExpCSParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleLetVariableCS19744); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleLetVariableCS" // $ANTLR start "entryRuleNestedExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8947:1: entryRuleNestedExpCS returns [EObject current=null] : iv_ruleNestedExpCS= ruleNestedExpCS EOF ; public final EObject entryRuleNestedExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleNestedExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8948:2: (iv_ruleNestedExpCS= ruleNestedExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8949:2: iv_ruleNestedExpCS= ruleNestedExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNestedExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleNestedExpCS_in_entryRuleNestedExpCS19780); iv_ruleNestedExpCS=ruleNestedExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNestedExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNestedExpCS19790); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNestedExpCS" // $ANTLR start "ruleNestedExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8956: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8959:28: ( (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8960:1: (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8960:1: (otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8960:3: otherlv_0= '(' ( (lv_ownedExpression_1_0= ruleExpCS ) ) otherlv_2= ')' { otherlv_0=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleNestedExpCS19827); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getNestedExpCSAccess().getLeftParenthesisKeyword_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8964:1: ( (lv_ownedExpression_1_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8965:1: (lv_ownedExpression_1_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8965:1: (lv_ownedExpression_1_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8966:3: lv_ownedExpression_1_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNestedExpCSAccess().getOwnedExpressionExpCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_ruleNestedExpCS19848); 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, "ExpCS"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleNestedExpCS19860); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getNestedExpCSAccess().getRightParenthesisKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleNestedExpCS" // $ANTLR start "entryRuleSelfExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8994:1: entryRuleSelfExpCS returns [EObject current=null] : iv_ruleSelfExpCS= ruleSelfExpCS EOF ; public final EObject entryRuleSelfExpCS() throws RecognitionException { EObject current = null; EObject iv_ruleSelfExpCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8995:2: (iv_ruleSelfExpCS= ruleSelfExpCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:8996:2: iv_ruleSelfExpCS= ruleSelfExpCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSelfExpCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleSelfExpCS_in_entryRuleSelfExpCS19896); iv_ruleSelfExpCS=ruleSelfExpCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSelfExpCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSelfExpCS19906); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSelfExpCS" // $ANTLR start "ruleSelfExpCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9003:1: ruleSelfExpCS returns [EObject current=null] : ( () otherlv_1= 'self' ) ; public final EObject ruleSelfExpCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9006:28: ( ( () otherlv_1= 'self' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9007:1: ( () otherlv_1= 'self' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9007:1: ( () otherlv_1= 'self' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9007:2: () otherlv_1= 'self' { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9007:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9008:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSelfExpCSAccess().getSelfExpCSAction_0(), current); } } otherlv_1=(Token)match(input,133,FollowSets000.FOLLOW_133_in_ruleSelfExpCS19955); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9028:1: entryRuleMultiplicityBoundsCS returns [EObject current=null] : iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF ; public final EObject entryRuleMultiplicityBoundsCS() throws RecognitionException { EObject current = null; EObject iv_ruleMultiplicityBoundsCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9029:2: (iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9030:2: iv_ruleMultiplicityBoundsCS= ruleMultiplicityBoundsCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMultiplicityBoundsCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_entryRuleMultiplicityBoundsCS19991); iv_ruleMultiplicityBoundsCS=ruleMultiplicityBoundsCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMultiplicityBoundsCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityBoundsCS20001); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMultiplicityBoundsCS" // $ANTLR start "ruleMultiplicityBoundsCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9037:1: ruleMultiplicityBoundsCS returns [EObject current=null] : ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) ; public final EObject ruleMultiplicityBoundsCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; AntlrDatatypeRuleToken lv_lowerBound_0_0 = null; AntlrDatatypeRuleToken lv_upperBound_2_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9040:28: ( ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9041:1: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9041:1: ( ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9041:2: ( (lv_lowerBound_0_0= ruleLOWER ) ) (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9041:2: ( (lv_lowerBound_0_0= ruleLOWER ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9042:1: (lv_lowerBound_0_0= ruleLOWER ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9042:1: (lv_lowerBound_0_0= ruleLOWER ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9043:3: lv_lowerBound_0_0= ruleLOWER { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getLowerBoundLOWERParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleLOWER_in_ruleMultiplicityBoundsCS20047); lv_lowerBound_0_0=ruleLOWER(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMultiplicityBoundsCSRule()); } set( current, "lowerBound", lv_lowerBound_0_0, "LOWER"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9059:2: (otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) )? int alt200=2; int LA200_0 = input.LA(1); if ( (LA200_0==113) ) { alt200=1; } switch (alt200) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9059:4: otherlv_1= '..' ( (lv_upperBound_2_0= ruleUPPER ) ) { otherlv_1=(Token)match(input,113,FollowSets000.FOLLOW_113_in_ruleMultiplicityBoundsCS20060); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getMultiplicityBoundsCSAccess().getFullStopFullStopKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9063:1: ( (lv_upperBound_2_0= ruleUPPER ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9064:1: (lv_upperBound_2_0= ruleUPPER ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9064:1: (lv_upperBound_2_0= ruleUPPER ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9065:3: lv_upperBound_2_0= ruleUPPER { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMultiplicityBoundsCSAccess().getUpperBoundUPPERParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleUPPER_in_ruleMultiplicityBoundsCS20081); lv_upperBound_2_0=ruleUPPER(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMultiplicityBoundsCSRule()); } set( current, "upperBound", lv_upperBound_2_0, "UPPER"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleMultiplicityBoundsCS" // $ANTLR start "entryRuleMultiplicityCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9089:1: entryRuleMultiplicityCS returns [EObject current=null] : iv_ruleMultiplicityCS= ruleMultiplicityCS EOF ; public final EObject entryRuleMultiplicityCS() throws RecognitionException { EObject current = null; EObject iv_ruleMultiplicityCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9090:2: (iv_ruleMultiplicityCS= ruleMultiplicityCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9091:2: iv_ruleMultiplicityCS= ruleMultiplicityCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMultiplicityCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_entryRuleMultiplicityCS20119); iv_ruleMultiplicityCS=ruleMultiplicityCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMultiplicityCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityCS20129); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMultiplicityCS" // $ANTLR start "ruleMultiplicityCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9098: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9101:28: ( (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9102:1: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9102:1: (otherlv_0= '[' (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? otherlv_5= ']' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9102: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,123,FollowSets000.FOLLOW_123_in_ruleMultiplicityCS20166); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getMultiplicityCSAccess().getLeftSquareBracketKeyword_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9106:1: (this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS | this_MultiplicityStringCS_2= ruleMultiplicityStringCS ) int alt201=2; int LA201_0 = input.LA(1); if ( (LA201_0==RULE_INT) ) { alt201=1; } else if ( (LA201_0==83||LA201_0==85||LA201_0==136) ) { alt201=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 201, 0, input); throw nvae; } switch (alt201) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9107:2: this_MultiplicityBoundsCS_1= ruleMultiplicityBoundsCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityBoundsCSParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleMultiplicityBoundsCS_in_ruleMultiplicityCS20192); this_MultiplicityBoundsCS_1=ruleMultiplicityBoundsCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_MultiplicityBoundsCS_1; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9120:2: this_MultiplicityStringCS_2= ruleMultiplicityStringCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMultiplicityCSAccess().getMultiplicityStringCSParserRuleCall_1_1()); } pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_ruleMultiplicityCS20222); this_MultiplicityStringCS_2=ruleMultiplicityStringCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_MultiplicityStringCS_2; afterParserOrEnumRuleCall(); } } break; } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9131:2: (otherlv_3= '|?' | ( (lv_isNullFree_4_0= '|1' ) ) )? int alt202=3; int LA202_0 = input.LA(1); if ( (LA202_0==134) ) { alt202=1; } else if ( (LA202_0==135) ) { alt202=2; } switch (alt202) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9131:4: otherlv_3= '|?' { otherlv_3=(Token)match(input,134,FollowSets000.FOLLOW_134_in_ruleMultiplicityCS20235); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getMultiplicityCSAccess().getVerticalLineQuestionMarkKeyword_2_0()); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9136:6: ( (lv_isNullFree_4_0= '|1' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9136:6: ( (lv_isNullFree_4_0= '|1' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9137:1: (lv_isNullFree_4_0= '|1' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9137:1: (lv_isNullFree_4_0= '|1' ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9138:3: lv_isNullFree_4_0= '|1' { lv_isNullFree_4_0=(Token)match(input,135,FollowSets000.FOLLOW_135_in_ruleMultiplicityCS20259); 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", true, "|1"); } } } } break; } otherlv_5=(Token)match(input,124,FollowSets000.FOLLOW_124_in_ruleMultiplicityCS20286); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9163:1: entryRuleMultiplicityStringCS returns [EObject current=null] : iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF ; public final EObject entryRuleMultiplicityStringCS() throws RecognitionException { EObject current = null; EObject iv_ruleMultiplicityStringCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9164:2: (iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9165:2: iv_ruleMultiplicityStringCS= ruleMultiplicityStringCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMultiplicityStringCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleMultiplicityStringCS_in_entryRuleMultiplicityStringCS20322); iv_ruleMultiplicityStringCS=ruleMultiplicityStringCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMultiplicityStringCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMultiplicityStringCS20332); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMultiplicityStringCS" // $ANTLR start "ruleMultiplicityStringCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9172:1: ruleMultiplicityStringCS returns [EObject current=null] : ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) ; public final EObject ruleMultiplicityStringCS() throws RecognitionException { EObject current = null; Token lv_stringBounds_0_1=null; Token lv_stringBounds_0_2=null; Token lv_stringBounds_0_3=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9175:28: ( ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9176:1: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9176:1: ( ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9177:1: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9177:1: ( (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9178:1: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9178:1: (lv_stringBounds_0_1= '*' | lv_stringBounds_0_2= '+' | lv_stringBounds_0_3= '?' ) int alt203=3; switch ( input.LA(1) ) { case 83: { alt203=1; } break; case 85: { alt203=2; } break; case 136: { alt203=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 203, 0, input); throw nvae; } switch (alt203) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9179:3: lv_stringBounds_0_1= '*' { lv_stringBounds_0_1=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleMultiplicityStringCS20376); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_stringBounds_0_1, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsAsteriskKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getMultiplicityStringCSRule()); } setWithLastConsumed(current, "stringBounds", lv_stringBounds_0_1, null); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9191:8: lv_stringBounds_0_2= '+' { lv_stringBounds_0_2=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleMultiplicityStringCS20405); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_stringBounds_0_2, grammarAccess.getMultiplicityStringCSAccess().getStringBoundsPlusSignKeyword_0_1()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getMultiplicityStringCSRule()); } setWithLastConsumed(current, "stringBounds", lv_stringBounds_0_2, null); } } break; case 3 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9203:8: lv_stringBounds_0_3= '?' { lv_stringBounds_0_3=(Token)match(input,136,FollowSets000.FOLLOW_136_in_ruleMultiplicityStringCS20434); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9226:1: entryRulePathNameCS returns [EObject current=null] : iv_rulePathNameCS= rulePathNameCS EOF ; public final EObject entryRulePathNameCS() throws RecognitionException { EObject current = null; EObject iv_rulePathNameCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9227:2: (iv_rulePathNameCS= rulePathNameCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9228:2: iv_rulePathNameCS= rulePathNameCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPathNameCSRule()); } pushFollow(FollowSets000.FOLLOW_rulePathNameCS_in_entryRulePathNameCS20485); iv_rulePathNameCS=rulePathNameCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePathNameCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePathNameCS20495); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePathNameCS" // $ANTLR start "rulePathNameCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9235: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9238:28: ( ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9239:1: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9239:1: ( ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9239:2: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9239:2: ( (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9240:1: (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9240:1: (lv_ownedPathElements_0_0= ruleFirstPathElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9241:3: lv_ownedPathElements_0_0= ruleFirstPathElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPathNameCSAccess().getOwnedPathElementsFirstPathElementCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleFirstPathElementCS_in_rulePathNameCS20541); 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, "FirstPathElementCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9257:2: (otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) )* loop204: do { int alt204=2; int LA204_0 = input.LA(1); if ( (LA204_0==99) ) { alt204=1; } switch (alt204) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9257:4: otherlv_1= '::' ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) { otherlv_1=(Token)match(input,99,FollowSets000.FOLLOW_99_in_rulePathNameCS20554); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getPathNameCSAccess().getColonColonKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9261:1: ( (lv_ownedPathElements_2_0= ruleNextPathElementCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9262:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9262:1: (lv_ownedPathElements_2_0= ruleNextPathElementCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9263:3: lv_ownedPathElements_2_0= ruleNextPathElementCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPathNameCSAccess().getOwnedPathElementsNextPathElementCSParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_rulePathNameCS20575); 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, "NextPathElementCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop204; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "rulePathNameCS" // $ANTLR start "entryRuleFirstPathElementCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9287:1: entryRuleFirstPathElementCS returns [EObject current=null] : iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF ; public final EObject entryRuleFirstPathElementCS() throws RecognitionException { EObject current = null; EObject iv_ruleFirstPathElementCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9288:2: (iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9289:2: iv_ruleFirstPathElementCS= ruleFirstPathElementCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFirstPathElementCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleFirstPathElementCS_in_entryRuleFirstPathElementCS20613); iv_ruleFirstPathElementCS=ruleFirstPathElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFirstPathElementCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFirstPathElementCS20623); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFirstPathElementCS" // $ANTLR start "ruleFirstPathElementCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9296:1: ruleFirstPathElementCS returns [EObject current=null] : ( ( ruleUnrestrictedName ) ) ; public final EObject ruleFirstPathElementCS() throws RecognitionException { EObject current = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9299:28: ( ( ( ruleUnrestrictedName ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9300:1: ( ( ruleUnrestrictedName ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9300:1: ( ( ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9301:1: ( ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9301:1: ( ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9302:3: 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_ruleUnrestrictedName_in_ruleFirstPathElementCS20674); ruleUnrestrictedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFirstPathElementCS" // $ANTLR start "entryRuleNextPathElementCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9326:1: entryRuleNextPathElementCS returns [EObject current=null] : iv_ruleNextPathElementCS= ruleNextPathElementCS EOF ; public final EObject entryRuleNextPathElementCS() throws RecognitionException { EObject current = null; EObject iv_ruleNextPathElementCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9327:2: (iv_ruleNextPathElementCS= ruleNextPathElementCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9328:2: iv_ruleNextPathElementCS= ruleNextPathElementCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNextPathElementCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleNextPathElementCS_in_entryRuleNextPathElementCS20709); iv_ruleNextPathElementCS=ruleNextPathElementCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNextPathElementCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNextPathElementCS20719); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNextPathElementCS" // $ANTLR start "ruleNextPathElementCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9335:1: ruleNextPathElementCS returns [EObject current=null] : ( ( ruleUnreservedName ) ) ; public final EObject ruleNextPathElementCS() throws RecognitionException { EObject current = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9338:28: ( ( ( ruleUnreservedName ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9339:1: ( ( ruleUnreservedName ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9339:1: ( ( ruleUnreservedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9340:1: ( ruleUnreservedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9340:1: ( ruleUnreservedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9341:3: 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_ruleUnreservedName_in_ruleNextPathElementCS20770); 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 "entryRuleTemplateBindingCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9365:1: entryRuleTemplateBindingCS returns [EObject current=null] : iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF ; public final EObject entryRuleTemplateBindingCS() throws RecognitionException { EObject current = null; EObject iv_ruleTemplateBindingCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9366:2: (iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9367:2: iv_ruleTemplateBindingCS= ruleTemplateBindingCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateBindingCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateBindingCS_in_entryRuleTemplateBindingCS20805); iv_ruleTemplateBindingCS=ruleTemplateBindingCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTemplateBindingCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateBindingCS20815); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTemplateBindingCS" // $ANTLR start "ruleTemplateBindingCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9374:1: ruleTemplateBindingCS returns [EObject current=null] : ( ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) ; public final EObject ruleTemplateBindingCS() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject lv_ownedSubstitutions_0_0 = null; EObject lv_ownedSubstitutions_2_0 = null; EObject lv_ownedMultiplicity_3_0 = null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9377:28: ( ( ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9378:1: ( ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9378:1: ( ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9378:2: ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9378:2: ( (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9379:1: (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9379:1: (lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9380:3: lv_ownedSubstitutions_0_0= ruleTemplateParameterSubstitutionCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS20861); lv_ownedSubstitutions_0_0=ruleTemplateParameterSubstitutionCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTemplateBindingCSRule()); } add( current, "ownedSubstitutions", lv_ownedSubstitutions_0_0, "TemplateParameterSubstitutionCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9396:2: (otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) )* loop205: do { int alt205=2; int LA205_0 = input.LA(1); if ( (LA205_0==59) ) { alt205=1; } switch (alt205) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9396:4: otherlv_1= ',' ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) { otherlv_1=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleTemplateBindingCS20874); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTemplateBindingCSAccess().getCommaKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9400:1: ( (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9401:1: (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9401:1: (lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9402:3: lv_ownedSubstitutions_2_0= ruleTemplateParameterSubstitutionCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateBindingCSAccess().getOwnedSubstitutionsTemplateParameterSubstitutionCSParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS20895); lv_ownedSubstitutions_2_0=ruleTemplateParameterSubstitutionCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTemplateBindingCSRule()); } add( current, "ownedSubstitutions", lv_ownedSubstitutions_2_0, "TemplateParameterSubstitutionCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop205; } } while (true); // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9418:4: ( (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) )? int alt206=2; int LA206_0 = input.LA(1); if ( (LA206_0==123) ) { alt206=1; } switch (alt206) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9419:1: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9419:1: (lv_ownedMultiplicity_3_0= ruleMultiplicityCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9420:3: lv_ownedMultiplicity_3_0= ruleMultiplicityCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateBindingCSAccess().getOwnedMultiplicityMultiplicityCSParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleMultiplicityCS_in_ruleTemplateBindingCS20918); lv_ownedMultiplicity_3_0=ruleMultiplicityCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTemplateBindingCSRule()); } set( current, "ownedMultiplicity", lv_ownedMultiplicity_3_0, "MultiplicityCS"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTemplateBindingCS" // $ANTLR start "entryRuleTemplateParameterSubstitutionCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9444:1: entryRuleTemplateParameterSubstitutionCS returns [EObject current=null] : iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF ; public final EObject entryRuleTemplateParameterSubstitutionCS() throws RecognitionException { EObject current = null; EObject iv_ruleTemplateParameterSubstitutionCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9445:2: (iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9446:2: iv_ruleTemplateParameterSubstitutionCS= ruleTemplateParameterSubstitutionCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateParameterSubstitutionCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTemplateParameterSubstitutionCS_in_entryRuleTemplateParameterSubstitutionCS20955); iv_ruleTemplateParameterSubstitutionCS=ruleTemplateParameterSubstitutionCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTemplateParameterSubstitutionCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTemplateParameterSubstitutionCS20965); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTemplateParameterSubstitutionCS" // $ANTLR start "ruleTemplateParameterSubstitutionCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9453: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9456:28: ( ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9457:1: ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9457:1: ( (lv_ownedActualParameter_0_0= ruleTypeRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9458:1: (lv_ownedActualParameter_0_0= ruleTypeRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9458:1: (lv_ownedActualParameter_0_0= ruleTypeRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9459:3: lv_ownedActualParameter_0_0= ruleTypeRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTemplateParameterSubstitutionCSAccess().getOwnedActualParameterTypeRefCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypeRefCS_in_ruleTemplateParameterSubstitutionCS21010); 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, "TypeRefCS"); afterParserOrEnumRuleCall(); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTemplateParameterSubstitutionCS" // $ANTLR start "entryRuleTypeParameterCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9483:1: entryRuleTypeParameterCS returns [EObject current=null] : iv_ruleTypeParameterCS= ruleTypeParameterCS EOF ; public final EObject entryRuleTypeParameterCS() throws RecognitionException { EObject current = null; EObject iv_ruleTypeParameterCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9484:2: (iv_ruleTypeParameterCS= ruleTypeParameterCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9485:2: iv_ruleTypeParameterCS= ruleTypeParameterCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeParameterCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTypeParameterCS_in_entryRuleTypeParameterCS21045); iv_ruleTypeParameterCS=ruleTypeParameterCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypeParameterCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeParameterCS21055); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypeParameterCS" // $ANTLR start "ruleTypeParameterCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9492: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9495:28: ( ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9496:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9496:1: ( ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9496:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9496:2: ( (lv_name_0_0= ruleUnrestrictedName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9497:1: (lv_name_0_0= ruleUnrestrictedName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9497:1: (lv_name_0_0= ruleUnrestrictedName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9498:3: lv_name_0_0= ruleUnrestrictedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeParameterCSAccess().getNameUnrestrictedNameParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleUnrestrictedName_in_ruleTypeParameterCS21101); 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, "UnrestrictedName"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9514:2: (otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* )? int alt208=2; int LA208_0 = input.LA(1); if ( (LA208_0==30) ) { alt208=1; } switch (alt208) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9514:4: otherlv_1= 'extends' ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* { otherlv_1=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleTypeParameterCS21114); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getTypeParameterCSAccess().getExtendsKeyword_1_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9518:1: ( (lv_ownedExtends_2_0= ruleTypedRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9519:1: (lv_ownedExtends_2_0= ruleTypedRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9519:1: (lv_ownedExtends_2_0= ruleTypedRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9520:3: lv_ownedExtends_2_0= ruleTypedRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS21135); 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, "TypedRefCS"); afterParserOrEnumRuleCall(); } } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9536:2: (otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) )* loop207: do { int alt207=2; int LA207_0 = input.LA(1); if ( (LA207_0==137) ) { alt207=1; } switch (alt207) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9536:4: otherlv_3= '&&' ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) { otherlv_3=(Token)match(input,137,FollowSets000.FOLLOW_137_in_ruleTypeParameterCS21148); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getTypeParameterCSAccess().getAmpersandAmpersandKeyword_1_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9540:1: ( (lv_ownedExtends_4_0= ruleTypedRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9541:1: (lv_ownedExtends_4_0= ruleTypedRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9541:1: (lv_ownedExtends_4_0= ruleTypedRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9542:3: lv_ownedExtends_4_0= ruleTypedRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeParameterCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS21169); 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, "TypedRefCS"); afterParserOrEnumRuleCall(); } } } } break; default : break loop207; } } while (true); } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTypeParameterCS" // $ANTLR start "entryRuleTypeRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9566:1: entryRuleTypeRefCS returns [EObject current=null] : iv_ruleTypeRefCS= ruleTypeRefCS EOF ; public final EObject entryRuleTypeRefCS() throws RecognitionException { EObject current = null; EObject iv_ruleTypeRefCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9567:2: (iv_ruleTypeRefCS= ruleTypeRefCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9568:2: iv_ruleTypeRefCS= ruleTypeRefCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeRefCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleTypeRefCS_in_entryRuleTypeRefCS21209); iv_ruleTypeRefCS=ruleTypeRefCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypeRefCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTypeRefCS21219); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypeRefCS" // $ANTLR start "ruleTypeRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9575: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9578:28: ( (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9579:1: (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9579:1: (this_TypedRefCS_0= ruleTypedRefCS | this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS ) int alt209=2; int LA209_0 = input.LA(1); if ( ((LA209_0>=RULE_SIMPLE_ID && LA209_0<=RULE_ESCAPED_ID)||LA209_0==17||(LA209_0>=19 && LA209_0<=53)||LA209_0==58||LA209_0==71||(LA209_0>=73 && LA209_0<=74)||LA209_0==79||(LA209_0>=97 && LA209_0<=98)||(LA209_0>=100 && LA209_0<=112)) ) { alt209=1; } else if ( (LA209_0==136) ) { 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 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9580:2: this_TypedRefCS_0= ruleTypedRefCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeRefCSAccess().getTypedRefCSParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleTypeRefCS21269); this_TypedRefCS_0=ruleTypedRefCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TypedRefCS_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9593:2: this_WildcardTypeRefCS_1= ruleWildcardTypeRefCS { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeRefCSAccess().getWildcardTypeRefCSParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleWildcardTypeRefCS_in_ruleTypeRefCS21299); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9612:1: entryRuleWildcardTypeRefCS returns [EObject current=null] : iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF ; public final EObject entryRuleWildcardTypeRefCS() throws RecognitionException { EObject current = null; EObject iv_ruleWildcardTypeRefCS = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9613:2: (iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9614:2: iv_ruleWildcardTypeRefCS= ruleWildcardTypeRefCS EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getWildcardTypeRefCSRule()); } pushFollow(FollowSets000.FOLLOW_ruleWildcardTypeRefCS_in_entryRuleWildcardTypeRefCS21334); iv_ruleWildcardTypeRefCS=ruleWildcardTypeRefCS(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleWildcardTypeRefCS; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWildcardTypeRefCS21344); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleWildcardTypeRefCS" // $ANTLR start "ruleWildcardTypeRefCS" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9621: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9624:28: ( ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9625:1: ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9625:1: ( () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9625:2: () otherlv_1= '?' (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9625:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9626:2: { if ( state.backtracking==0 ) { /* */ } if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getWildcardTypeRefCSAccess().getWildcardTypeRefCSAction_0(), current); } } otherlv_1=(Token)match(input,136,FollowSets000.FOLLOW_136_in_ruleWildcardTypeRefCS21393); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getWildcardTypeRefCSAccess().getQuestionMarkKeyword_1()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9638:1: (otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) )? int alt210=2; int LA210_0 = input.LA(1); if ( (LA210_0==30) ) { alt210=1; } switch (alt210) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9638:3: otherlv_2= 'extends' ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) { otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleWildcardTypeRefCS21406); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getWildcardTypeRefCSAccess().getExtendsKeyword_2_0()); } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9642:1: ( (lv_ownedExtends_3_0= ruleTypedRefCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9643:1: (lv_ownedExtends_3_0= ruleTypedRefCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9643:1: (lv_ownedExtends_3_0= ruleTypedRefCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9644:3: lv_ownedExtends_3_0= ruleTypedRefCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getWildcardTypeRefCSAccess().getOwnedExtendsTypedRefCSParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleTypedRefCS_in_ruleWildcardTypeRefCS21427); 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, "TypedRefCS"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleWildcardTypeRefCS" // $ANTLR start "entryRuleID" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9668:1: entryRuleID returns [String current=null] : iv_ruleID= ruleID EOF ; public final String entryRuleID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleID = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9669:2: (iv_ruleID= ruleID EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9670:2: iv_ruleID= ruleID EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIDRule()); } pushFollow(FollowSets000.FOLLOW_ruleID_in_entryRuleID21466); iv_ruleID=ruleID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleID.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleID21477); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleID" // $ANTLR start "ruleID" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9677:1: ruleID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) ; public final AntlrDatatypeRuleToken ruleID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_SIMPLE_ID_0=null; Token this_ESCAPED_ID_1=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9680:28: ( (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9681:1: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9681:1: (this_SIMPLE_ID_0= RULE_SIMPLE_ID | this_ESCAPED_ID_1= RULE_ESCAPED_ID ) int alt211=2; int LA211_0 = input.LA(1); if ( (LA211_0==RULE_SIMPLE_ID) ) { alt211=1; } else if ( (LA211_0==RULE_ESCAPED_ID) ) { alt211=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 211, 0, input); throw nvae; } switch (alt211) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9681:6: this_SIMPLE_ID_0= RULE_SIMPLE_ID { this_SIMPLE_ID_0=(Token)match(input,RULE_SIMPLE_ID,FollowSets000.FOLLOW_RULE_SIMPLE_ID_in_ruleID21517); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_SIMPLE_ID_0); } if ( state.backtracking==0 ) { newLeafNode(this_SIMPLE_ID_0, grammarAccess.getIDAccess().getSIMPLE_IDTerminalRuleCall_0()); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9689:10: this_ESCAPED_ID_1= RULE_ESCAPED_ID { this_ESCAPED_ID_1=(Token)match(input,RULE_ESCAPED_ID,FollowSets000.FOLLOW_RULE_ESCAPED_ID_in_ruleID21543); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9704:1: entryRuleIdentifier returns [String current=null] : iv_ruleIdentifier= ruleIdentifier EOF ; public final String entryRuleIdentifier() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleIdentifier = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9705:2: (iv_ruleIdentifier= ruleIdentifier EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9706:2: iv_ruleIdentifier= ruleIdentifier EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIdentifierRule()); } pushFollow(FollowSets000.FOLLOW_ruleIdentifier_in_entryRuleIdentifier21589); iv_ruleIdentifier=ruleIdentifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleIdentifier.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIdentifier21600); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleIdentifier" // $ANTLR start "ruleIdentifier" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9713: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9716:28: (this_ID_0= ruleID ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9718:5: this_ID_0= ruleID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIdentifierAccess().getIDParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_ruleID_in_ruleIdentifier21646); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9736:1: entryRuleLOWER returns [String current=null] : iv_ruleLOWER= ruleLOWER EOF ; public final String entryRuleLOWER() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleLOWER = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9737:2: (iv_ruleLOWER= ruleLOWER EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9738:2: iv_ruleLOWER= ruleLOWER EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLOWERRule()); } pushFollow(FollowSets000.FOLLOW_ruleLOWER_in_entryRuleLOWER21691); iv_ruleLOWER=ruleLOWER(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleLOWER.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLOWER21702); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleLOWER" // $ANTLR start "ruleLOWER" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9745:1: ruleLOWER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ; public final AntlrDatatypeRuleToken ruleLOWER() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_INT_0=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9748:28: (this_INT_0= RULE_INT ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9749:5: this_INT_0= RULE_INT { this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleLOWER21741); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9764:1: entryRuleNUMBER_LITERAL returns [String current=null] : iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF ; public final String entryRuleNUMBER_LITERAL() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleNUMBER_LITERAL = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9765:2: (iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9766:2: iv_ruleNUMBER_LITERAL= ruleNUMBER_LITERAL EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNUMBER_LITERALRule()); } pushFollow(FollowSets000.FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL21786); iv_ruleNUMBER_LITERAL=ruleNUMBER_LITERAL(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNUMBER_LITERAL.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNUMBER_LITERAL21797); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleNUMBER_LITERAL" // $ANTLR start "ruleNUMBER_LITERAL" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9773: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9776:28: (this_INT_0= RULE_INT ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9777:5: this_INT_0= RULE_INT { this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL21836); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9792:1: entryRuleStringLiteral returns [String current=null] : iv_ruleStringLiteral= ruleStringLiteral EOF ; public final String entryRuleStringLiteral() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleStringLiteral = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9793:2: (iv_ruleStringLiteral= ruleStringLiteral EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9794:2: iv_ruleStringLiteral= ruleStringLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStringLiteralRule()); } pushFollow(FollowSets000.FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral21881); iv_ruleStringLiteral=ruleStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStringLiteral.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStringLiteral21892); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStringLiteral" // $ANTLR start "ruleStringLiteral" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9801:1: ruleStringLiteral returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ; public final AntlrDatatypeRuleToken ruleStringLiteral() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_SINGLE_QUOTED_STRING_0=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9804:28: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9805:5: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING { this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStringLiteral21931); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9820:1: entryRuleUPPER returns [String current=null] : iv_ruleUPPER= ruleUPPER EOF ; public final String entryRuleUPPER() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleUPPER = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9821:2: (iv_ruleUPPER= ruleUPPER EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9822:2: iv_ruleUPPER= ruleUPPER EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getUPPERRule()); } pushFollow(FollowSets000.FOLLOW_ruleUPPER_in_entryRuleUPPER21976); iv_ruleUPPER=ruleUPPER(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleUPPER.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleUPPER21987); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleUPPER" // $ANTLR start "ruleUPPER" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9829:1: ruleUPPER returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | kw= '*' ) ; public final AntlrDatatypeRuleToken ruleUPPER() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_INT_0=null; Token kw=null; enterRule(); try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9832:28: ( (this_INT_0= RULE_INT | kw= '*' ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9833:1: (this_INT_0= RULE_INT | kw= '*' ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9833:1: (this_INT_0= RULE_INT | kw= '*' ) int alt212=2; int LA212_0 = input.LA(1); if ( (LA212_0==RULE_INT) ) { alt212=1; } else if ( (LA212_0==83) ) { alt212=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 212, 0, input); throw nvae; } switch (alt212) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9833:6: this_INT_0= RULE_INT { this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleUPPER22027); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_INT_0); } if ( state.backtracking==0 ) { newLeafNode(this_INT_0, grammarAccess.getUPPERAccess().getINTTerminalRuleCall_0()); } } break; case 2 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9842:2: kw= '*' { kw=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleUPPER22051); 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" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9855:1: entryRuleURI returns [String current=null] : iv_ruleURI= ruleURI EOF ; public final String entryRuleURI() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleURI = null; try { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9856:2: (iv_ruleURI= ruleURI EOF ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9857:2: iv_ruleURI= ruleURI EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getURIRule()); } pushFollow(FollowSets000.FOLLOW_ruleURI_in_entryRuleURI22092); iv_ruleURI=ruleURI(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleURI.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleURI22103); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleURI" // $ANTLR start "ruleURI" // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9864: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 { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9867:28: (this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:9868:5: this_SINGLE_QUOTED_STRING_0= RULE_SINGLE_QUOTED_STRING { this_SINGLE_QUOTED_STRING_0=(Token)match(input,RULE_SINGLE_QUOTED_STRING,FollowSets000.FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleURI22142); 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 synpred302_InternalOCLinEcore public final void synpred302_InternalOCLinEcore_fragment() throws RecognitionException { EObject this_TypeLiteralCS_1 = null; // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7215:2: (this_TypeLiteralCS_1= ruleTypeLiteralCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7215:2: this_TypeLiteralCS_1= ruleTypeLiteralCS { if ( state.backtracking==0 ) { /* */ } pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralCS_in_synpred302_InternalOCLinEcore16340); this_TypeLiteralCS_1=ruleTypeLiteralCS(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred302_InternalOCLinEcore // $ANTLR start synpred305_InternalOCLinEcore public final void synpred305_InternalOCLinEcore_fragment() throws RecognitionException { EObject this_PrefixedPrimaryExpCS_0 = null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_ownedRight_3_0 = null; // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7278:2: ( (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7278:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7278:2: (this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7279:2: this_PrefixedPrimaryExpCS_0= rulePrefixedPrimaryExpCS ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? { if ( state.backtracking==0 ) { /* */ } pushFollow(FollowSets000.FOLLOW_rulePrefixedPrimaryExpCS_in_synpred305_InternalOCLinEcore16489); this_PrefixedPrimaryExpCS_0=rulePrefixedPrimaryExpCS(); state._fsp--; if (state.failed) return ; // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7290:1: ( () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) )? int alt294=2; int LA294_0 = input.LA(1); if ( (LA294_0==18||LA294_0==62||(LA294_0>=80 && LA294_0<=81)||(LA294_0>=83 && LA294_0<=96)) ) { alt294=1; } switch (alt294) { case 1 : // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7290:2: () ( (lv_name_2_0= ruleBinaryOperatorName ) ) ( (lv_ownedRight_3_0= ruleExpCS ) ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7290:2: () // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7291:2: { if ( state.backtracking==0 ) { /* */ } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7299:2: ( (lv_name_2_0= ruleBinaryOperatorName ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7300:1: (lv_name_2_0= ruleBinaryOperatorName ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7300:1: (lv_name_2_0= ruleBinaryOperatorName ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7301:3: lv_name_2_0= ruleBinaryOperatorName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpCSAccess().getNameBinaryOperatorNameParserRuleCall_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleBinaryOperatorName_in_synpred305_InternalOCLinEcore16522); lv_name_2_0=ruleBinaryOperatorName(); state._fsp--; if (state.failed) return ; } } // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7317:2: ( (lv_ownedRight_3_0= ruleExpCS ) ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7318:1: (lv_ownedRight_3_0= ruleExpCS ) { // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7318:1: (lv_ownedRight_3_0= ruleExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7319:3: lv_ownedRight_3_0= ruleExpCS { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpCSAccess().getOwnedRightExpCSParserRuleCall_0_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpCS_in_synpred305_InternalOCLinEcore16543); lv_ownedRight_3_0=ruleExpCS(); state._fsp--; if (state.failed) return ; } } } break; } } } } // $ANTLR end synpred305_InternalOCLinEcore // $ANTLR start synpred312_InternalOCLinEcore public final void synpred312_InternalOCLinEcore_fragment() throws RecognitionException { EObject this_TupleLiteralExpCS_4 = null; // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7580:2: (this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7580:2: this_TupleLiteralExpCS_4= ruleTupleLiteralExpCS { if ( state.backtracking==0 ) { /* */ } pushFollow(FollowSets000.FOLLOW_ruleTupleLiteralExpCS_in_synpred312_InternalOCLinEcore17106); this_TupleLiteralExpCS_4=ruleTupleLiteralExpCS(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred312_InternalOCLinEcore // $ANTLR start synpred313_InternalOCLinEcore public final void synpred313_InternalOCLinEcore_fragment() throws RecognitionException { EObject this_MapLiteralExpCS_5 = null; // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7593:2: (this_MapLiteralExpCS_5= ruleMapLiteralExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7593:2: this_MapLiteralExpCS_5= ruleMapLiteralExpCS { if ( state.backtracking==0 ) { /* */ } pushFollow(FollowSets000.FOLLOW_ruleMapLiteralExpCS_in_synpred313_InternalOCLinEcore17136); this_MapLiteralExpCS_5=ruleMapLiteralExpCS(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred313_InternalOCLinEcore // $ANTLR start synpred314_InternalOCLinEcore public final void synpred314_InternalOCLinEcore_fragment() throws RecognitionException { EObject this_CollectionLiteralExpCS_6 = null; // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7606:2: (this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7606:2: this_CollectionLiteralExpCS_6= ruleCollectionLiteralExpCS { if ( state.backtracking==0 ) { /* */ } pushFollow(FollowSets000.FOLLOW_ruleCollectionLiteralExpCS_in_synpred314_InternalOCLinEcore17166); this_CollectionLiteralExpCS_6=ruleCollectionLiteralExpCS(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred314_InternalOCLinEcore // $ANTLR start synpred316_InternalOCLinEcore public final void synpred316_InternalOCLinEcore_fragment() throws RecognitionException { EObject this_TypeLiteralExpCS_8 = null; // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7632:2: (this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS ) // ../../plugins/org.eclipse.ocl.xtext.oclinecore/src-gen/org/eclipse/ocl/xtext/oclinecore/parser/antlr/internal/InternalOCLinEcore.g:7632:2: this_TypeLiteralExpCS_8= ruleTypeLiteralExpCS { if ( state.backtracking==0 ) { /* */ } pushFollow(FollowSets000.FOLLOW_ruleTypeLiteralExpCS_in_synpred316_InternalOCLinEcore17226); this_TypeLiteralExpCS_8=ruleTypeLiteralExpCS(); state._fsp--; if (state.failed) return ; } } // $ANTLR end synpred316_InternalOCLinEcore // Delegated rules public final boolean synpred314_InternalOCLinEcore() { state.backtracking++; int start = input.mark(); try { synpred314_InternalOCLinEcore_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 synpred313_InternalOCLinEcore() { state.backtracking++; int start = input.mark(); try { synpred313_InternalOCLinEcore_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 synpred305_InternalOCLinEcore() { state.backtracking++; int start = input.mark(); try { synpred305_InternalOCLinEcore_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 synpred312_InternalOCLinEcore() { state.backtracking++; int start = input.mark(); try { synpred312_InternalOCLinEcore_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 synpred316_InternalOCLinEcore() { state.backtracking++; int start = input.mark(); try { synpred316_InternalOCLinEcore_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 synpred302_InternalOCLinEcore() { state.backtracking++; int start = input.mark(); try { synpred302_InternalOCLinEcore_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 DFA64 dfa64 = new DFA64(this); protected DFA66 dfa66 = new DFA66(this); protected DFA120 dfa120 = new DFA120(this); protected DFA149 dfa149 = new DFA149(this); protected DFA152 dfa152 = new DFA152(this); protected DFA165 dfa165 = new DFA165(this); protected DFA168 dfa168 = new DFA168(this); protected DFA171 dfa171 = new DFA171(this); protected DFA195 dfa195 = new DFA195(this); static final String DFA64_eotS = "\56\uffff"; static final String DFA64_eofS = "\56\uffff"; static final String DFA64_minS = "\1\5\53\70\2\uffff"; static final String DFA64_maxS = "\1\117\53\143\2\uffff"; static final String DFA64_acceptS = "\54\uffff\1\2\1\1"; static final String DFA64_specialS = "\56\uffff}>"; static final String[] DFA64_transitionS = { "\1\54\2\uffff\1\1\1\2\7\uffff\1\25\1\uffff\1\3\1\4\1\5\1\6"+ "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22"+ "\1\23\1\24\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37"+ "\1\40\1\41\1\42\1\43\1\44\1\45\1\50\4\uffff\1\46\14\uffff\1"+ "\52\1\uffff\1\47\1\51\4\uffff\1\53", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "\1\55\1\54\21\uffff\1\54\27\uffff\1\54", "", "" }; static final short[] DFA64_eot = DFA.unpackEncodedString(DFA64_eotS); static final short[] DFA64_eof = DFA.unpackEncodedString(DFA64_eofS); static final char[] DFA64_min = DFA.unpackEncodedStringToUnsignedChars(DFA64_minS); static final char[] DFA64_max = DFA.unpackEncodedStringToUnsignedChars(DFA64_maxS); static final short[] DFA64_accept = DFA.unpackEncodedString(DFA64_acceptS); static final short[] DFA64_special = DFA.unpackEncodedString(DFA64_specialS); static final short[][] DFA64_transition; static { int numStates = DFA64_transitionS.length; DFA64_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA64_transition[i] = DFA.unpackEncodedString(DFA64_transitionS[i]); } } class DFA64 extends DFA { public DFA64(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 64; this.eot = DFA64_eot; this.eof = DFA64_eof; this.min = DFA64_min; this.max = DFA64_max; this.accept = DFA64_accept; this.special = DFA64_special; this.transition = DFA64_transition; } public String getDescription() { return "2341:2: ( ( (lv_name_2_0= ruleUnrestrictedName ) ) otherlv_3= ':' )?"; } } static final String DFA66_eotS = "\23\uffff"; static final String DFA66_eofS = "\23\uffff"; static final String DFA66_minS = "\1\10\1\27\1\10\1\31\2\10\1\uffff\1\10\1\24\3\10\1\24\2\uffff\1"+ "\24\2\uffff\1\24"; static final String DFA66_maxS = "\1\112\1\76\1\117\1\76\2\117\1\uffff\1\117\1\76\1\120\2\117\1\76"+ "\2\uffff\1\53\2\uffff\1\53"; static final String DFA66_acceptS = "\6\uffff\1\2\6\uffff\1\1\1\5\1\uffff\1\3\1\4\1\uffff"; static final String DFA66_specialS = "\23\uffff}>"; static final String[] DFA66_transitionS = { "\2\6\7\uffff\1\6\1\uffff\1\1\1\7\2\6\1\2\1\6\1\4\1\10\2\6\1"+ "\5\7\6\1\11\1\6\1\12\2\6\1\3\1\13\3\6\1\14\5\6\25\uffff\1\6", "\1\15\41\uffff\1\6\2\uffff\1\6\1\uffff\1\6", "\2\15\7\uffff\1\15\1\uffff\43\15\3\uffff\1\6\1\15\1\uffff"+ "\1\6\1\uffff\1\6\10\uffff\1\15\1\uffff\2\15\4\uffff\1\15", "\1\15\37\uffff\1\6\2\uffff\1\6\1\uffff\1\6", "\2\15\7\uffff\1\15\1\uffff\43\15\3\uffff\1\6\1\15\1\uffff"+ "\1\6\1\uffff\1\6\10\uffff\1\15\1\uffff\2\15\4\uffff\1\15", "\2\15\7\uffff\1\15\1\uffff\43\15\3\uffff\1\6\1\15\1\uffff"+ "\1\6\1\uffff\1\6\10\uffff\1\15\1\uffff\2\15\4\uffff\1\15", "", "\2\16\7\uffff\1\16\1\uffff\43\16\3\uffff\1\6\1\16\1\uffff"+ "\1\6\1\uffff\1\6\10\uffff\1\16\1\uffff\2\16\4\uffff\1\16", "\1\16\20\uffff\1\20\5\uffff\1\16\3\uffff\1\17\11\uffff\1\6"+ "\2\uffff\1\6\1\uffff\1\6", "\2\20\7\uffff\1\20\1\uffff\44\20\2\uffff\1\6\1\20\1\uffff"+ "\1\6\1\uffff\1\6\10\uffff\1\20\1\uffff\2\20\4\uffff\2\20", "\2\21\7\uffff\1\21\1\uffff\43\21\3\uffff\1\6\1\21\1\uffff"+ "\1\6\1\uffff\1\6\10\uffff\1\21\1\uffff\2\21\4\uffff\1\21", "\2\16\7\uffff\1\16\1\uffff\43\16\3\uffff\1\6\1\16\1\uffff"+ "\1\6\1\uffff\1\6\10\uffff\1\16\1\uffff\2\16\4\uffff\1\16", "\1\16\5\uffff\1\22\12\uffff\1\20\5\uffff\1\16\15\uffff\1\6"+ "\2\uffff\1\6\1\uffff\1\6", "", "", "\1\16\20\uffff\1\20\5\uffff\1\16", "", "", "\1\16\20\uffff\1\20\5\uffff\1\16" }; static final short[] DFA66_eot = DFA.unpackEncodedString(DFA66_eotS); static final short[] DFA66_eof = DFA.unpackEncodedString(DFA66_eofS); static final char[] DFA66_min = DFA.unpackEncodedStringToUnsignedChars(DFA66_minS); static final char[] DFA66_max = DFA.unpackEncodedStringToUnsignedChars(DFA66_maxS); static final short[] DFA66_accept = DFA.unpackEncodedString(DFA66_acceptS); static final short[] DFA66_special = DFA.unpackEncodedString(DFA66_specialS); static final short[][] DFA66_transition; static { int numStates = DFA66_transitionS.length; DFA66_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA66_transition[i] = DFA.unpackEncodedString(DFA66_transitionS[i]); } } class DFA66 extends DFA { public DFA66(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 66; this.eot = DFA66_eot; this.eof = DFA66_eof; this.min = DFA66_min; this.max = DFA66_max; this.accept = DFA66_accept; this.special = DFA66_special; this.transition = DFA66_transition; } public String getDescription() { return "2421:1: (this_ClassCS_0= ruleClassCS | this_EnumerationLiteralCS_1= ruleEnumerationLiteralCS | this_OperationCS_2= ruleOperationCS | this_PackageCS_3= rulePackageCS | this_StructuralFeatureCS_4= ruleStructuralFeatureCS )"; } } static final String DFA120_eotS = "\12\uffff"; static final String DFA120_eofS = "\12\uffff"; static final String DFA120_minS = "\1\24\2\uffff\2\24\3\uffff\2\24"; static final String DFA120_maxS = "\1\117\2\uffff\1\53\1\57\3\uffff\2\53"; static final String DFA120_acceptS = "\1\uffff\1\5\1\1\2\uffff\1\2\1\3\1\4\2\uffff"; static final String DFA120_specialS = "\12\uffff}>"; static final String[] DFA120_transitionS = { "\1\6\1\uffff\1\7\3\uffff\1\4\12\uffff\1\5\5\uffff\1\6\3\uffff"+ "\1\3\5\uffff\1\7\4\uffff\1\2\2\uffff\1\1\13\uffff\1\2\5\uffff"+ "\1\2", "", "", "\1\6\5\uffff\1\10\12\uffff\1\5\5\uffff\1\6", "\1\6\20\uffff\1\5\5\uffff\1\6\3\uffff\1\11", "", "", "", "\1\6\20\uffff\1\5\5\uffff\1\6", "\1\6\20\uffff\1\5\5\uffff\1\6" }; static final short[] DFA120_eot = DFA.unpackEncodedString(DFA120_eotS); static final short[] DFA120_eof = DFA.unpackEncodedString(DFA120_eofS); static final char[] DFA120_min = DFA.unpackEncodedStringToUnsignedChars(DFA120_minS); static final char[] DFA120_max = DFA.unpackEncodedStringToUnsignedChars(DFA120_maxS); static final short[] DFA120_accept = DFA.unpackEncodedString(DFA120_acceptS); static final short[] DFA120_special = DFA.unpackEncodedString(DFA120_specialS); static final short[][] DFA120_transition; static { int numStates = DFA120_transitionS.length; DFA120_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA120_transition[i] = DFA.unpackEncodedString(DFA120_transitionS[i]); } } class DFA120 extends DFA { public DFA120(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 120; this.eot = DFA120_eot; this.eof = DFA120_eof; this.min = DFA120_min; this.max = DFA120_max; this.accept = DFA120_accept; this.special = DFA120_special; this.transition = DFA120_transition; } public String getDescription() { return "()* loopback of 4164:1: ( ( (lv_ownedAnnotations_14_0= ruleAnnotationElementCS ) ) | ( (lv_ownedOperations_15_0= ruleOperationCS ) ) | ( (lv_ownedProperties_16_0= ruleStructuralFeatureCS ) ) | ( (lv_ownedConstraints_17_0= ruleInvariantConstraintCS ) ) )*"; } } static final String DFA149_eotS = "\56\uffff"; static final String DFA149_eofS = "\2\uffff\53\1\1\uffff"; static final String DFA149_minS = "\1\4\1\uffff\53\22\1\uffff"; static final String DFA149_maxS = "\1\u0085\1\uffff\53\173\1\uffff"; static final String DFA149_acceptS = "\1\uffff\1\1\53\uffff\1\2"; static final String DFA149_specialS = "\56\uffff}>"; static final String[] DFA149_transitionS = { "\2\1\2\uffff\1\2\1\3\7\uffff\1\26\1\1\1\4\1\5\1\6\1\7\1\10"+ "\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+ "\1\25\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41"+ "\1\42\1\43\1\44\1\45\1\46\1\51\1\1\1\uffff\1\55\1\uffff\1\47"+ "\14\uffff\1\53\1\uffff\1\50\1\52\4\uffff\1\54\2\uffff\2\1\15"+ "\uffff\2\1\1\uffff\15\1\2\uffff\1\1\1\uffff\4\1\6\uffff\1\1"+ "\4\uffff\2\1", "", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\15\uffff\1\1\7\uffff\1\1\1\uffff\1\1", "" }; static final short[] DFA149_eot = DFA.unpackEncodedString(DFA149_eotS); static final short[] DFA149_eof = DFA.unpackEncodedString(DFA149_eofS); static final char[] DFA149_min = DFA.unpackEncodedStringToUnsignedChars(DFA149_minS); static final char[] DFA149_max = DFA.unpackEncodedStringToUnsignedChars(DFA149_maxS); static final short[] DFA149_accept = DFA.unpackEncodedString(DFA149_acceptS); static final short[] DFA149_special = DFA.unpackEncodedString(DFA149_specialS); static final short[][] DFA149_transition; static { int numStates = DFA149_transitionS.length; DFA149_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA149_transition[i] = DFA.unpackEncodedString(DFA149_transitionS[i]); } } class DFA149 extends DFA { public DFA149(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 149; this.eot = DFA149_eot; this.eof = DFA149_eof; this.min = DFA149_min; this.max = DFA149_max; this.accept = DFA149_accept; this.special = DFA149_special; this.transition = DFA149_transition; } public String getDescription() { return "5942:1: ( ( ( (lv_ownedExpression_0_0= ruleExpCS ) ) (otherlv_1= '..' ( (lv_ownedLastExpression_2_0= ruleExpCS ) ) )? ) | ( (lv_ownedExpression_3_0= rulePatternExpCS ) ) )"; } } static final String DFA152_eotS = "\56\uffff"; static final String DFA152_eofS = "\2\uffff\53\1\1\uffff"; static final String DFA152_minS = "\1\4\1\uffff\53\22\1\uffff"; static final String DFA152_maxS = "\1\u0085\1\uffff\53\173\1\uffff"; static final String DFA152_acceptS = "\1\uffff\1\1\53\uffff\1\2"; static final String DFA152_specialS = "\56\uffff}>"; static final String[] DFA152_transitionS = { "\2\1\2\uffff\1\2\1\3\7\uffff\1\26\1\1\1\4\1\5\1\6\1\7\1\10"+ "\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+ "\1\25\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41"+ "\1\42\1\43\1\44\1\45\1\46\1\51\1\1\1\uffff\1\55\1\uffff\1\47"+ "\14\uffff\1\53\1\uffff\1\50\1\52\4\uffff\1\54\2\uffff\2\1\15"+ "\uffff\2\1\1\uffff\15\1\2\uffff\1\1\1\uffff\4\1\6\uffff\1\1"+ "\4\uffff\2\1", "", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\2\uffff\4\1\21\uffff\2\1\1"+ "\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1", "" }; static final short[] DFA152_eot = DFA.unpackEncodedString(DFA152_eotS); static final short[] DFA152_eof = DFA.unpackEncodedString(DFA152_eofS); static final char[] DFA152_min = DFA.unpackEncodedStringToUnsignedChars(DFA152_minS); static final char[] DFA152_max = DFA.unpackEncodedStringToUnsignedChars(DFA152_maxS); static final short[] DFA152_accept = DFA.unpackEncodedString(DFA152_acceptS); static final short[] DFA152_special = DFA.unpackEncodedString(DFA152_specialS); static final short[][] DFA152_transition; static { int numStates = DFA152_transitionS.length; DFA152_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA152_transition[i] = DFA.unpackEncodedString(DFA152_transitionS[i]); } } class DFA152 extends DFA { public DFA152(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 152; this.eot = DFA152_eot; this.eof = DFA152_eof; this.min = DFA152_min; this.max = DFA152_max; this.accept = DFA152_accept; this.special = DFA152_special; this.transition = DFA152_transition; } public String getDescription() { return "6155:1: (lv_ownedInitExpression_2_1= ruleExpCS | lv_ownedInitExpression_2_2= rulePatternExpCS )"; } } static final String DFA165_eotS = "\74\uffff"; static final String DFA165_eofS = "\74\uffff"; static final String DFA165_minS = "\1\10\63\uffff\5\0\3\uffff"; static final String DFA165_maxS = "\1\160\63\uffff\5\0\3\uffff"; static final String DFA165_acceptS = "\1\uffff\1\1\52\uffff\1\2\16\uffff\1\3"; static final String DFA165_specialS = "\64\uffff\1\0\1\1\1\2\1\3\1\4\3\uffff}>"; static final String[] DFA165_transitionS = { "\2\1\7\uffff\1\1\1\uffff\43\1\4\uffff\1\1\14\uffff\1\1\1\uffff"+ "\2\1\4\uffff\1\1\21\uffff\2\54\1\uffff\10\54\1\64\1\65\1\66"+ "\1\67\1\70", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "" }; static final short[] DFA165_eot = DFA.unpackEncodedString(DFA165_eotS); static final short[] DFA165_eof = DFA.unpackEncodedString(DFA165_eofS); static final char[] DFA165_min = DFA.unpackEncodedStringToUnsignedChars(DFA165_minS); static final char[] DFA165_max = DFA.unpackEncodedStringToUnsignedChars(DFA165_maxS); static final short[] DFA165_accept = DFA.unpackEncodedString(DFA165_acceptS); static final short[] DFA165_special = DFA.unpackEncodedString(DFA165_specialS); static final short[][] DFA165_transition; static { int numStates = DFA165_transitionS.length; DFA165_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA165_transition[i] = DFA.unpackEncodedString(DFA165_transitionS[i]); } } class DFA165 extends DFA { public DFA165(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 165; this.eot = DFA165_eot; this.eof = DFA165_eof; this.min = DFA165_min; this.max = DFA165_max; this.accept = DFA165_accept; this.special = DFA165_special; this.transition = DFA165_transition; } public String getDescription() { return "7201: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 LA165_52 = input.LA(1); int index165_52 = input.index(); input.rewind(); s = -1; if ( (synpred302_InternalOCLinEcore()) ) {s = 44;} else if ( (true) ) {s = 59;} input.seek(index165_52); if ( s>=0 ) return s; break; case 1 : int LA165_53 = input.LA(1); int index165_53 = input.index(); input.rewind(); s = -1; if ( (synpred302_InternalOCLinEcore()) ) {s = 44;} else if ( (true) ) {s = 59;} input.seek(index165_53); if ( s>=0 ) return s; break; case 2 : int LA165_54 = input.LA(1); int index165_54 = input.index(); input.rewind(); s = -1; if ( (synpred302_InternalOCLinEcore()) ) {s = 44;} else if ( (true) ) {s = 59;} input.seek(index165_54); if ( s>=0 ) return s; break; case 3 : int LA165_55 = input.LA(1); int index165_55 = input.index(); input.rewind(); s = -1; if ( (synpred302_InternalOCLinEcore()) ) {s = 44;} else if ( (true) ) {s = 59;} input.seek(index165_55); if ( s>=0 ) return s; break; case 4 : int LA165_56 = input.LA(1); int index165_56 = input.index(); input.rewind(); s = -1; if ( (synpred302_InternalOCLinEcore()) ) {s = 44;} else if ( (true) ) {s = 59;} input.seek(index165_56); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 165, _s, input); error(nvae); throw nvae; } } static final String DFA168_eotS = "\111\uffff"; static final String DFA168_eofS = "\111\uffff"; static final String DFA168_minS = "\1\4\2\0\106\uffff"; static final String DFA168_maxS = "\1\u0085\2\0\106\uffff"; static final String DFA168_acceptS = "\3\uffff\1\1\104\uffff\1\2"; static final String DFA168_specialS = "\1\uffff\1\0\1\1\106\uffff}>"; static final String[] DFA168_transitionS = { "\2\3\2\uffff\2\3\7\uffff\1\3\1\1\44\3\3\uffff\1\3\14\uffff"+ "\1\3\1\uffff\2\3\4\uffff\1\3\2\uffff\1\2\1\3\15\uffff\2\3\1"+ "\uffff\15\3\2\uffff\1\3\1\uffff\4\3\6\uffff\1\3\4\uffff\1\110"+ "\1\3", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA168_eot = DFA.unpackEncodedString(DFA168_eotS); static final short[] DFA168_eof = DFA.unpackEncodedString(DFA168_eofS); static final char[] DFA168_min = DFA.unpackEncodedStringToUnsignedChars(DFA168_minS); static final char[] DFA168_max = DFA.unpackEncodedStringToUnsignedChars(DFA168_maxS); static final short[] DFA168_accept = DFA.unpackEncodedString(DFA168_acceptS); static final short[] DFA168_special = DFA.unpackEncodedString(DFA168_specialS); static final short[][] DFA168_transition; static { int numStates = DFA168_transitionS.length; DFA168_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA168_transition[i] = DFA.unpackEncodedString(DFA168_transitionS[i]); } } class DFA168 extends DFA { public DFA168(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 168; this.eot = DFA168_eot; this.eof = DFA168_eof; this.min = DFA168_min; this.max = DFA168_max; this.accept = DFA168_accept; this.special = DFA168_special; this.transition = DFA168_transition; } public String getDescription() { return "7278:1: ( (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 LA168_1 = input.LA(1); int index168_1 = input.index(); input.rewind(); s = -1; if ( (synpred305_InternalOCLinEcore()) ) {s = 3;} else if ( (true) ) {s = 72;} input.seek(index168_1); if ( s>=0 ) return s; break; case 1 : int LA168_2 = input.LA(1); int index168_2 = input.index(); input.rewind(); s = -1; if ( (synpred305_InternalOCLinEcore()) ) {s = 3;} else if ( (true) ) {s = 72;} input.seek(index168_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 168, _s, input); error(nvae); throw nvae; } } static final String DFA171_eotS = "\111\uffff"; static final String DFA171_eofS = "\111\uffff"; static final String DFA171_minS = "\1\4\12\uffff\7\0\67\uffff"; static final String DFA171_maxS = "\1\u0085\12\uffff\7\0\67\uffff"; static final String DFA171_acceptS = "\1\uffff\1\1\1\2\1\3\1\4\15\uffff\1\10\1\11\7\uffff\1\12\52\uffff"+ "\1\5\1\6\1\7"; static final String DFA171_specialS = "\13\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\67\uffff}>"; static final String[] DFA171_transitionS = { "\2\4\2\uffff\2\33\7\uffff\1\33\1\uffff\43\33\1\1\3\uffff\1"+ "\33\14\uffff\1\33\1\uffff\2\33\4\uffff\1\33\3\uffff\1\4\15\uffff"+ "\1\14\1\13\1\uffff\10\23\1\15\1\16\1\17\1\20\1\21\2\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[] DFA171_eot = DFA.unpackEncodedString(DFA171_eotS); static final short[] DFA171_eof = DFA.unpackEncodedString(DFA171_eofS); static final char[] DFA171_min = DFA.unpackEncodedStringToUnsignedChars(DFA171_minS); static final char[] DFA171_max = DFA.unpackEncodedStringToUnsignedChars(DFA171_maxS); static final short[] DFA171_accept = DFA.unpackEncodedString(DFA171_acceptS); static final short[] DFA171_special = DFA.unpackEncodedString(DFA171_specialS); static final short[][] DFA171_transition; static { int numStates = DFA171_transitionS.length; DFA171_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA171_transition[i] = DFA.unpackEncodedString(DFA171_transitionS[i]); } } class DFA171 extends DFA { public DFA171(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 171; this.eot = DFA171_eot; this.eof = DFA171_eof; this.min = DFA171_min; this.max = DFA171_max; this.accept = DFA171_accept; this.special = DFA171_special; this.transition = DFA171_transition; } public String getDescription() { return "7527:1: (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 LA171_11 = input.LA(1); int index171_11 = input.index(); input.rewind(); s = -1; if ( (synpred312_InternalOCLinEcore()) ) {s = 70;} else if ( (synpred316_InternalOCLinEcore()) ) {s = 19;} input.seek(index171_11); if ( s>=0 ) return s; break; case 1 : int LA171_12 = input.LA(1); int index171_12 = input.index(); input.rewind(); s = -1; if ( (synpred313_InternalOCLinEcore()) ) {s = 71;} else if ( (synpred316_InternalOCLinEcore()) ) {s = 19;} input.seek(index171_12); if ( s>=0 ) return s; break; case 2 : int LA171_13 = input.LA(1); int index171_13 = input.index(); input.rewind(); s = -1; if ( (synpred314_InternalOCLinEcore()) ) {s = 72;} else if ( (synpred316_InternalOCLinEcore()) ) {s = 19;} input.seek(index171_13); if ( s>=0 ) return s; break; case 3 : int LA171_14 = input.LA(1); int index171_14 = input.index(); input.rewind(); s = -1; if ( (synpred314_InternalOCLinEcore()) ) {s = 72;} else if ( (synpred316_InternalOCLinEcore()) ) {s = 19;} input.seek(index171_14); if ( s>=0 ) return s; break; case 4 : int LA171_15 = input.LA(1); int index171_15 = input.index(); input.rewind(); s = -1; if ( (synpred314_InternalOCLinEcore()) ) {s = 72;} else if ( (synpred316_InternalOCLinEcore()) ) {s = 19;} input.seek(index171_15); if ( s>=0 ) return s; break; case 5 : int LA171_16 = input.LA(1); int index171_16 = input.index(); input.rewind(); s = -1; if ( (synpred314_InternalOCLinEcore()) ) {s = 72;} else if ( (synpred316_InternalOCLinEcore()) ) {s = 19;} input.seek(index171_16); if ( s>=0 ) return s; break; case 6 : int LA171_17 = input.LA(1); int index171_17 = input.index(); input.rewind(); s = -1; if ( (synpred314_InternalOCLinEcore()) ) {s = 72;} else if ( (synpred316_InternalOCLinEcore()) ) {s = 19;} input.seek(index171_17); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 171, _s, input); error(nvae); throw nvae; } } static final String DFA195_eotS = "\56\uffff"; static final String DFA195_eofS = "\56\uffff"; static final String DFA195_minS = "\1\4\1\uffff\53\22\1\uffff"; static final String DFA195_maxS = "\1\u0085\1\uffff\53\u0080\1\uffff"; static final String DFA195_acceptS = "\1\uffff\1\1\53\uffff\1\2"; static final String DFA195_specialS = "\56\uffff}>"; static final String[] DFA195_transitionS = { "\2\1\2\uffff\1\2\1\3\7\uffff\1\26\1\1\1\4\1\5\1\6\1\7\1\10"+ "\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24"+ "\1\25\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41"+ "\1\42\1\43\1\44\1\45\1\46\1\51\1\1\1\uffff\1\55\1\uffff\1\47"+ "\14\uffff\1\53\1\uffff\1\50\1\52\4\uffff\1\54\2\uffff\2\1\15"+ "\uffff\2\1\1\uffff\15\1\2\uffff\1\1\1\uffff\4\1\6\uffff\1\1"+ "\4\uffff\2\1", "", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "\1\1\43\uffff\1\1\1\uffff\1\55\3\uffff\1\1\1\uffff\1\1\21"+ "\uffff\2\1\1\uffff\16\1\2\uffff\1\1\25\uffff\1\1\1\uffff\1\1"+ "\4\uffff\1\1", "" }; static final short[] DFA195_eot = DFA.unpackEncodedString(DFA195_eotS); static final short[] DFA195_eof = DFA.unpackEncodedString(DFA195_eofS); static final char[] DFA195_min = DFA.unpackEncodedStringToUnsignedChars(DFA195_minS); static final char[] DFA195_max = DFA.unpackEncodedStringToUnsignedChars(DFA195_maxS); static final short[] DFA195_accept = DFA.unpackEncodedString(DFA195_acceptS); static final short[] DFA195_special = DFA.unpackEncodedString(DFA195_specialS); static final short[][] DFA195_transition; static { int numStates = DFA195_transitionS.length; DFA195_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA195_transition[i] = DFA.unpackEncodedString(DFA195_transitionS[i]); } } class DFA195 extends DFA { public DFA195(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 195; this.eot = DFA195_eot; this.eof = DFA195_eof; this.min = DFA195_min; this.max = DFA195_max; this.accept = DFA195_accept; this.special = DFA195_special; this.transition = DFA195_transition; } public String getDescription() { return "8586:1: (lv_ownedCondition_1_1= ruleExpCS | lv_ownedCondition_1_2= rulePatternExpCS )"; } } private static class FollowSets000 { public static final BitSet FOLLOW_ruleTopLevelCS_in_entryRuleTopLevelCS81 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTopLevelCS91 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_17_in_ruleTopLevelCS141 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTopLevelCS160 = new BitSet(new long[]{0x0000009100000002L}); public static final BitSet FOLLOW_ruleImportCS_in_ruleTopLevelCS182 = new BitSet(new long[]{0x0000009100000002L}); public static final BitSet FOLLOW_rulePackageCS_in_ruleTopLevelCS204 = new BitSet(new long[]{0x0000008000000002L}); public static final BitSet FOLLOW_ruleSIGNED_in_entryRuleSIGNED244 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSIGNED255 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_18_in_ruleSIGNED294 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_INT_in_ruleSIGNED311 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_entryRuleEnumerationLiteralName357 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEnumerationLiteralName368 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedName_in_ruleEnumerationLiteralName415 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_19_in_ruleEnumerationLiteralName439 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_ruleEnumerationLiteralName458 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_21_in_ruleEnumerationLiteralName477 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_22_in_ruleEnumerationLiteralName496 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_23_in_ruleEnumerationLiteralName515 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_24_in_ruleEnumerationLiteralName534 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_ruleEnumerationLiteralName553 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_26_in_ruleEnumerationLiteralName572 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_27_in_ruleEnumerationLiteralName591 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_28_in_ruleEnumerationLiteralName610 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_29_in_ruleEnumerationLiteralName629 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_30_in_ruleEnumerationLiteralName648 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_31_in_ruleEnumerationLiteralName667 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_32_in_ruleEnumerationLiteralName686 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_33_in_ruleEnumerationLiteralName705 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_34_in_ruleEnumerationLiteralName724 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_35_in_ruleEnumerationLiteralName743 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_36_in_ruleEnumerationLiteralName762 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_17_in_ruleEnumerationLiteralName781 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_37_in_ruleEnumerationLiteralName800 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_38_in_ruleEnumerationLiteralName819 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_39_in_ruleEnumerationLiteralName838 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_40_in_ruleEnumerationLiteralName857 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_41_in_ruleEnumerationLiteralName876 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_ruleEnumerationLiteralName895 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_43_in_ruleEnumerationLiteralName914 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_44_in_ruleEnumerationLiteralName933 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_45_in_ruleEnumerationLiteralName952 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_46_in_ruleEnumerationLiteralName971 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_47_in_ruleEnumerationLiteralName990 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_48_in_ruleEnumerationLiteralName1009 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_49_in_ruleEnumerationLiteralName1028 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_50_in_ruleEnumerationLiteralName1047 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_51_in_ruleEnumerationLiteralName1066 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_52_in_ruleEnumerationLiteralName1085 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_entryRuleInvariantConstraintCS1125 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleInvariantConstraintCS1135 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_22_in_ruleInvariantConstraintCS1178 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_53_in_ruleInvariantConstraintCS1210 = new BitSet(new long[]{0x073FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleInvariantConstraintCS1245 = new BitSet(new long[]{0x0340000000000000L}); public static final BitSet FOLLOW_54_in_ruleInvariantConstraintCS1258 = new BitSet(new long[]{0x047FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleInvariantConstraintCS1279 = new BitSet(new long[]{0x0080000000000000L}); public static final BitSet FOLLOW_55_in_ruleInvariantConstraintCS1291 = new BitSet(new long[]{0x0300000000000000L}); public static final BitSet FOLLOW_56_in_ruleInvariantConstraintCS1309 = new BitSet(new long[]{0x067FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleInvariantConstraintCS1330 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleInvariantConstraintCS1343 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleInvariantConstraintCS1362 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePostconditionConstraintCS_in_entryRulePostconditionConstraintCS1399 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePostconditionConstraintCS1409 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_40_in_rulePostconditionConstraintCS1452 = new BitSet(new long[]{0x053FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePostconditionConstraintCS1487 = new BitSet(new long[]{0x0140000000000000L}); public static final BitSet FOLLOW_54_in_rulePostconditionConstraintCS1500 = new BitSet(new long[]{0x047FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_rulePostconditionConstraintCS1521 = new BitSet(new long[]{0x0080000000000000L}); public static final BitSet FOLLOW_55_in_rulePostconditionConstraintCS1533 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_56_in_rulePostconditionConstraintCS1549 = new BitSet(new long[]{0x067FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_rulePostconditionConstraintCS1570 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_rulePostconditionConstraintCS1583 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePreconditionConstraintCS_in_entryRulePreconditionConstraintCS1619 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePreconditionConstraintCS1629 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_41_in_rulePreconditionConstraintCS1672 = new BitSet(new long[]{0x053FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePreconditionConstraintCS1707 = new BitSet(new long[]{0x0140000000000000L}); public static final BitSet FOLLOW_54_in_rulePreconditionConstraintCS1720 = new BitSet(new long[]{0x047FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_rulePreconditionConstraintCS1741 = new BitSet(new long[]{0x0080000000000000L}); public static final BitSet FOLLOW_55_in_rulePreconditionConstraintCS1753 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_56_in_rulePreconditionConstraintCS1769 = new BitSet(new long[]{0x067FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_rulePreconditionConstraintCS1790 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_rulePreconditionConstraintCS1803 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleAnnotationCS_in_entryRuleAnnotationCS1839 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationCS1849 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_58_in_ruleAnnotationCS1898 = new BitSet(new long[]{0x167FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleAnnotationCS1921 = new BitSet(new long[]{0x1240000000000000L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleAnnotationCS1936 = new BitSet(new long[]{0x1240000000000000L}); public static final BitSet FOLLOW_54_in_ruleAnnotationCS1958 = new BitSet(new long[]{0x043FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleDetailCS_in_ruleAnnotationCS1979 = new BitSet(new long[]{0x0880000000000000L}); public static final BitSet FOLLOW_59_in_ruleAnnotationCS1992 = new BitSet(new long[]{0x043FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleDetailCS_in_ruleAnnotationCS2013 = new BitSet(new long[]{0x0880000000000000L}); public static final BitSet FOLLOW_55_in_ruleAnnotationCS2027 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleAnnotationCS2043 = new BitSet(new long[]{0x041FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleAnnotationCS2065 = new BitSet(new long[]{0x241FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_ruleModelElementCS_in_ruleAnnotationCS2092 = new BitSet(new long[]{0x241FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_ruleModelElementRefCS_in_ruleAnnotationCS2119 = new BitSet(new long[]{0x241FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_61_in_ruleAnnotationCS2133 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleAnnotationCS2152 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_entryRuleAnnotationElementCS2189 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleAnnotationElementCS2199 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleAnnotationCS_in_ruleAnnotationElementCS2249 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleDocumentationCS_in_ruleAnnotationElementCS2279 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSysMLCS_in_ruleAnnotationElementCS2309 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleAttributeCS_in_entryRuleAttributeCS2344 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleAttributeCS2354 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_47_in_ruleAttributeCS2399 = new BitSet(new long[]{0x0000000004100000L}); public static final BitSet FOLLOW_26_in_ruleAttributeCS2430 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_26_in_ruleAttributeCS2470 = new BitSet(new long[]{0x0000800000100000L}); public static final BitSet FOLLOW_47_in_ruleAttributeCS2501 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleAttributeCS2530 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS2551 = new BitSet(new long[]{0x5300000000000000L}); public static final BitSet FOLLOW_56_in_ruleAttributeCS2564 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleAttributeCS2585 = new BitSet(new long[]{0x5200000000000000L}); public static final BitSet FOLLOW_62_in_ruleAttributeCS2600 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleAttributeCS2617 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleAttributeCS2637 = new BitSet(new long[]{0x801E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_28_in_ruleAttributeCS2657 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_63_in_ruleAttributeCS2694 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_31_in_ruleAttributeCS2731 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_64_in_ruleAttributeCS2768 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_38_in_ruleAttributeCS2805 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_65_in_ruleAttributeCS2842 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_44_in_ruleAttributeCS2879 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_66_in_ruleAttributeCS2916 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_49_in_ruleAttributeCS2953 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_67_in_ruleAttributeCS2990 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_50_in_ruleAttributeCS3027 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_68_in_ruleAttributeCS3064 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_51_in_ruleAttributeCS3101 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_69_in_ruleAttributeCS3138 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_52_in_ruleAttributeCS3175 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_70_in_ruleAttributeCS3212 = new BitSet(new long[]{0xA81E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_59_in_ruleAttributeCS3239 = new BitSet(new long[]{0xA01E104090000000L,0x000000000000007FL}); public static final BitSet FOLLOW_61_in_ruleAttributeCS3255 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleAttributeCS3271 = new BitSet(new long[]{0x2400000208000000L,0x0000000000008200L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleAttributeCS3293 = new BitSet(new long[]{0x2400000208000000L,0x0000000000008200L}); public static final BitSet FOLLOW_33_in_ruleAttributeCS3312 = new BitSet(new long[]{0x053FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3332 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_56_in_ruleAttributeCS3345 = new BitSet(new long[]{0x067FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3366 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleAttributeCS3379 = new BitSet(new long[]{0x2400000208000000L,0x0000000000008200L}); public static final BitSet FOLLOW_27_in_ruleAttributeCS3399 = new BitSet(new long[]{0x053FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleAttributeCS3419 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_56_in_ruleAttributeCS3432 = new BitSet(new long[]{0x067FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleAttributeCS3453 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleAttributeCS3466 = new BitSet(new long[]{0x2400000208000000L,0x0000000000008200L}); public static final BitSet FOLLOW_61_in_ruleAttributeCS3481 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleAttributeCS3500 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleClassCS_in_entryRuleClassCS3537 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleClassCS3547 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStructuredClassCS_in_ruleClassCS3597 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleDataTypeCS_in_ruleClassCS3627 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEnumerationCS_in_ruleClassCS3657 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleDataTypeCS_in_entryRuleDataTypeCS3692 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleDataTypeCS3702 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_ruleDataTypeCS3745 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_25_in_ruleDataTypeCS3771 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleDataTypeCS3792 = new BitSet(new long[]{0x1340000000000000L,0x0000000000010000L}); public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleDataTypeCS3813 = new BitSet(new long[]{0x1300000000000000L}); public static final BitSet FOLLOW_56_in_ruleDataTypeCS3827 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDataTypeCS3844 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleDataTypeCS3864 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000180L}); public static final BitSet FOLLOW_71_in_ruleDataTypeCS3883 = new BitSet(new long[]{0x2000000000000000L}); public static final BitSet FOLLOW_72_in_ruleDataTypeCS3914 = new BitSet(new long[]{0x2000000000000000L}); public static final BitSet FOLLOW_61_in_ruleDataTypeCS3928 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleDataTypeCS3944 = new BitSet(new long[]{0x2420000000400000L,0x0000000000008200L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleDataTypeCS3966 = new BitSet(new long[]{0x2420000000400000L,0x0000000000008200L}); public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_ruleDataTypeCS3993 = new BitSet(new long[]{0x2420000000400000L,0x0000000000008200L}); public static final BitSet FOLLOW_61_in_ruleDataTypeCS4007 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleDataTypeCS4026 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleDetailCS_in_entryRuleDetailCS4063 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleDetailCS4073 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleDetailCS4121 = new BitSet(new long[]{0x4000000000000000L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4136 = new BitSet(new long[]{0x4000000000000000L}); public static final BitSet FOLLOW_62_in_ruleDetailCS4156 = new BitSet(new long[]{0x0000000000000062L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDetailCS4175 = new BitSet(new long[]{0x0000000000000062L}); public static final BitSet FOLLOW_RULE_ML_SINGLE_QUOTED_STRING_in_ruleDetailCS4195 = new BitSet(new long[]{0x0000000000000062L}); public static final BitSet FOLLOW_ruleDocumentationCS_in_entryRuleDocumentationCS4240 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleDocumentationCS4250 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_73_in_ruleDocumentationCS4299 = new BitSet(new long[]{0x0240000000000020L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleDocumentationCS4316 = new BitSet(new long[]{0x0240000000000000L}); public static final BitSet FOLLOW_54_in_ruleDocumentationCS4335 = new BitSet(new long[]{0x043FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleDetailCS_in_ruleDocumentationCS4356 = new BitSet(new long[]{0x0880000000000000L}); public static final BitSet FOLLOW_59_in_ruleDocumentationCS4369 = new BitSet(new long[]{0x043FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleDetailCS_in_ruleDocumentationCS4390 = new BitSet(new long[]{0x0880000000000000L}); public static final BitSet FOLLOW_55_in_ruleDocumentationCS4404 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleDocumentationCS4418 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEnumerationCS_in_entryRuleEnumerationCS4454 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEnumerationCS4464 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_29_in_ruleEnumerationCS4501 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleEnumerationCS4522 = new BitSet(new long[]{0x1340000000000000L,0x0000000000010000L}); public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleEnumerationCS4543 = new BitSet(new long[]{0x1300000000000000L}); public static final BitSet FOLLOW_56_in_ruleEnumerationCS4557 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleEnumerationCS4574 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleEnumerationCS4594 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000180L}); public static final BitSet FOLLOW_71_in_ruleEnumerationCS4613 = new BitSet(new long[]{0x2000000000000000L}); public static final BitSet FOLLOW_72_in_ruleEnumerationCS4644 = new BitSet(new long[]{0x2000000000000000L}); public static final BitSet FOLLOW_61_in_ruleEnumerationCS4658 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleEnumerationCS4674 = new BitSet(new long[]{0x243FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationCS4696 = new BitSet(new long[]{0x243FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_ruleEnumerationCS4723 = new BitSet(new long[]{0x243FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_ruleEnumerationCS4750 = new BitSet(new long[]{0x243FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_61_in_ruleEnumerationCS4764 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleEnumerationCS4783 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_entryRuleEnumerationLiteralCS4820 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEnumerationLiteralCS4830 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_74_in_ruleEnumerationLiteralCS4869 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleEnumerationLiteralCS4890 = new BitSet(new long[]{0x5200000000000000L}); public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_ruleEnumerationLiteralCS4918 = new BitSet(new long[]{0x5200000000000000L}); public static final BitSet FOLLOW_62_in_ruleEnumerationLiteralCS4932 = new BitSet(new long[]{0x0000000000040010L}); public static final BitSet FOLLOW_ruleSIGNED_in_ruleEnumerationLiteralCS4953 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleEnumerationLiteralCS4969 = new BitSet(new long[]{0x2400000000000000L,0x0000000000008200L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleEnumerationLiteralCS4990 = new BitSet(new long[]{0x2400000000000000L,0x0000000000008200L}); public static final BitSet FOLLOW_61_in_ruleEnumerationLiteralCS5003 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleEnumerationLiteralCS5022 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleImportCS_in_entryRuleImportCS5059 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleImportCS5069 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_32_in_ruleImportCS5107 = new BitSet(new long[]{0x043FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_36_in_ruleImportCS5125 = new BitSet(new long[]{0x043FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleImportCS5148 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_56_in_ruleImportCS5160 = new BitSet(new long[]{0x043FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleURIPathNameCS_in_ruleImportCS5183 = new BitSet(new long[]{0x0200000000000000L,0x0000000000000800L}); public static final BitSet FOLLOW_75_in_ruleImportCS5201 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleImportCS5227 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleModelElementCS_in_entryRuleModelElementCS5263 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleModelElementCS5273 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleClassCS_in_ruleModelElementCS5323 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEnumerationLiteralCS_in_ruleModelElementCS5353 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOperationCS_in_ruleModelElementCS5383 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePackageCS_in_ruleModelElementCS5413 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_ruleModelElementCS5443 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleModelElementRefCS_in_entryRuleModelElementRefCS5478 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleModelElementRefCS5488 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_45_in_ruleModelElementRefCS5525 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_rulePathNameCS_in_ruleModelElementRefCS5546 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleModelElementRefCS5558 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOperationCS_in_entryRuleOperationCS5594 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOperationCS5604 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_47_in_ruleOperationCS5649 = new BitSet(new long[]{0x0000002004000000L}); public static final BitSet FOLLOW_26_in_ruleOperationCS5680 = new BitSet(new long[]{0x0000002000000000L}); public static final BitSet FOLLOW_26_in_ruleOperationCS5720 = new BitSet(new long[]{0x0000802000000000L}); public static final BitSet FOLLOW_47_in_ruleOperationCS5751 = new BitSet(new long[]{0x0000002000000000L}); public static final BitSet FOLLOW_37_in_ruleOperationCS5780 = new BitSet(new long[]{0x047FFFFFFFFA0300L,0x0000000000018680L}); public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleOperationCS5801 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleOperationCS5823 = new BitSet(new long[]{0x0040000000000000L}); public static final BitSet FOLLOW_54_in_ruleOperationCS5835 = new BitSet(new long[]{0x04BFFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleParameterCS_in_ruleOperationCS5857 = new BitSet(new long[]{0x0880000000000000L}); public static final BitSet FOLLOW_59_in_ruleOperationCS5870 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleParameterCS_in_ruleOperationCS5891 = new BitSet(new long[]{0x0880000000000000L}); public static final BitSet FOLLOW_55_in_ruleOperationCS5907 = new BitSet(new long[]{0x1301000000000000L}); public static final BitSet FOLLOW_56_in_ruleOperationCS5920 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleOperationCS5941 = new BitSet(new long[]{0x1201000000000000L}); public static final BitSet FOLLOW_48_in_ruleOperationCS5956 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleOperationCS5977 = new BitSet(new long[]{0x1A00000000000000L}); public static final BitSet FOLLOW_59_in_ruleOperationCS5990 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleOperationCS6011 = new BitSet(new long[]{0x1A00000000000000L}); public static final BitSet FOLLOW_60_in_ruleOperationCS6028 = new BitSet(new long[]{0x8004004010000000L,0x0000000000000012L}); public static final BitSet FOLLOW_28_in_ruleOperationCS6048 = new BitSet(new long[]{0xA804004010000000L,0x0000000000000012L}); public static final BitSet FOLLOW_63_in_ruleOperationCS6085 = new BitSet(new long[]{0xA804004010000000L,0x0000000000000012L}); public static final BitSet FOLLOW_38_in_ruleOperationCS6122 = new BitSet(new long[]{0xA804004010000000L,0x0000000000000012L}); public static final BitSet FOLLOW_65_in_ruleOperationCS6159 = new BitSet(new long[]{0xA804004010000000L,0x0000000000000012L}); public static final BitSet FOLLOW_50_in_ruleOperationCS6196 = new BitSet(new long[]{0xA804004010000000L,0x0000000000000012L}); public static final BitSet FOLLOW_68_in_ruleOperationCS6233 = new BitSet(new long[]{0xA804004010000000L,0x0000000000000012L}); public static final BitSet FOLLOW_59_in_ruleOperationCS6260 = new BitSet(new long[]{0xA004004010000000L,0x0000000000000012L}); public static final BitSet FOLLOW_61_in_ruleOperationCS6276 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleOperationCS6292 = new BitSet(new long[]{0x2400030000200000L,0x0000000000008200L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleOperationCS6314 = new BitSet(new long[]{0x2400030000200000L,0x0000000000008200L}); public static final BitSet FOLLOW_rulePreconditionConstraintCS_in_ruleOperationCS6341 = new BitSet(new long[]{0x2400030000200000L,0x0000000000008200L}); public static final BitSet FOLLOW_21_in_ruleOperationCS6360 = new BitSet(new long[]{0x053FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleOperationCS6380 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_56_in_ruleOperationCS6393 = new BitSet(new long[]{0x067FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleOperationCS6414 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleOperationCS6427 = new BitSet(new long[]{0x2400030000200000L,0x0000000000008200L}); public static final BitSet FOLLOW_rulePostconditionConstraintCS_in_ruleOperationCS6455 = new BitSet(new long[]{0x2400030000200000L,0x0000000000008200L}); public static final BitSet FOLLOW_61_in_ruleOperationCS6469 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleOperationCS6488 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePackageCS_in_entryRulePackageCS6525 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePackageCS6535 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_39_in_rulePackageCS6572 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePackageCS6593 = new BitSet(new long[]{0x5300000000000000L}); public static final BitSet FOLLOW_56_in_rulePackageCS6606 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePackageCS6627 = new BitSet(new long[]{0x5200000000000000L}); public static final BitSet FOLLOW_62_in_rulePackageCS6642 = new BitSet(new long[]{0x043FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleURI_in_rulePackageCS6663 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_rulePackageCS6679 = new BitSet(new long[]{0x2400048022880000L,0x0000000000008200L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_rulePackageCS6701 = new BitSet(new long[]{0x2400048022880000L,0x0000000000008200L}); public static final BitSet FOLLOW_rulePackageCS_in_rulePackageCS6728 = new BitSet(new long[]{0x2400048022880000L,0x0000000000008200L}); public static final BitSet FOLLOW_ruleClassCS_in_rulePackageCS6755 = new BitSet(new long[]{0x2400048022880000L,0x0000000000008200L}); public static final BitSet FOLLOW_61_in_rulePackageCS6769 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_rulePackageCS6788 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleParameterCS_in_entryRuleParameterCS6825 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleParameterCS6835 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleParameterCS6881 = new BitSet(new long[]{0x1100000000000002L}); public static final BitSet FOLLOW_56_in_ruleParameterCS6894 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleParameterCS6915 = new BitSet(new long[]{0x1000000000000002L}); public static final BitSet FOLLOW_60_in_ruleParameterCS6930 = new BitSet(new long[]{0x0004004000000000L,0x0000000000000012L}); public static final BitSet FOLLOW_38_in_ruleParameterCS6950 = new BitSet(new long[]{0x2804004000000000L,0x0000000000000012L}); public static final BitSet FOLLOW_65_in_ruleParameterCS6987 = new BitSet(new long[]{0x2804004000000000L,0x0000000000000012L}); public static final BitSet FOLLOW_50_in_ruleParameterCS7024 = new BitSet(new long[]{0x2804004000000000L,0x0000000000000012L}); public static final BitSet FOLLOW_68_in_ruleParameterCS7061 = new BitSet(new long[]{0x2804004000000000L,0x0000000000000012L}); public static final BitSet FOLLOW_59_in_ruleParameterCS7088 = new BitSet(new long[]{0x2004004000000000L,0x0000000000000012L}); public static final BitSet FOLLOW_61_in_ruleParameterCS7104 = new BitSet(new long[]{0x1000000000000002L}); public static final BitSet FOLLOW_60_in_ruleParameterCS7119 = new BitSet(new long[]{0x2400000000000000L,0x0000000000008200L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleParameterCS7140 = new BitSet(new long[]{0x2400000000000000L,0x0000000000008200L}); public static final BitSet FOLLOW_61_in_ruleParameterCS7153 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleReferenceCS_in_entryRuleReferenceCS7191 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleReferenceCS7201 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_47_in_ruleReferenceCS7246 = new BitSet(new long[]{0x0000080004000000L}); public static final BitSet FOLLOW_26_in_ruleReferenceCS7277 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_26_in_ruleReferenceCS7317 = new BitSet(new long[]{0x0000880000000000L}); public static final BitSet FOLLOW_47_in_ruleReferenceCS7348 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_43_in_ruleReferenceCS7377 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS7398 = new BitSet(new long[]{0x5300000000000000L,0x0000000000001000L}); public static final BitSet FOLLOW_76_in_ruleReferenceCS7411 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS7438 = new BitSet(new long[]{0x5300000000000000L}); public static final BitSet FOLLOW_56_in_ruleReferenceCS7453 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_ruleReferenceCS7474 = new BitSet(new long[]{0x5200000000000000L}); public static final BitSet FOLLOW_62_in_ruleReferenceCS7489 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleReferenceCS7506 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleReferenceCS7526 = new BitSet(new long[]{0x801E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_24_in_ruleReferenceCS7546 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_77_in_ruleReferenceCS7583 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_28_in_ruleReferenceCS7620 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_63_in_ruleReferenceCS7657 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_38_in_ruleReferenceCS7694 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_65_in_ruleReferenceCS7731 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_44_in_ruleReferenceCS7768 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_66_in_ruleReferenceCS7805 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_46_in_ruleReferenceCS7842 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_78_in_ruleReferenceCS7879 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_49_in_ruleReferenceCS7916 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_67_in_ruleReferenceCS7953 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_50_in_ruleReferenceCS7990 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_68_in_ruleReferenceCS8027 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_51_in_ruleReferenceCS8064 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_69_in_ruleReferenceCS8101 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_52_in_ruleReferenceCS8138 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_70_in_ruleReferenceCS8175 = new BitSet(new long[]{0xA81E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_59_in_ruleReferenceCS8202 = new BitSet(new long[]{0xA01E504011000000L,0x000000000000607EL}); public static final BitSet FOLLOW_61_in_ruleReferenceCS8218 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleReferenceCS8234 = new BitSet(new long[]{0x2400000A08000000L,0x0000000000008200L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleReferenceCS8256 = new BitSet(new long[]{0x2400000A08000000L,0x0000000000008200L}); public static final BitSet FOLLOW_35_in_ruleReferenceCS8275 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8302 = new BitSet(new long[]{0x0A00000000000000L}); public static final BitSet FOLLOW_59_in_ruleReferenceCS8315 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8342 = new BitSet(new long[]{0x0A00000000000000L}); public static final BitSet FOLLOW_57_in_ruleReferenceCS8356 = new BitSet(new long[]{0x2400000A08000000L,0x0000000000008200L}); public static final BitSet FOLLOW_33_in_ruleReferenceCS8376 = new BitSet(new long[]{0x053FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8396 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_56_in_ruleReferenceCS8409 = new BitSet(new long[]{0x067FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleReferenceCS8430 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleReferenceCS8443 = new BitSet(new long[]{0x2400000A08000000L,0x0000000000008200L}); public static final BitSet FOLLOW_27_in_ruleReferenceCS8463 = new BitSet(new long[]{0x053FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleReferenceCS8483 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_56_in_ruleReferenceCS8496 = new BitSet(new long[]{0x067FFFFFFFFE03B0L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_ruleReferenceCS8517 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleReferenceCS8530 = new BitSet(new long[]{0x2400000A08000000L,0x0000000000008200L}); public static final BitSet FOLLOW_61_in_ruleReferenceCS8545 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleReferenceCS8564 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSpecificationCS_in_entryRuleSpecificationCS8601 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSpecificationCS8611 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleSpecificationCS8657 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_UNQUOTED_STRING_in_ruleSpecificationCS8680 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStructuredClassCS_in_entryRuleStructuredClassCS8721 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStructuredClassCS8731 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_19_in_ruleStructuredClassCS8774 = new BitSet(new long[]{0x0000000000800000L}); public static final BitSet FOLLOW_23_in_ruleStructuredClassCS8800 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleStructuredClassCS8821 = new BitSet(new long[]{0x1340000040000000L,0x0000000000010000L}); public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_ruleStructuredClassCS8842 = new BitSet(new long[]{0x1300000040000000L}); public static final BitSet FOLLOW_30_in_ruleStructuredClassCS8856 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS8877 = new BitSet(new long[]{0x1B00000000000000L}); public static final BitSet FOLLOW_59_in_ruleStructuredClassCS8890 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleStructuredClassCS8911 = new BitSet(new long[]{0x1B00000000000000L}); public static final BitSet FOLLOW_56_in_ruleStructuredClassCS8928 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStructuredClassCS8945 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleStructuredClassCS8965 = new BitSet(new long[]{0x2000000400000000L}); public static final BitSet FOLLOW_34_in_ruleStructuredClassCS8983 = new BitSet(new long[]{0x2000000000000000L}); public static final BitSet FOLLOW_61_in_ruleStructuredClassCS9009 = new BitSet(new long[]{0x1200000000000000L}); public static final BitSet FOLLOW_60_in_ruleStructuredClassCS9025 = new BitSet(new long[]{0x243FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_ruleAnnotationElementCS_in_ruleStructuredClassCS9047 = new BitSet(new long[]{0x243FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_ruleOperationCS_in_ruleStructuredClassCS9074 = new BitSet(new long[]{0x243FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_ruleStructuredClassCS9101 = new BitSet(new long[]{0x243FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_ruleInvariantConstraintCS_in_ruleStructuredClassCS9128 = new BitSet(new long[]{0x243FFFFFFFFA0300L,0x0000000000008600L}); public static final BitSet FOLLOW_61_in_ruleStructuredClassCS9142 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleStructuredClassCS9161 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStructuralFeatureCS_in_entryRuleStructuralFeatureCS9198 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStructuralFeatureCS9208 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleAttributeCS_in_ruleStructuralFeatureCS9258 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleReferenceCS_in_ruleStructuralFeatureCS9288 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSysMLCS_in_entryRuleSysMLCS9323 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSysMLCS9333 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_79_in_ruleSysMLCS9382 = new BitSet(new long[]{0x143FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleDetailCS_in_ruleSysMLCS9405 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleSysMLCS9417 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_60_in_ruleSysMLCS9437 = new BitSet(new long[]{0x243FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleDetailCS_in_ruleSysMLCS9459 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleSysMLCS9471 = new BitSet(new long[]{0x243FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_61_in_ruleSysMLCS9485 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypedMultiplicityRefCS_in_entryRuleTypedMultiplicityRefCS9525 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypedMultiplicityRefCS9535 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypedMultiplicityRefCS9585 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTypedMultiplicityRefCS9605 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTemplateSignatureCS_in_entryRuleTemplateSignatureCS9642 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTemplateSignatureCS9652 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_54_in_ruleTemplateSignatureCS9690 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS9711 = new BitSet(new long[]{0x0880000000000000L}); public static final BitSet FOLLOW_59_in_ruleTemplateSignatureCS9724 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS9745 = new BitSet(new long[]{0x0880000000000000L}); public static final BitSet FOLLOW_55_in_ruleTemplateSignatureCS9759 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_80_in_ruleTemplateSignatureCS9779 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS9800 = new BitSet(new long[]{0x0800000000000000L,0x0000000000020000L}); public static final BitSet FOLLOW_59_in_ruleTemplateSignatureCS9813 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleTypeParameterCS_in_ruleTemplateSignatureCS9834 = new BitSet(new long[]{0x0800000000000000L,0x0000000000020000L}); public static final BitSet FOLLOW_81_in_ruleTemplateSignatureCS9848 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypedRefCS_in_entryRuleTypedRefCS9885 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypedRefCS9895 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypedRefCS9945 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypedTypeRefCS_in_ruleTypedRefCS9975 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypedTypeRefCS_in_entryRuleTypedTypeRefCS10010 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypedTypeRefCS10020 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePathNameCS_in_ruleTypedTypeRefCS10066 = new BitSet(new long[]{0x0040000000000002L,0x0000000000010000L}); public static final BitSet FOLLOW_54_in_ruleTypedTypeRefCS10080 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000120L}); public static final BitSet FOLLOW_ruleTemplateBindingCS_in_ruleTypedTypeRefCS10101 = new BitSet(new long[]{0x0080000000000000L}); public static final BitSet FOLLOW_55_in_ruleTypedTypeRefCS10113 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_80_in_ruleTypedTypeRefCS10133 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000120L}); public static final BitSet FOLLOW_ruleTemplateBindingCS_in_ruleTypedTypeRefCS10154 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); public static final BitSet FOLLOW_81_in_ruleTypedTypeRefCS10166 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_entryRuleUnrestrictedName10206 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleUnrestrictedName10217 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEnumerationLiteralName_in_ruleUnrestrictedName10264 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_58_in_ruleUnrestrictedName10288 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_73_in_ruleUnrestrictedName10307 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_53_in_ruleUnrestrictedName10326 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_74_in_ruleUnrestrictedName10345 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_71_in_ruleUnrestrictedName10364 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_79_in_ruleUnrestrictedName10383 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEssentialOCLUnaryOperatorName_in_entryRuleEssentialOCLUnaryOperatorName10428 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnaryOperatorName10439 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_18_in_ruleEssentialOCLUnaryOperatorName10477 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_82_in_ruleEssentialOCLUnaryOperatorName10496 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEssentialOCLInfixOperatorName_in_entryRuleEssentialOCLInfixOperatorName10537 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLInfixOperatorName10548 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_83_in_ruleEssentialOCLInfixOperatorName10586 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_84_in_ruleEssentialOCLInfixOperatorName10605 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_85_in_ruleEssentialOCLInfixOperatorName10624 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_18_in_ruleEssentialOCLInfixOperatorName10643 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_81_in_ruleEssentialOCLInfixOperatorName10662 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_80_in_ruleEssentialOCLInfixOperatorName10681 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_86_in_ruleEssentialOCLInfixOperatorName10700 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_87_in_ruleEssentialOCLInfixOperatorName10719 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_62_in_ruleEssentialOCLInfixOperatorName10738 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_88_in_ruleEssentialOCLInfixOperatorName10757 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_89_in_ruleEssentialOCLInfixOperatorName10776 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_90_in_ruleEssentialOCLInfixOperatorName10795 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_91_in_ruleEssentialOCLInfixOperatorName10814 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_92_in_ruleEssentialOCLInfixOperatorName10833 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEssentialOCLNavigationOperatorName_in_entryRuleEssentialOCLNavigationOperatorName10874 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLNavigationOperatorName10885 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_93_in_ruleEssentialOCLNavigationOperatorName10923 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_94_in_ruleEssentialOCLNavigationOperatorName10942 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_95_in_ruleEssentialOCLNavigationOperatorName10961 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_96_in_ruleEssentialOCLNavigationOperatorName10980 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleBinaryOperatorName_in_entryRuleBinaryOperatorName11021 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleBinaryOperatorName11032 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleInfixOperatorName_in_ruleBinaryOperatorName11079 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNavigationOperatorName_in_ruleBinaryOperatorName11112 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleInfixOperatorName_in_entryRuleInfixOperatorName11158 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleInfixOperatorName11169 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEssentialOCLInfixOperatorName_in_ruleInfixOperatorName11215 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNavigationOperatorName_in_entryRuleNavigationOperatorName11260 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNavigationOperatorName11271 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEssentialOCLNavigationOperatorName_in_ruleNavigationOperatorName11317 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnaryOperatorName_in_entryRuleUnaryOperatorName11362 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleUnaryOperatorName11373 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEssentialOCLUnaryOperatorName_in_ruleUnaryOperatorName11419 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEssentialOCLUnrestrictedName_in_entryRuleEssentialOCLUnrestrictedName11464 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnrestrictedName11475 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleIdentifier_in_ruleEssentialOCLUnrestrictedName11521 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEssentialOCLUnreservedName_in_entryRuleEssentialOCLUnreservedName11566 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEssentialOCLUnreservedName11577 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleEssentialOCLUnreservedName11624 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_ruleEssentialOCLUnreservedName11657 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_ruleEssentialOCLUnreservedName11690 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_97_in_ruleEssentialOCLUnreservedName11714 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_98_in_ruleEssentialOCLUnreservedName11733 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnreservedName_in_entryRuleUnreservedName11774 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleUnreservedName11785 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEssentialOCLUnreservedName_in_ruleUnreservedName11831 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleURIPathNameCS_in_entryRuleURIPathNameCS11875 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleURIPathNameCS11885 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleURIFirstPathElementCS_in_ruleURIPathNameCS11931 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L}); public static final BitSet FOLLOW_99_in_ruleURIPathNameCS11944 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0001FFF600008680L}); public static final BitSet FOLLOW_ruleNextPathElementCS_in_ruleURIPathNameCS11965 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L}); public static final BitSet FOLLOW_ruleURIFirstPathElementCS_in_entryRuleURIFirstPathElementCS12003 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleURIFirstPathElementCS12013 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleURIFirstPathElementCS12065 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleURI_in_ruleURIFirstPathElementCS12111 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_entryRulePrimitiveTypeIdentifier12149 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeIdentifier12160 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_100_in_rulePrimitiveTypeIdentifier12198 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_101_in_rulePrimitiveTypeIdentifier12217 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_102_in_rulePrimitiveTypeIdentifier12236 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_103_in_rulePrimitiveTypeIdentifier12255 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_104_in_rulePrimitiveTypeIdentifier12274 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_105_in_rulePrimitiveTypeIdentifier12293 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_106_in_rulePrimitiveTypeIdentifier12312 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_107_in_rulePrimitiveTypeIdentifier12331 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_entryRulePrimitiveTypeCS12371 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveTypeCS12381 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrimitiveTypeIdentifier_in_rulePrimitiveTypeCS12426 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_entryRuleCollectionTypeIdentifier12462 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypeIdentifier12473 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_108_in_ruleCollectionTypeIdentifier12511 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_109_in_ruleCollectionTypeIdentifier12530 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_110_in_ruleCollectionTypeIdentifier12549 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_111_in_ruleCollectionTypeIdentifier12568 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_112_in_ruleCollectionTypeIdentifier12587 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionTypeCS_in_entryRuleCollectionTypeCS12627 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleCollectionTypeCS12637 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionTypeIdentifier_in_ruleCollectionTypeCS12683 = new BitSet(new long[]{0x0040000000000002L}); public static final BitSet FOLLOW_54_in_ruleCollectionTypeCS12696 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleCollectionTypeCS12717 = new BitSet(new long[]{0x0080000000000000L}); public static final BitSet FOLLOW_55_in_ruleCollectionTypeCS12729 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMapTypeCS_in_entryRuleMapTypeCS12767 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleMapTypeCS12777 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_97_in_ruleMapTypeCS12820 = new BitSet(new long[]{0x0040000000000002L}); public static final BitSet FOLLOW_54_in_ruleMapTypeCS12846 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleMapTypeCS12867 = new BitSet(new long[]{0x0800000000000000L}); public static final BitSet FOLLOW_59_in_ruleMapTypeCS12879 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleMapTypeCS12900 = new BitSet(new long[]{0x0080000000000000L}); public static final BitSet FOLLOW_55_in_ruleMapTypeCS12912 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTupleTypeCS_in_entryRuleTupleTypeCS12950 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTupleTypeCS12960 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_98_in_ruleTupleTypeCS13003 = new BitSet(new long[]{0x0040000000000002L}); public static final BitSet FOLLOW_54_in_ruleTupleTypeCS13029 = new BitSet(new long[]{0x04BFFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS13051 = new BitSet(new long[]{0x0880000000000000L}); public static final BitSet FOLLOW_59_in_ruleTupleTypeCS13064 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleTuplePartCS_in_ruleTupleTypeCS13085 = new BitSet(new long[]{0x0880000000000000L}); public static final BitSet FOLLOW_55_in_ruleTupleTypeCS13101 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTuplePartCS_in_entryRuleTuplePartCS13139 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTuplePartCS13149 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTuplePartCS13195 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_56_in_ruleTuplePartCS13207 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleTuplePartCS13228 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_entryRuleCollectionLiteralExpCS13264 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleCollectionLiteralExpCS13274 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleCollectionLiteralExpCS13320 = new BitSet(new long[]{0x1000000000000000L}); public static final BitSet FOLLOW_60_in_ruleCollectionLiteralExpCS13332 = new BitSet(new long[]{0x257FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS13354 = new BitSet(new long[]{0x2800000000000000L}); public static final BitSet FOLLOW_59_in_ruleCollectionLiteralExpCS13367 = new BitSet(new long[]{0x057FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_ruleCollectionLiteralExpCS13388 = new BitSet(new long[]{0x2800000000000000L}); public static final BitSet FOLLOW_61_in_ruleCollectionLiteralExpCS13404 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionLiteralPartCS_in_entryRuleCollectionLiteralPartCS13440 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleCollectionLiteralPartCS13450 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS13497 = new BitSet(new long[]{0x0000000000000002L,0x0002000000000000L}); public static final BitSet FOLLOW_113_in_ruleCollectionLiteralPartCS13510 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleCollectionLiteralPartCS13531 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePatternExpCS_in_ruleCollectionLiteralPartCS13561 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionPatternCS_in_entryRuleCollectionPatternCS13597 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleCollectionPatternCS13607 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleCollectionPatternCS13653 = new BitSet(new long[]{0x1000000000000000L}); public static final BitSet FOLLOW_60_in_ruleCollectionPatternCS13665 = new BitSet(new long[]{0x257FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS13687 = new BitSet(new long[]{0x0800000000000000L,0x0004000000000000L}); public static final BitSet FOLLOW_59_in_ruleCollectionPatternCS13700 = new BitSet(new long[]{0x057FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_rulePatternExpCS_in_ruleCollectionPatternCS13721 = new BitSet(new long[]{0x0800000000000000L,0x0004000000000000L}); public static final BitSet FOLLOW_114_in_ruleCollectionPatternCS13736 = new BitSet(new long[]{0x0000000000000300L}); public static final BitSet FOLLOW_ruleIdentifier_in_ruleCollectionPatternCS13757 = new BitSet(new long[]{0x2000000000000000L}); public static final BitSet FOLLOW_61_in_ruleCollectionPatternCS13772 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleShadowPartCS_in_entryRuleShadowPartCS13808 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleShadowPartCS13818 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleShadowPartCS13870 = new BitSet(new long[]{0x4000000000000000L}); public static final BitSet FOLLOW_62_in_ruleShadowPartCS13882 = new BitSet(new long[]{0x057FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleShadowPartCS13905 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePatternExpCS_in_ruleShadowPartCS13924 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePatternExpCS_in_entryRulePatternExpCS13963 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePatternExpCS13973 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_rulePatternExpCS14019 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_56_in_rulePatternExpCS14032 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_rulePatternExpCS14053 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLambdaLiteralExpCS_in_entryRuleLambdaLiteralExpCS14089 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleLambdaLiteralExpCS14099 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_115_in_ruleLambdaLiteralExpCS14136 = new BitSet(new long[]{0x1000000000000000L}); public static final BitSet FOLLOW_60_in_ruleLambdaLiteralExpCS14148 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleLambdaLiteralExpCS14169 = new BitSet(new long[]{0x2000000000000000L}); public static final BitSet FOLLOW_61_in_ruleLambdaLiteralExpCS14181 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMapLiteralExpCS_in_entryRuleMapLiteralExpCS14217 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleMapLiteralExpCS14227 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMapTypeCS_in_ruleMapLiteralExpCS14273 = new BitSet(new long[]{0x1000000000000000L}); public static final BitSet FOLLOW_60_in_ruleMapLiteralExpCS14285 = new BitSet(new long[]{0x247FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleMapLiteralPartCS_in_ruleMapLiteralExpCS14307 = new BitSet(new long[]{0x2800000000000000L}); public static final BitSet FOLLOW_59_in_ruleMapLiteralExpCS14320 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleMapLiteralPartCS_in_ruleMapLiteralExpCS14341 = new BitSet(new long[]{0x2800000000000000L}); public static final BitSet FOLLOW_61_in_ruleMapLiteralExpCS14357 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMapLiteralPartCS_in_entryRuleMapLiteralPartCS14393 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleMapLiteralPartCS14403 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleMapLiteralPartCS14449 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L}); public static final BitSet FOLLOW_116_in_ruleMapLiteralPartCS14461 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleMapLiteralPartCS14482 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_entryRulePrimitiveLiteralExpCS14518 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveLiteralExpCS14528 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_rulePrimitiveLiteralExpCS14578 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_rulePrimitiveLiteralExpCS14608 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_rulePrimitiveLiteralExpCS14638 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_rulePrimitiveLiteralExpCS14668 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_rulePrimitiveLiteralExpCS14698 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_rulePrimitiveLiteralExpCS14728 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_entryRuleTupleLiteralExpCS14763 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteralExpCS14773 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_98_in_ruleTupleLiteralExpCS14810 = new BitSet(new long[]{0x1000000000000000L}); public static final BitSet FOLLOW_60_in_ruleTupleLiteralExpCS14822 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS14843 = new BitSet(new long[]{0x2800000000000000L}); public static final BitSet FOLLOW_59_in_ruleTupleLiteralExpCS14856 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_ruleTupleLiteralExpCS14877 = new BitSet(new long[]{0x2800000000000000L}); public static final BitSet FOLLOW_61_in_ruleTupleLiteralExpCS14891 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTupleLiteralPartCS_in_entryRuleTupleLiteralPartCS14927 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteralPartCS14937 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTupleLiteralPartCS14983 = new BitSet(new long[]{0x4100000000000000L}); public static final BitSet FOLLOW_56_in_ruleTupleLiteralPartCS14996 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleTupleLiteralPartCS15017 = new BitSet(new long[]{0x4000000000000000L}); public static final BitSet FOLLOW_62_in_ruleTupleLiteralPartCS15031 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleTupleLiteralPartCS15052 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNumberLiteralExpCS_in_entryRuleNumberLiteralExpCS15088 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNumberLiteralExpCS15098 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_ruleNumberLiteralExpCS15143 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStringLiteralExpCS_in_entryRuleStringLiteralExpCS15178 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteralExpCS15188 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStringLiteral_in_ruleStringLiteralExpCS15233 = new BitSet(new long[]{0x0000000000000022L}); public static final BitSet FOLLOW_ruleBooleanLiteralExpCS_in_entryRuleBooleanLiteralExpCS15269 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleBooleanLiteralExpCS15279 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_117_in_ruleBooleanLiteralExpCS15322 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_118_in_ruleBooleanLiteralExpCS15359 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnlimitedNaturalLiteralExpCS_in_entryRuleUnlimitedNaturalLiteralExpCS15408 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleUnlimitedNaturalLiteralExpCS15418 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_83_in_ruleUnlimitedNaturalLiteralExpCS15467 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleInvalidLiteralExpCS_in_entryRuleInvalidLiteralExpCS15503 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleInvalidLiteralExpCS15513 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_119_in_ruleInvalidLiteralExpCS15562 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNullLiteralExpCS_in_entryRuleNullLiteralExpCS15598 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNullLiteralExpCS15608 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_120_in_ruleNullLiteralExpCS15657 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeLiteralCS_in_entryRuleTypeLiteralCS15693 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralCS15703 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrimitiveTypeCS_in_ruleTypeLiteralCS15753 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionTypeCS_in_ruleTypeLiteralCS15783 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMapTypeCS_in_ruleTypeLiteralCS15813 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTupleTypeCS_in_ruleTypeLiteralCS15843 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_entryRuleTypeLiteralWithMultiplicityCS15878 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralWithMultiplicityCS15888 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypeLiteralWithMultiplicityCS15938 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTypeLiteralWithMultiplicityCS15958 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_entryRuleTypeLiteralExpCS15995 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypeLiteralExpCS16005 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeLiteralWithMultiplicityCS_in_ruleTypeLiteralExpCS16050 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeNameExpCS_in_entryRuleTypeNameExpCS16085 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypeNameExpCS16095 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePathNameCS_in_ruleTypeNameExpCS16141 = new BitSet(new long[]{0x1000000000000002L}); public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_ruleTypeNameExpCS16163 = new BitSet(new long[]{0x1000000000000002L}); public static final BitSet FOLLOW_60_in_ruleTypeNameExpCS16176 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleTypeNameExpCS16197 = new BitSet(new long[]{0x2000000000000000L}); public static final BitSet FOLLOW_61_in_ruleTypeNameExpCS16209 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_entryRuleTypeExpCS16249 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypeExpCS16259 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeNameExpCS_in_ruleTypeExpCS16310 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_ruleTypeLiteralCS_in_ruleTypeExpCS16340 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_ruleCollectionPatternCS_in_ruleTypeExpCS16370 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTypeExpCS16391 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpCS_in_entryRuleExpCS16428 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpCS16438 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_ruleExpCS16489 = new BitSet(new long[]{0x4000000000040002L,0x00000001FFFB0000L}); public static final BitSet FOLLOW_ruleBinaryOperatorName_in_ruleExpCS16522 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleExpCS16543 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_ruleExpCS16577 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_entryRulePrefixedLetExpCS16612 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePrefixedLetExpCS16622 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnaryOperatorName_in_rulePrefixedLetExpCS16681 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_rulePrefixedLetExpCS_in_rulePrefixedLetExpCS16702 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLetExpCS_in_rulePrefixedLetExpCS16734 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_entryRulePrefixedPrimaryExpCS16769 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePrefixedPrimaryExpCS16779 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnaryOperatorName_in_rulePrefixedPrimaryExpCS16838 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_rulePrefixedPrimaryExpCS16859 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrimaryExpCS_in_rulePrefixedPrimaryExpCS16891 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrimaryExpCS_in_entryRulePrimaryExpCS16926 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePrimaryExpCS16936 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNestedExpCS_in_rulePrimaryExpCS16986 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleIfExpCS_in_rulePrimaryExpCS17016 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSelfExpCS_in_rulePrimaryExpCS17046 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrimitiveLiteralExpCS_in_rulePrimaryExpCS17076 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_rulePrimaryExpCS17106 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMapLiteralExpCS_in_rulePrimaryExpCS17136 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_rulePrimaryExpCS17166 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLambdaLiteralExpCS_in_rulePrimaryExpCS17196 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_rulePrimaryExpCS17226 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNameExpCS_in_rulePrimaryExpCS17256 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNameExpCS_in_entryRuleNameExpCS17291 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNameExpCS17301 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePathNameCS_in_ruleNameExpCS17347 = new BitSet(new long[]{0x1040000000000002L,0x0A00000000000000L}); public static final BitSet FOLLOW_ruleSquareBracketedClauseCS_in_ruleNameExpCS17368 = new BitSet(new long[]{0x1040000000000002L,0x0A00000000000000L}); public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_ruleNameExpCS17390 = new BitSet(new long[]{0x1000000000000002L,0x0200000000000000L}); public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_ruleNameExpCS17412 = new BitSet(new long[]{0x0000000000000002L,0x0200000000000000L}); public static final BitSet FOLLOW_121_in_ruleNameExpCS17432 = new BitSet(new long[]{0x0000000000000000L,0x0400000000000000L}); public static final BitSet FOLLOW_122_in_ruleNameExpCS17457 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCurlyBracketedClauseCS_in_entryRuleCurlyBracketedClauseCS17495 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleCurlyBracketedClauseCS17505 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_60_in_ruleCurlyBracketedClauseCS17554 = new BitSet(new long[]{0x243FFFFFFFFA0320L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleShadowPartCS_in_ruleCurlyBracketedClauseCS17577 = new BitSet(new long[]{0x2800000000000000L}); public static final BitSet FOLLOW_59_in_ruleCurlyBracketedClauseCS17590 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleShadowPartCS_in_ruleCurlyBracketedClauseCS17611 = new BitSet(new long[]{0x2800000000000000L}); public static final BitSet FOLLOW_ruleStringLiteral_in_ruleCurlyBracketedClauseCS17642 = new BitSet(new long[]{0x2000000000000000L}); public static final BitSet FOLLOW_61_in_ruleCurlyBracketedClauseCS17655 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_entryRuleRoundBracketedClauseCS17691 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleRoundBracketedClauseCS17701 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_54_in_ruleRoundBracketedClauseCS17750 = new BitSet(new long[]{0x05FFFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleNavigatingArgCS_in_ruleRoundBracketedClauseCS17772 = new BitSet(new long[]{0x0A80000000000000L,0x4000000000000000L}); public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17793 = new BitSet(new long[]{0x0A80000000000000L,0x4000000000000000L}); public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_ruleRoundBracketedClauseCS17816 = new BitSet(new long[]{0x0880000000000000L,0x4000000000000000L}); public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17837 = new BitSet(new long[]{0x0880000000000000L,0x4000000000000000L}); public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_ruleRoundBracketedClauseCS17862 = new BitSet(new long[]{0x0880000000000000L,0x4000000000000000L}); public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_ruleRoundBracketedClauseCS17883 = new BitSet(new long[]{0x0880000000000000L,0x4000000000000000L}); public static final BitSet FOLLOW_55_in_ruleRoundBracketedClauseCS17900 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSquareBracketedClauseCS_in_entryRuleSquareBracketedClauseCS17936 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSquareBracketedClauseCS17946 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_123_in_ruleSquareBracketedClauseCS17983 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS18004 = new BitSet(new long[]{0x0800000000000000L,0x1000000000000000L}); public static final BitSet FOLLOW_59_in_ruleSquareBracketedClauseCS18017 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleSquareBracketedClauseCS18038 = new BitSet(new long[]{0x0800000000000000L,0x1000000000000000L}); public static final BitSet FOLLOW_124_in_ruleSquareBracketedClauseCS18052 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNavigatingArgCS_in_entryRuleNavigatingArgCS18088 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingArgCS18098 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingArgCS18145 = new BitSet(new long[]{0x0100000000000002L,0x2000000000000000L}); public static final BitSet FOLLOW_56_in_ruleNavigatingArgCS18159 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS18180 = new BitSet(new long[]{0x4000000000000002L}); public static final BitSet FOLLOW_62_in_ruleNavigatingArgCS18193 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgCS18214 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_125_in_ruleNavigatingArgCS18236 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgCS18257 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_56_in_ruleNavigatingArgCS18280 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingArgCS18301 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNavigatingBarArgCS_in_entryRuleNavigatingBarArgCS18338 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingBarArgCS18348 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_126_in_ruleNavigatingBarArgCS18391 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingBarArgCS18425 = new BitSet(new long[]{0x0100000000000002L}); public static final BitSet FOLLOW_56_in_ruleNavigatingBarArgCS18438 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingBarArgCS18459 = new BitSet(new long[]{0x4000000000000002L}); public static final BitSet FOLLOW_62_in_ruleNavigatingBarArgCS18472 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingBarArgCS18493 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNavigatingCommaArgCS_in_entryRuleNavigatingCommaArgCS18533 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingCommaArgCS18543 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_59_in_ruleNavigatingCommaArgCS18586 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingCommaArgCS18620 = new BitSet(new long[]{0x0100000000000002L,0x2000000000000000L}); public static final BitSet FOLLOW_56_in_ruleNavigatingCommaArgCS18634 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingCommaArgCS18655 = new BitSet(new long[]{0x4000000000000002L}); public static final BitSet FOLLOW_62_in_ruleNavigatingCommaArgCS18668 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS18689 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_125_in_ruleNavigatingCommaArgCS18711 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingCommaArgCS18732 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNavigatingSemiArgCS_in_entryRuleNavigatingSemiArgCS18771 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingSemiArgCS18781 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleNavigatingSemiArgCS18824 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_ruleNavigatingSemiArgCS18858 = new BitSet(new long[]{0x0100000000000002L}); public static final BitSet FOLLOW_56_in_ruleNavigatingSemiArgCS18871 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleNavigatingSemiArgCS18892 = new BitSet(new long[]{0x4000000000000002L}); public static final BitSet FOLLOW_62_in_ruleNavigatingSemiArgCS18905 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingSemiArgCS18926 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNavigatingArgExpCS_in_entryRuleNavigatingArgExpCS18966 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNavigatingArgExpCS18976 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleNavigatingArgExpCS19025 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleIfExpCS_in_entryRuleIfExpCS19059 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleIfExpCS19069 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_127_in_ruleIfExpCS19106 = new BitSet(new long[]{0x057FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS19129 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_rulePatternExpCS_in_ruleIfExpCS19148 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_128_in_ruleIfExpCS19163 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS19184 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x000000000000000AL}); public static final BitSet FOLLOW_ruleElseIfThenExpCS_in_ruleIfExpCS19205 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x000000000000000AL}); public static final BitSet FOLLOW_129_in_ruleIfExpCS19218 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleIfExpCS19239 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000004L}); public static final BitSet FOLLOW_130_in_ruleIfExpCS19251 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleElseIfThenExpCS_in_entryRuleElseIfThenExpCS19287 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleElseIfThenExpCS19297 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_131_in_ruleElseIfThenExpCS19334 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS19355 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_128_in_ruleElseIfThenExpCS19367 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleElseIfThenExpCS19388 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLetExpCS_in_entryRuleLetExpCS19424 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleLetExpCS19434 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_132_in_ruleLetExpCS19471 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleLetVariableCS_in_ruleLetExpCS19492 = new BitSet(new long[]{0x0800000000000000L,0x2000000000000000L}); public static final BitSet FOLLOW_59_in_ruleLetExpCS19505 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0000000000008680L}); public static final BitSet FOLLOW_ruleLetVariableCS_in_ruleLetExpCS19526 = new BitSet(new long[]{0x0800000000000000L,0x2000000000000000L}); public static final BitSet FOLLOW_125_in_ruleLetExpCS19540 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleLetExpCS19561 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLetVariableCS_in_entryRuleLetVariableCS19597 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleLetVariableCS19607 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleLetVariableCS19653 = new BitSet(new long[]{0x4140000000000000L}); public static final BitSet FOLLOW_ruleRoundBracketedClauseCS_in_ruleLetVariableCS19674 = new BitSet(new long[]{0x4100000000000000L}); public static final BitSet FOLLOW_56_in_ruleLetVariableCS19688 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypeExpCS_in_ruleLetVariableCS19709 = new BitSet(new long[]{0x4000000000000000L}); public static final BitSet FOLLOW_62_in_ruleLetVariableCS19723 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleLetVariableCS19744 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNestedExpCS_in_entryRuleNestedExpCS19780 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNestedExpCS19790 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_54_in_ruleNestedExpCS19827 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_ruleNestedExpCS19848 = new BitSet(new long[]{0x0080000000000000L}); public static final BitSet FOLLOW_55_in_ruleNestedExpCS19860 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleSelfExpCS_in_entryRuleSelfExpCS19896 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSelfExpCS19906 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_133_in_ruleSelfExpCS19955 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_entryRuleMultiplicityBoundsCS19991 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityBoundsCS20001 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLOWER_in_ruleMultiplicityBoundsCS20047 = new BitSet(new long[]{0x0000000000000002L,0x0002000000000000L}); public static final BitSet FOLLOW_113_in_ruleMultiplicityBoundsCS20060 = new BitSet(new long[]{0x0000000000000010L,0x0000000000080000L}); public static final BitSet FOLLOW_ruleUPPER_in_ruleMultiplicityBoundsCS20081 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMultiplicityCS_in_entryRuleMultiplicityCS20119 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityCS20129 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_123_in_ruleMultiplicityCS20166 = new BitSet(new long[]{0x0000000000000010L,0x0000000000280000L,0x0000000000000100L}); public static final BitSet FOLLOW_ruleMultiplicityBoundsCS_in_ruleMultiplicityCS20192 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L,0x00000000000000C0L}); public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_ruleMultiplicityCS20222 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L,0x00000000000000C0L}); public static final BitSet FOLLOW_134_in_ruleMultiplicityCS20235 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); public static final BitSet FOLLOW_135_in_ruleMultiplicityCS20259 = new BitSet(new long[]{0x0000000000000000L,0x1000000000000000L}); public static final BitSet FOLLOW_124_in_ruleMultiplicityCS20286 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMultiplicityStringCS_in_entryRuleMultiplicityStringCS20322 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityStringCS20332 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_83_in_ruleMultiplicityStringCS20376 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_85_in_ruleMultiplicityStringCS20405 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_136_in_ruleMultiplicityStringCS20434 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePathNameCS_in_entryRulePathNameCS20485 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRulePathNameCS20495 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleFirstPathElementCS_in_rulePathNameCS20541 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L}); public static final BitSet FOLLOW_99_in_rulePathNameCS20554 = new BitSet(new long[]{0x043FFFFFFFFA0300L,0x0001FFF600008680L}); public static final BitSet FOLLOW_ruleNextPathElementCS_in_rulePathNameCS20575 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L}); public static final BitSet FOLLOW_ruleFirstPathElementCS_in_entryRuleFirstPathElementCS20613 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleFirstPathElementCS20623 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleFirstPathElementCS20674 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNextPathElementCS_in_entryRuleNextPathElementCS20709 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNextPathElementCS20719 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnreservedName_in_ruleNextPathElementCS20770 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTemplateBindingCS_in_entryRuleTemplateBindingCS20805 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTemplateBindingCS20815 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS20861 = new BitSet(new long[]{0x0800000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_59_in_ruleTemplateBindingCS20874 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000120L}); public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_ruleTemplateBindingCS20895 = new BitSet(new long[]{0x0800000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_ruleMultiplicityCS_in_ruleTemplateBindingCS20918 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTemplateParameterSubstitutionCS_in_entryRuleTemplateParameterSubstitutionCS20955 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTemplateParameterSubstitutionCS20965 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeRefCS_in_ruleTemplateParameterSubstitutionCS21010 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeParameterCS_in_entryRuleTypeParameterCS21045 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypeParameterCS21055 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUnrestrictedName_in_ruleTypeParameterCS21101 = new BitSet(new long[]{0x0000000040000002L}); public static final BitSet FOLLOW_30_in_ruleTypeParameterCS21114 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS21135 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_137_in_ruleTypeParameterCS21148 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeParameterCS21169 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000200L}); public static final BitSet FOLLOW_ruleTypeRefCS_in_entryRuleTypeRefCS21209 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleTypeRefCS21219 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleTypeRefCS21269 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleWildcardTypeRefCS_in_ruleTypeRefCS21299 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleWildcardTypeRefCS_in_entryRuleWildcardTypeRefCS21334 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleWildcardTypeRefCS21344 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_136_in_ruleWildcardTypeRefCS21393 = new BitSet(new long[]{0x0000000040000002L}); public static final BitSet FOLLOW_30_in_ruleWildcardTypeRefCS21406 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000020L}); public static final BitSet FOLLOW_ruleTypedRefCS_in_ruleWildcardTypeRefCS21427 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleID_in_entryRuleID21466 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleID21477 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_SIMPLE_ID_in_ruleID21517 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_ESCAPED_ID_in_ruleID21543 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleIdentifier_in_entryRuleIdentifier21589 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleIdentifier21600 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleID_in_ruleIdentifier21646 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLOWER_in_entryRuleLOWER21691 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleLOWER21702 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_INT_in_ruleLOWER21741 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNUMBER_LITERAL_in_entryRuleNUMBER_LITERAL21786 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNUMBER_LITERAL21797 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_INT_in_ruleNUMBER_LITERAL21836 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStringLiteral_in_entryRuleStringLiteral21881 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStringLiteral21892 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleStringLiteral21931 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleUPPER_in_entryRuleUPPER21976 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleUPPER21987 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_INT_in_ruleUPPER22027 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_83_in_ruleUPPER22051 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleURI_in_entryRuleURI22092 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleURI22103 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_SINGLE_QUOTED_STRING_in_ruleURI22142 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeLiteralCS_in_synpred302_InternalOCLinEcore16340 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_rulePrefixedPrimaryExpCS_in_synpred305_InternalOCLinEcore16489 = new BitSet(new long[]{0x4000000000040002L,0x00000001FFFB0000L}); public static final BitSet FOLLOW_ruleBinaryOperatorName_in_synpred305_InternalOCLinEcore16522 = new BitSet(new long[]{0x047FFFFFFFFE0330L,0x81E9FFF6000C8680L,0x0000000000000030L}); public static final BitSet FOLLOW_ruleExpCS_in_synpred305_InternalOCLinEcore16543 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTupleLiteralExpCS_in_synpred312_InternalOCLinEcore17106 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMapLiteralExpCS_in_synpred313_InternalOCLinEcore17136 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleCollectionLiteralExpCS_in_synpred314_InternalOCLinEcore17166 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleTypeLiteralExpCS_in_synpred316_InternalOCLinEcore17226 = new BitSet(new long[]{0x0000000000000002L}); } }