package org.eclipse.emf.ecore.xcore.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.emf.ecore.xcore.services.XcoreGrammarAccess; import org.antlr.runtime.*; import java.util.Stack; import java.util.List; import java.util.ArrayList; import java.util.Map; import java.util.HashMap; @SuppressWarnings("all") public class InternalXcoreParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_HEX", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'@'", "'('", "','", "')'", "'='", "'import'", "'annotation'", "'as'", "'type'", "'<'", "'>'", "'wraps'", "'create'", "'convert'", "'enum'", "'{'", "'}'", "'-'", "'abstract'", "'class'", "'interface'", "'extends'", "'unordered'", "'unique'", "'readonly'", "'transient'", "'volatile'", "'unsettable'", "'derived'", "'id'", "'get'", "'set'", "'isSet'", "'unset'", "'contains'", "'resolving'", "'container'", "'refers'", "'local'", "'opposite'", "'keys'", "'op'", "'void'", "'throws'", "'&'", "'['", "'?'", "'*'", "'+'", "'..'", "']'", "';'", "'super'", "'.'", "'extension'", "'static'", "'+='", "'-='", "'*='", "'/='", "'%='", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'=>'", "'<>'", "'?:'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'::'", "'?.'", "'#'", "'|'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'var'", "'val'", "'new'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'" }; public static final int RULE_HEX=7; 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__52=52; public static final int T__53=53; public static final int T__54=54; public static final int T__60=60; public static final int T__61=61; public static final int RULE_ID=5; public static final int RULE_INT=6; public static final int T__66=66; public static final int RULE_ML_COMMENT=9; public static final int T__67=67; 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__63=63; public static final int T__64=64; public static final int T__65=65; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int T__33=33; public static final int T__34=34; public static final int T__35=35; public static final int T__36=36; public static final int T__30=30; public static final int T__31=31; public static final int T__32=32; public static final int T__48=48; public static final int T__49=49; 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 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 T__19=19; public static final int T__15=15; public static final int T__16=16; 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 T__13=13; public static final int T__14=14; public static final int T__95=95; 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 RULE_DECIMAL=8; 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__70=70; public static final int T__71=71; public static final int T__72=72; public static final int RULE_STRING=4; public static final int RULE_SL_COMMENT=10; 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 T__83=83; public static final int T__112=112; public static final int RULE_WS=11; public static final int RULE_ANY_OTHER=12; 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 InternalXcoreParser(TokenStream input) { this(input, new RecognizerSharedState()); } public InternalXcoreParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return InternalXcoreParser.tokenNames; } public String getGrammarFileName() { return "InternalXcore.g"; } private XcoreGrammarAccess grammarAccess; public InternalXcoreParser(TokenStream input, XcoreGrammarAccess grammarAccess) { this(input); this.grammarAccess = grammarAccess; registerRules(grammarAccess.getGrammar()); } @Override protected String getFirstRuleName() { return "XPackage"; } @Override protected XcoreGrammarAccess getGrammarAccess() { return grammarAccess; } // $ANTLR start "entryRuleXPackage" // InternalXcore.g:67:1: entryRuleXPackage returns [EObject current=null] : iv_ruleXPackage= ruleXPackage EOF ; public final EObject entryRuleXPackage() throws RecognitionException { EObject current = null; EObject iv_ruleXPackage = null; try { // InternalXcore.g:68:2: (iv_ruleXPackage= ruleXPackage EOF ) // InternalXcore.g:69:2: iv_ruleXPackage= ruleXPackage EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPackageRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXPackage=ruleXPackage(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXPackage; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXPackage" // $ANTLR start "ruleXPackage" // InternalXcore.g:76:1: ruleXPackage returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'package' ( (lv_name_3_0= ruleQualifiedName ) ) ( (lv_importDirectives_4_0= ruleXImportDirective ) )* ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* ( (lv_classifiers_6_0= ruleXClassifier ) )* ) ; public final EObject ruleXPackage() throws RecognitionException { EObject current = null; Token otherlv_2=null; EObject lv_annotations_1_0 = null; AntlrDatatypeRuleToken lv_name_3_0 = null; EObject lv_importDirectives_4_0 = null; EObject lv_annotationDirectives_5_0 = null; EObject lv_classifiers_6_0 = null; enterRule(); try { // InternalXcore.g:79:28: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'package' ( (lv_name_3_0= ruleQualifiedName ) ) ( (lv_importDirectives_4_0= ruleXImportDirective ) )* ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* ( (lv_classifiers_6_0= ruleXClassifier ) )* ) ) // InternalXcore.g:80:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'package' ( (lv_name_3_0= ruleQualifiedName ) ) ( (lv_importDirectives_4_0= ruleXImportDirective ) )* ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* ( (lv_classifiers_6_0= ruleXClassifier ) )* ) { // InternalXcore.g:80:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'package' ( (lv_name_3_0= ruleQualifiedName ) ) ( (lv_importDirectives_4_0= ruleXImportDirective ) )* ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* ( (lv_classifiers_6_0= ruleXClassifier ) )* ) // InternalXcore.g:80:2: () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'package' ( (lv_name_3_0= ruleQualifiedName ) ) ( (lv_importDirectives_4_0= ruleXImportDirective ) )* ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* ( (lv_classifiers_6_0= ruleXClassifier ) )* { // InternalXcore.g:80:2: () // InternalXcore.g:81:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXPackageAccess().getXPackageAction_0(), current); } } // InternalXcore.g:86:2: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop1: do { int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==14) ) { alt1=1; } switch (alt1) { case 1 : // InternalXcore.g:87:1: (lv_annotations_1_0= ruleXAnnotation ) { // InternalXcore.g:87:1: (lv_annotations_1_0= ruleXAnnotation ) // InternalXcore.g:88:3: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPackageAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_3); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXPackageRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop1; } } while (true); otherlv_2=(Token)match(input,13,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXPackageAccess().getPackageKeyword_2()); } // InternalXcore.g:108:1: ( (lv_name_3_0= ruleQualifiedName ) ) // InternalXcore.g:109:1: (lv_name_3_0= ruleQualifiedName ) { // InternalXcore.g:109:1: (lv_name_3_0= ruleQualifiedName ) // InternalXcore.g:110:3: lv_name_3_0= ruleQualifiedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPackageAccess().getNameQualifiedNameParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_5); lv_name_3_0=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXPackageRule()); } set( current, "name", lv_name_3_0, "org.eclipse.xtext.xbase.Xbase.QualifiedName"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:126:2: ( (lv_importDirectives_4_0= ruleXImportDirective ) )* loop2: do { int alt2=2; int LA2_0 = input.LA(1); if ( (LA2_0==19) ) { alt2=1; } switch (alt2) { case 1 : // InternalXcore.g:127:1: (lv_importDirectives_4_0= ruleXImportDirective ) { // InternalXcore.g:127:1: (lv_importDirectives_4_0= ruleXImportDirective ) // InternalXcore.g:128:3: lv_importDirectives_4_0= ruleXImportDirective { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPackageAccess().getImportDirectivesXImportDirectiveParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_5); lv_importDirectives_4_0=ruleXImportDirective(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXPackageRule()); } add( current, "importDirectives", lv_importDirectives_4_0, "org.eclipse.emf.ecore.xcore.Xcore.XImportDirective"); afterParserOrEnumRuleCall(); } } } break; default : break loop2; } } while (true); // InternalXcore.g:144:3: ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) )* loop3: do { int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==20) && (synpred1_InternalXcore())) { alt3=1; } switch (alt3) { case 1 : // InternalXcore.g:144:4: ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) { // InternalXcore.g:151:1: (lv_annotationDirectives_5_0= ruleXAnnotationDirective ) // InternalXcore.g:152:3: lv_annotationDirectives_5_0= ruleXAnnotationDirective { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPackageAccess().getAnnotationDirectivesXAnnotationDirectiveParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_6); lv_annotationDirectives_5_0=ruleXAnnotationDirective(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXPackageRule()); } add( current, "annotationDirectives", lv_annotationDirectives_5_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotationDirective"); afterParserOrEnumRuleCall(); } } } break; default : break loop3; } } while (true); // InternalXcore.g:168:3: ( (lv_classifiers_6_0= ruleXClassifier ) )* loop4: do { int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==14||LA4_0==22||LA4_0==28||(LA4_0>=32 && LA4_0<=34)) ) { alt4=1; } switch (alt4) { case 1 : // InternalXcore.g:169:1: (lv_classifiers_6_0= ruleXClassifier ) { // InternalXcore.g:169:1: (lv_classifiers_6_0= ruleXClassifier ) // InternalXcore.g:170:3: lv_classifiers_6_0= ruleXClassifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPackageAccess().getClassifiersXClassifierParserRuleCall_6_0()); } pushFollow(FollowSets000.FOLLOW_7); lv_classifiers_6_0=ruleXClassifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXPackageRule()); } add( current, "classifiers", lv_classifiers_6_0, "org.eclipse.emf.ecore.xcore.Xcore.XClassifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop4; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXPackage" // $ANTLR start "entryRuleXAnnotation" // InternalXcore.g:194:1: entryRuleXAnnotation returns [EObject current=null] : iv_ruleXAnnotation= ruleXAnnotation EOF ; public final EObject entryRuleXAnnotation() throws RecognitionException { EObject current = null; EObject iv_ruleXAnnotation = null; try { // InternalXcore.g:195:2: (iv_ruleXAnnotation= ruleXAnnotation EOF ) // InternalXcore.g:196:2: iv_ruleXAnnotation= ruleXAnnotation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXAnnotation=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAnnotation; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAnnotation" // $ANTLR start "ruleXAnnotation" // InternalXcore.g:203:1: ruleXAnnotation returns [EObject current=null] : (otherlv_0= '@' ( ( ruleXQualifiedName ) ) (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )? ) ; public final EObject ruleXAnnotation() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_details_3_0 = null; EObject lv_details_5_0 = null; enterRule(); try { // InternalXcore.g:206:28: ( (otherlv_0= '@' ( ( ruleXQualifiedName ) ) (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )? ) ) // InternalXcore.g:207:1: (otherlv_0= '@' ( ( ruleXQualifiedName ) ) (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )? ) { // InternalXcore.g:207:1: (otherlv_0= '@' ( ( ruleXQualifiedName ) ) (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )? ) // InternalXcore.g:207:3: otherlv_0= '@' ( ( ruleXQualifiedName ) ) (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )? { otherlv_0=(Token)match(input,14,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_0()); } // InternalXcore.g:211:1: ( ( ruleXQualifiedName ) ) // InternalXcore.g:212:1: ( ruleXQualifiedName ) { // InternalXcore.g:212:1: ( ruleXQualifiedName ) // InternalXcore.g:213:3: ruleXQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAnnotationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationAccess().getSourceXAnnotationDirectiveCrossReference_1_0()); } pushFollow(FollowSets000.FOLLOW_9); ruleXQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:226:2: (otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' )? int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==15) ) { alt6=1; } switch (alt6) { case 1 : // InternalXcore.g:226:4: otherlv_2= '(' ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* otherlv_6= ')' { otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_2_0()); } // InternalXcore.g:230:1: ( (lv_details_3_0= ruleXStringToStringMapEntry ) ) // InternalXcore.g:231:1: (lv_details_3_0= ruleXStringToStringMapEntry ) { // InternalXcore.g:231:1: (lv_details_3_0= ruleXStringToStringMapEntry ) // InternalXcore.g:232:3: lv_details_3_0= ruleXStringToStringMapEntry { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationAccess().getDetailsXStringToStringMapEntryParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_details_3_0=ruleXStringToStringMapEntry(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationRule()); } add( current, "details", lv_details_3_0, "org.eclipse.emf.ecore.xcore.Xcore.XStringToStringMapEntry"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:248:2: (otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) )* loop5: do { int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==16) ) { alt5=1; } switch (alt5) { case 1 : // InternalXcore.g:248:4: otherlv_4= ',' ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) { otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXAnnotationAccess().getCommaKeyword_2_2_0()); } // InternalXcore.g:252:1: ( (lv_details_5_0= ruleXStringToStringMapEntry ) ) // InternalXcore.g:253:1: (lv_details_5_0= ruleXStringToStringMapEntry ) { // InternalXcore.g:253:1: (lv_details_5_0= ruleXStringToStringMapEntry ) // InternalXcore.g:254:3: lv_details_5_0= ruleXStringToStringMapEntry { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationAccess().getDetailsXStringToStringMapEntryParserRuleCall_2_2_1_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_details_5_0=ruleXStringToStringMapEntry(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationRule()); } add( current, "details", lv_details_5_0, "org.eclipse.emf.ecore.xcore.Xcore.XStringToStringMapEntry"); afterParserOrEnumRuleCall(); } } } } break; default : break loop5; } } while (true); otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_2_3()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAnnotation" // $ANTLR start "entryRuleXStringToStringMapEntry" // InternalXcore.g:282:1: entryRuleXStringToStringMapEntry returns [EObject current=null] : iv_ruleXStringToStringMapEntry= ruleXStringToStringMapEntry EOF ; public final EObject entryRuleXStringToStringMapEntry() throws RecognitionException { EObject current = null; EObject iv_ruleXStringToStringMapEntry = null; try { // InternalXcore.g:283:2: (iv_ruleXStringToStringMapEntry= ruleXStringToStringMapEntry EOF ) // InternalXcore.g:284:2: iv_ruleXStringToStringMapEntry= ruleXStringToStringMapEntry EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXStringToStringMapEntryRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXStringToStringMapEntry=ruleXStringToStringMapEntry(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXStringToStringMapEntry; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXStringToStringMapEntry" // $ANTLR start "ruleXStringToStringMapEntry" // InternalXcore.g:291:1: ruleXStringToStringMapEntry returns [EObject current=null] : ( ( (lv_key_0_0= ruleQualifiedName ) ) otherlv_1= '=' ( (lv_value_2_0= RULE_STRING ) ) ) ; public final EObject ruleXStringToStringMapEntry() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token lv_value_2_0=null; AntlrDatatypeRuleToken lv_key_0_0 = null; enterRule(); try { // InternalXcore.g:294:28: ( ( ( (lv_key_0_0= ruleQualifiedName ) ) otherlv_1= '=' ( (lv_value_2_0= RULE_STRING ) ) ) ) // InternalXcore.g:295:1: ( ( (lv_key_0_0= ruleQualifiedName ) ) otherlv_1= '=' ( (lv_value_2_0= RULE_STRING ) ) ) { // InternalXcore.g:295:1: ( ( (lv_key_0_0= ruleQualifiedName ) ) otherlv_1= '=' ( (lv_value_2_0= RULE_STRING ) ) ) // InternalXcore.g:295:2: ( (lv_key_0_0= ruleQualifiedName ) ) otherlv_1= '=' ( (lv_value_2_0= RULE_STRING ) ) { // InternalXcore.g:295:2: ( (lv_key_0_0= ruleQualifiedName ) ) // InternalXcore.g:296:1: (lv_key_0_0= ruleQualifiedName ) { // InternalXcore.g:296:1: (lv_key_0_0= ruleQualifiedName ) // InternalXcore.g:297:3: lv_key_0_0= ruleQualifiedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXStringToStringMapEntryAccess().getKeyQualifiedNameParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_11); lv_key_0_0=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXStringToStringMapEntryRule()); } set( current, "key", lv_key_0_0, "org.eclipse.xtext.xbase.Xbase.QualifiedName"); afterParserOrEnumRuleCall(); } } } otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_12); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXStringToStringMapEntryAccess().getEqualsSignKeyword_1()); } // InternalXcore.g:317:1: ( (lv_value_2_0= RULE_STRING ) ) // InternalXcore.g:318:1: (lv_value_2_0= RULE_STRING ) { // InternalXcore.g:318:1: (lv_value_2_0= RULE_STRING ) // InternalXcore.g:319:3: lv_value_2_0= RULE_STRING { lv_value_2_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_2_0, grammarAccess.getXStringToStringMapEntryAccess().getValueSTRINGTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXStringToStringMapEntryRule()); } setWithLastConsumed( current, "value", lv_value_2_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXStringToStringMapEntry" // $ANTLR start "entryRuleXImportDirective" // InternalXcore.g:343:1: entryRuleXImportDirective returns [EObject current=null] : iv_ruleXImportDirective= ruleXImportDirective EOF ; public final EObject entryRuleXImportDirective() throws RecognitionException { EObject current = null; EObject iv_ruleXImportDirective = null; try { // InternalXcore.g:344:2: (iv_ruleXImportDirective= ruleXImportDirective EOF ) // InternalXcore.g:345:2: iv_ruleXImportDirective= ruleXImportDirective EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDirectiveRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXImportDirective=ruleXImportDirective(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXImportDirective; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXImportDirective" // $ANTLR start "ruleXImportDirective" // InternalXcore.g:352:1: ruleXImportDirective returns [EObject current=null] : ( () otherlv_1= 'import' ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) ) ) ; public final EObject ruleXImportDirective() throws RecognitionException { EObject current = null; Token otherlv_1=null; AntlrDatatypeRuleToken lv_importedNamespace_2_0 = null; enterRule(); try { // InternalXcore.g:355:28: ( ( () otherlv_1= 'import' ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) ) ) ) // InternalXcore.g:356:1: ( () otherlv_1= 'import' ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) ) ) { // InternalXcore.g:356:1: ( () otherlv_1= 'import' ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) ) ) // InternalXcore.g:356:2: () otherlv_1= 'import' ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) ) { // InternalXcore.g:356:2: () // InternalXcore.g:357:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXImportDirectiveAccess().getXImportDirectiveAction_0(), current); } } otherlv_1=(Token)match(input,19,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXImportDirectiveAccess().getImportKeyword_1()); } // InternalXcore.g:366:1: ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) ) int alt7=2; alt7 = dfa7.predict(input); switch (alt7) { case 1 : // InternalXcore.g:366:2: ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) { // InternalXcore.g:366:2: ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) // InternalXcore.g:367:1: (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) { // InternalXcore.g:367:1: (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) // InternalXcore.g:368:3: lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDirectiveAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_importedNamespace_2_0=ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXImportDirectiveRule()); } set( current, "importedNamespace", lv_importedNamespace_2_0, "org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalXcore.g:385:6: ( ( ruleQualifiedName ) ) { // InternalXcore.g:385:6: ( ( ruleQualifiedName ) ) // InternalXcore.g:386:1: ( ruleQualifiedName ) { // InternalXcore.g:386:1: ( ruleQualifiedName ) // InternalXcore.g:387:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXImportDirectiveRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDirectiveAccess().getImportedObjectEObjectCrossReference_2_1_0()); } pushFollow(FollowSets000.FOLLOW_2); ruleQualifiedName(); 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 "ruleXImportDirective" // $ANTLR start "entryRuleXAnnotationDirective" // InternalXcore.g:408:1: entryRuleXAnnotationDirective returns [EObject current=null] : iv_ruleXAnnotationDirective= ruleXAnnotationDirective EOF ; public final EObject entryRuleXAnnotationDirective() throws RecognitionException { EObject current = null; EObject iv_ruleXAnnotationDirective = null; try { // InternalXcore.g:409:2: (iv_ruleXAnnotationDirective= ruleXAnnotationDirective EOF ) // InternalXcore.g:410:2: iv_ruleXAnnotationDirective= ruleXAnnotationDirective EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationDirectiveRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXAnnotationDirective=ruleXAnnotationDirective(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAnnotationDirective; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAnnotationDirective" // $ANTLR start "ruleXAnnotationDirective" // InternalXcore.g:417:1: ruleXAnnotationDirective returns [EObject current=null] : ( ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleValidID ) ) ) ; public final EObject ruleXAnnotationDirective() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token lv_sourceURI_1_0=null; Token otherlv_2=null; AntlrDatatypeRuleToken lv_name_3_0 = null; enterRule(); try { // InternalXcore.g:420:28: ( ( ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleValidID ) ) ) ) // InternalXcore.g:421:1: ( ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleValidID ) ) ) { // InternalXcore.g:421:1: ( ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleValidID ) ) ) // InternalXcore.g:421:2: ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) otherlv_2= 'as' ( (lv_name_3_0= ruleValidID ) ) { // InternalXcore.g:421:2: ( ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) ) // InternalXcore.g:421:3: ( ( 'annotation' ( ( RULE_STRING ) ) ) )=> (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) { // InternalXcore.g:427:6: (otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) ) // InternalXcore.g:427:8: otherlv_0= 'annotation' ( (lv_sourceURI_1_0= RULE_STRING ) ) { otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_12); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXAnnotationDirectiveAccess().getAnnotationKeyword_0_0_0()); } // InternalXcore.g:431:1: ( (lv_sourceURI_1_0= RULE_STRING ) ) // InternalXcore.g:432:1: (lv_sourceURI_1_0= RULE_STRING ) { // InternalXcore.g:432:1: (lv_sourceURI_1_0= RULE_STRING ) // InternalXcore.g:433:3: lv_sourceURI_1_0= RULE_STRING { lv_sourceURI_1_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_13); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_sourceURI_1_0, grammarAccess.getXAnnotationDirectiveAccess().getSourceURISTRINGTerminalRuleCall_0_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAnnotationDirectiveRule()); } setWithLastConsumed( current, "sourceURI", lv_sourceURI_1_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } } otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXAnnotationDirectiveAccess().getAsKeyword_1()); } // InternalXcore.g:453:1: ( (lv_name_3_0= ruleValidID ) ) // InternalXcore.g:454:1: (lv_name_3_0= ruleValidID ) { // InternalXcore.g:454:1: (lv_name_3_0= ruleValidID ) // InternalXcore.g:455:3: lv_name_3_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationDirectiveAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_name_3_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationDirectiveRule()); } set( current, "name", lv_name_3_0, "org.eclipse.emf.ecore.xcore.Xcore.ValidID"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAnnotationDirective" // $ANTLR start "entryRuleXClassifier" // InternalXcore.g:479:1: entryRuleXClassifier returns [EObject current=null] : iv_ruleXClassifier= ruleXClassifier EOF ; public final EObject entryRuleXClassifier() throws RecognitionException { EObject current = null; EObject iv_ruleXClassifier = null; try { // InternalXcore.g:480:2: (iv_ruleXClassifier= ruleXClassifier EOF ) // InternalXcore.g:481:2: iv_ruleXClassifier= ruleXClassifier EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassifierRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXClassifier=ruleXClassifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXClassifier; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXClassifier" // $ANTLR start "ruleXClassifier" // InternalXcore.g:488:1: ruleXClassifier returns [EObject current=null] : (this_XClass_0= ruleXClass | this_XDataType_1= ruleXDataType | this_XEnum_2= ruleXEnum ) ; public final EObject ruleXClassifier() throws RecognitionException { EObject current = null; EObject this_XClass_0 = null; EObject this_XDataType_1 = null; EObject this_XEnum_2 = null; enterRule(); try { // InternalXcore.g:491:28: ( (this_XClass_0= ruleXClass | this_XDataType_1= ruleXDataType | this_XEnum_2= ruleXEnum ) ) // InternalXcore.g:492:1: (this_XClass_0= ruleXClass | this_XDataType_1= ruleXDataType | this_XEnum_2= ruleXEnum ) { // InternalXcore.g:492:1: (this_XClass_0= ruleXClass | this_XDataType_1= ruleXDataType | this_XEnum_2= ruleXEnum ) int alt8=3; alt8 = dfa8.predict(input); switch (alt8) { case 1 : // InternalXcore.g:493:5: this_XClass_0= ruleXClass { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassifierAccess().getXClassParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_XClass_0=ruleXClass(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XClass_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:503:5: this_XDataType_1= ruleXDataType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassifierAccess().getXDataTypeParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_2); this_XDataType_1=ruleXDataType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XDataType_1; afterParserOrEnumRuleCall(); } } break; case 3 : // InternalXcore.g:513:5: this_XEnum_2= ruleXEnum { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassifierAccess().getXEnumParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_2); this_XEnum_2=ruleXEnum(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XEnum_2; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXClassifier" // $ANTLR start "entryRuleXDataType" // InternalXcore.g:529:1: entryRuleXDataType returns [EObject current=null] : iv_ruleXDataType= ruleXDataType EOF ; public final EObject entryRuleXDataType() throws RecognitionException { EObject current = null; EObject iv_ruleXDataType = null; try { // InternalXcore.g:530:2: (iv_ruleXDataType= ruleXDataType EOF ) // InternalXcore.g:531:2: iv_ruleXDataType= ruleXDataType EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDataTypeRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXDataType=ruleXDataType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXDataType; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXDataType" // $ANTLR start "ruleXDataType" // InternalXcore.g:538:1: ruleXDataType returns [EObject current=null] : ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'type' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? otherlv_8= 'wraps' ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) ; public final EObject ruleXDataType() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token lv_name_2_0=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Token otherlv_8=null; Token lv_serializable_11_0=null; Token otherlv_13=null; EObject lv_annotations_0_0 = null; EObject lv_typeParameters_4_0 = null; EObject lv_typeParameters_6_0 = null; EObject lv_instanceType_9_0 = null; EObject lv_createBody_12_0 = null; EObject lv_convertBody_14_0 = null; enterRule(); try { // InternalXcore.g:541:28: ( ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'type' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? otherlv_8= 'wraps' ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) ) // InternalXcore.g:542:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'type' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? otherlv_8= 'wraps' ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) { // InternalXcore.g:542:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'type' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? otherlv_8= 'wraps' ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) // InternalXcore.g:542:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'type' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? otherlv_8= 'wraps' ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) { // InternalXcore.g:542:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* loop9: do { int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==14) ) { alt9=1; } switch (alt9) { case 1 : // InternalXcore.g:543:1: (lv_annotations_0_0= ruleXAnnotation ) { // InternalXcore.g:543:1: (lv_annotations_0_0= ruleXAnnotation ) // InternalXcore.g:544:3: lv_annotations_0_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDataTypeAccess().getAnnotationsXAnnotationParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_14); lv_annotations_0_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXDataTypeRule()); } add( current, "annotations", lv_annotations_0_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop9; } } while (true); otherlv_1=(Token)match(input,22,FollowSets000.FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXDataTypeAccess().getTypeKeyword_1()); } // InternalXcore.g:564:1: ( (lv_name_2_0= RULE_ID ) ) // InternalXcore.g:565:1: (lv_name_2_0= RULE_ID ) { // InternalXcore.g:565:1: (lv_name_2_0= RULE_ID ) // InternalXcore.g:566:3: lv_name_2_0= RULE_ID { lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_0, grammarAccess.getXDataTypeAccess().getNameIDTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXDataTypeRule()); } setWithLastConsumed( current, "name", lv_name_2_0, "org.eclipse.xtext.xbase.Xtype.ID"); } } } // InternalXcore.g:582:2: (otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' )? int alt11=2; int LA11_0 = input.LA(1); if ( (LA11_0==23) ) { alt11=1; } switch (alt11) { case 1 : // InternalXcore.g:582:4: otherlv_3= '<' ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* otherlv_7= '>' { otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXDataTypeAccess().getLessThanSignKeyword_3_0()); } // InternalXcore.g:586:1: ( (lv_typeParameters_4_0= ruleXTypeParameter ) ) // InternalXcore.g:587:1: (lv_typeParameters_4_0= ruleXTypeParameter ) { // InternalXcore.g:587:1: (lv_typeParameters_4_0= ruleXTypeParameter ) // InternalXcore.g:588:3: lv_typeParameters_4_0= ruleXTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDataTypeAccess().getTypeParametersXTypeParameterParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeParameters_4_0=ruleXTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXDataTypeRule()); } add( current, "typeParameters", lv_typeParameters_4_0, "org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:604:2: (otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) )* loop10: do { int alt10=2; int LA10_0 = input.LA(1); if ( (LA10_0==16) ) { alt10=1; } switch (alt10) { case 1 : // InternalXcore.g:604:4: otherlv_5= ',' ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) { otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXDataTypeAccess().getCommaKeyword_3_2_0()); } // InternalXcore.g:608:1: ( (lv_typeParameters_6_0= ruleXTypeParameter ) ) // InternalXcore.g:609:1: (lv_typeParameters_6_0= ruleXTypeParameter ) { // InternalXcore.g:609:1: (lv_typeParameters_6_0= ruleXTypeParameter ) // InternalXcore.g:610:3: lv_typeParameters_6_0= ruleXTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDataTypeAccess().getTypeParametersXTypeParameterParserRuleCall_3_2_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeParameters_6_0=ruleXTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXDataTypeRule()); } add( current, "typeParameters", lv_typeParameters_6_0, "org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop10; } } while (true); otherlv_7=(Token)match(input,24,FollowSets000.FOLLOW_19); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getXDataTypeAccess().getGreaterThanSignKeyword_3_3()); } } break; } otherlv_8=(Token)match(input,25,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXDataTypeAccess().getWrapsKeyword_4()); } // InternalXcore.g:634:1: ( (lv_instanceType_9_0= ruleJvmTypeReference ) ) // InternalXcore.g:635:1: (lv_instanceType_9_0= ruleJvmTypeReference ) { // InternalXcore.g:635:1: (lv_instanceType_9_0= ruleJvmTypeReference ) // InternalXcore.g:636:3: lv_instanceType_9_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDataTypeAccess().getInstanceTypeJvmTypeReferenceParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_21); lv_instanceType_9_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXDataTypeRule()); } set( current, "instanceType", lv_instanceType_9_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:652:2: ( ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) // InternalXcore.g:654:1: ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) { // InternalXcore.g:654:1: ( ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) // InternalXcore.g:655:2: ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6()); // InternalXcore.g:658:2: ( ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* ) // InternalXcore.g:659:3: ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* { // InternalXcore.g:659:3: ( ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) )* loop12: do { int alt12=3; int LA12_0 = input.LA(1); if ( LA12_0 == 26 && getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 0) ) { alt12=1; } else if ( LA12_0 == 27 && getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 1) ) { alt12=2; } switch (alt12) { case 1 : // InternalXcore.g:661:4: ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) { // InternalXcore.g:661:4: ({...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) ) // InternalXcore.g:662:5: {...}? => ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXDataType", "getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 0)"); } // InternalXcore.g:662:106: ( ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) ) // InternalXcore.g:663:6: ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 0); // InternalXcore.g:666:6: ({...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) ) // InternalXcore.g:666:7: {...}? => ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXDataType", "true"); } // InternalXcore.g:666:16: ( ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) ) // InternalXcore.g:666:17: ( (lv_serializable_11_0= 'create' ) ) ( (lv_createBody_12_0= ruleXBlockExpression ) ) { // InternalXcore.g:666:17: ( (lv_serializable_11_0= 'create' ) ) // InternalXcore.g:667:1: (lv_serializable_11_0= 'create' ) { // InternalXcore.g:667:1: (lv_serializable_11_0= 'create' ) // InternalXcore.g:668:3: lv_serializable_11_0= 'create' { lv_serializable_11_0=(Token)match(input,26,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_serializable_11_0, grammarAccess.getXDataTypeAccess().getSerializableCreateKeyword_6_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXDataTypeRule()); } setWithLastConsumed(current, "serializable", true, "create"); } } } // InternalXcore.g:681:2: ( (lv_createBody_12_0= ruleXBlockExpression ) ) // InternalXcore.g:682:1: (lv_createBody_12_0= ruleXBlockExpression ) { // InternalXcore.g:682:1: (lv_createBody_12_0= ruleXBlockExpression ) // InternalXcore.g:683:3: lv_createBody_12_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDataTypeAccess().getCreateBodyXBlockExpressionParserRuleCall_6_0_1_0()); } pushFollow(FollowSets000.FOLLOW_21); lv_createBody_12_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXDataTypeRule()); } set( current, "createBody", lv_createBody_12_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6()); } } } break; case 2 : // InternalXcore.g:706:4: ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) { // InternalXcore.g:706:4: ({...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) ) // InternalXcore.g:707:5: {...}? => ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXDataType", "getUnorderedGroupHelper().canSelect(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 1)"); } // InternalXcore.g:707:106: ( ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) ) // InternalXcore.g:708:6: ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6(), 1); // InternalXcore.g:711:6: ({...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) ) // InternalXcore.g:711:7: {...}? => (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXDataType", "true"); } // InternalXcore.g:711:16: (otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) ) // InternalXcore.g:711:18: otherlv_13= 'convert' ( (lv_convertBody_14_0= ruleXBlockExpression ) ) { otherlv_13=(Token)match(input,27,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXDataTypeAccess().getConvertKeyword_6_1_0()); } // InternalXcore.g:715:1: ( (lv_convertBody_14_0= ruleXBlockExpression ) ) // InternalXcore.g:716:1: (lv_convertBody_14_0= ruleXBlockExpression ) { // InternalXcore.g:716:1: (lv_convertBody_14_0= ruleXBlockExpression ) // InternalXcore.g:717:3: lv_convertBody_14_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDataTypeAccess().getConvertBodyXBlockExpressionParserRuleCall_6_1_1_0()); } pushFollow(FollowSets000.FOLLOW_21); lv_convertBody_14_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXDataTypeRule()); } set( current, "convertBody", lv_convertBody_14_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6()); } } } break; default : break loop12; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getXDataTypeAccess().getUnorderedGroup_6()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXDataType" // $ANTLR start "entryRuleXEnum" // InternalXcore.g:755:1: entryRuleXEnum returns [EObject current=null] : iv_ruleXEnum= ruleXEnum EOF ; public final EObject entryRuleXEnum() throws RecognitionException { EObject current = null; EObject iv_ruleXEnum = null; try { // InternalXcore.g:756:2: (iv_ruleXEnum= ruleXEnum EOF ) // InternalXcore.g:757:2: iv_ruleXEnum= ruleXEnum EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEnumRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXEnum=ruleXEnum(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXEnum; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXEnum" // $ANTLR start "ruleXEnum" // InternalXcore.g:764:1: ruleXEnum returns [EObject current=null] : ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'enum' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? otherlv_7= '}' ) ; public final EObject ruleXEnum() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token lv_name_2_0=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; EObject lv_annotations_0_0 = null; EObject lv_literals_4_0 = null; EObject lv_literals_6_0 = null; enterRule(); try { // InternalXcore.g:767:28: ( ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'enum' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? otherlv_7= '}' ) ) // InternalXcore.g:768:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'enum' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? otherlv_7= '}' ) { // InternalXcore.g:768:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'enum' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? otherlv_7= '}' ) // InternalXcore.g:768:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* otherlv_1= 'enum' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '{' ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? otherlv_7= '}' { // InternalXcore.g:768:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* loop13: do { int alt13=2; int LA13_0 = input.LA(1); if ( (LA13_0==14) ) { alt13=1; } switch (alt13) { case 1 : // InternalXcore.g:769:1: (lv_annotations_0_0= ruleXAnnotation ) { // InternalXcore.g:769:1: (lv_annotations_0_0= ruleXAnnotation ) // InternalXcore.g:770:3: lv_annotations_0_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEnumAccess().getAnnotationsXAnnotationParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_23); lv_annotations_0_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXEnumRule()); } add( current, "annotations", lv_annotations_0_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop13; } } while (true); otherlv_1=(Token)match(input,28,FollowSets000.FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXEnumAccess().getEnumKeyword_1()); } // InternalXcore.g:790:1: ( (lv_name_2_0= RULE_ID ) ) // InternalXcore.g:791:1: (lv_name_2_0= RULE_ID ) { // InternalXcore.g:791:1: (lv_name_2_0= RULE_ID ) // InternalXcore.g:792:3: lv_name_2_0= RULE_ID { lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_2_0, grammarAccess.getXEnumAccess().getNameIDTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXEnumRule()); } setWithLastConsumed( current, "name", lv_name_2_0, "org.eclipse.xtext.xbase.Xtype.ID"); } } } otherlv_3=(Token)match(input,29,FollowSets000.FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXEnumAccess().getLeftCurlyBracketKeyword_3()); } // InternalXcore.g:812:1: ( ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* )? int alt16=2; int LA16_0 = input.LA(1); if ( (LA16_0==RULE_ID||LA16_0==14) ) { alt16=1; } switch (alt16) { case 1 : // InternalXcore.g:812:2: ( (lv_literals_4_0= ruleXEnumLiteral ) ) ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* { // InternalXcore.g:812:2: ( (lv_literals_4_0= ruleXEnumLiteral ) ) // InternalXcore.g:813:1: (lv_literals_4_0= ruleXEnumLiteral ) { // InternalXcore.g:813:1: (lv_literals_4_0= ruleXEnumLiteral ) // InternalXcore.g:814:3: lv_literals_4_0= ruleXEnumLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEnumAccess().getLiteralsXEnumLiteralParserRuleCall_4_0_0()); } pushFollow(FollowSets000.FOLLOW_25); lv_literals_4_0=ruleXEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXEnumRule()); } add( current, "literals", lv_literals_4_0, "org.eclipse.emf.ecore.xcore.Xcore.XEnumLiteral"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:830:2: ( (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) )* loop15: do { int alt15=2; int LA15_0 = input.LA(1); if ( (LA15_0==RULE_ID||LA15_0==14||LA15_0==16) ) { alt15=1; } switch (alt15) { case 1 : // InternalXcore.g:830:3: (otherlv_5= ',' )? ( (lv_literals_6_0= ruleXEnumLiteral ) ) { // InternalXcore.g:830:3: (otherlv_5= ',' )? int alt14=2; int LA14_0 = input.LA(1); if ( (LA14_0==16) ) { alt14=1; } switch (alt14) { case 1 : // InternalXcore.g:830:5: otherlv_5= ',' { otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXEnumAccess().getCommaKeyword_4_1_0()); } } break; } // InternalXcore.g:834:3: ( (lv_literals_6_0= ruleXEnumLiteral ) ) // InternalXcore.g:835:1: (lv_literals_6_0= ruleXEnumLiteral ) { // InternalXcore.g:835:1: (lv_literals_6_0= ruleXEnumLiteral ) // InternalXcore.g:836:3: lv_literals_6_0= ruleXEnumLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEnumAccess().getLiteralsXEnumLiteralParserRuleCall_4_1_1_0()); } pushFollow(FollowSets000.FOLLOW_25); lv_literals_6_0=ruleXEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXEnumRule()); } add( current, "literals", lv_literals_6_0, "org.eclipse.emf.ecore.xcore.Xcore.XEnumLiteral"); afterParserOrEnumRuleCall(); } } } } break; default : break loop15; } } while (true); } break; } otherlv_7=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getXEnumAccess().getRightCurlyBracketKeyword_5()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXEnum" // $ANTLR start "entryRuleXEnumLiteral" // InternalXcore.g:864:1: entryRuleXEnumLiteral returns [EObject current=null] : iv_ruleXEnumLiteral= ruleXEnumLiteral EOF ; public final EObject entryRuleXEnumLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXEnumLiteral = null; try { // InternalXcore.g:865:2: (iv_ruleXEnumLiteral= ruleXEnumLiteral EOF ) // InternalXcore.g:866:2: iv_ruleXEnumLiteral= ruleXEnumLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEnumLiteralRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXEnumLiteral=ruleXEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXEnumLiteral; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXEnumLiteral" // $ANTLR start "ruleXEnumLiteral" // InternalXcore.g:873:1: ruleXEnumLiteral returns [EObject current=null] : ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )? ) ; public final EObject ruleXEnumLiteral() throws RecognitionException { EObject current = null; Token lv_name_1_0=null; Token otherlv_2=null; Token lv_literal_3_0=null; Token otherlv_4=null; EObject lv_annotations_0_0 = null; AntlrDatatypeRuleToken lv_value_5_0 = null; enterRule(); try { // InternalXcore.g:876:28: ( ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )? ) ) // InternalXcore.g:877:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )? ) { // InternalXcore.g:877:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )? ) // InternalXcore.g:877:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )? { // InternalXcore.g:877:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* loop17: do { int alt17=2; int LA17_0 = input.LA(1); if ( (LA17_0==14) ) { alt17=1; } switch (alt17) { case 1 : // InternalXcore.g:878:1: (lv_annotations_0_0= ruleXAnnotation ) { // InternalXcore.g:878:1: (lv_annotations_0_0= ruleXAnnotation ) // InternalXcore.g:879:3: lv_annotations_0_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEnumLiteralAccess().getAnnotationsXAnnotationParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_17); lv_annotations_0_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXEnumLiteralRule()); } add( current, "annotations", lv_annotations_0_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop17; } } while (true); // InternalXcore.g:895:3: ( (lv_name_1_0= RULE_ID ) ) // InternalXcore.g:896:1: (lv_name_1_0= RULE_ID ) { // InternalXcore.g:896:1: (lv_name_1_0= RULE_ID ) // InternalXcore.g:897:3: lv_name_1_0= RULE_ID { lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_26); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_1_0, grammarAccess.getXEnumLiteralAccess().getNameIDTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXEnumLiteralRule()); } setWithLastConsumed( current, "name", lv_name_1_0, "org.eclipse.xtext.xbase.Xtype.ID"); } } } // InternalXcore.g:913:2: (otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) )? int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0==21) ) { alt18=1; } switch (alt18) { case 1 : // InternalXcore.g:913:4: otherlv_2= 'as' ( (lv_literal_3_0= RULE_STRING ) ) { otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_12); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXEnumLiteralAccess().getAsKeyword_2_0()); } // InternalXcore.g:917:1: ( (lv_literal_3_0= RULE_STRING ) ) // InternalXcore.g:918:1: (lv_literal_3_0= RULE_STRING ) { // InternalXcore.g:918:1: (lv_literal_3_0= RULE_STRING ) // InternalXcore.g:919:3: lv_literal_3_0= RULE_STRING { lv_literal_3_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_27); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_literal_3_0, grammarAccess.getXEnumLiteralAccess().getLiteralSTRINGTerminalRuleCall_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXEnumLiteralRule()); } setWithLastConsumed( current, "literal", lv_literal_3_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; } // InternalXcore.g:935:4: (otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) )? int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==18) ) { alt19=1; } switch (alt19) { case 1 : // InternalXcore.g:935:6: otherlv_4= '=' ( (lv_value_5_0= ruleSignedInt ) ) { otherlv_4=(Token)match(input,18,FollowSets000.FOLLOW_28); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXEnumLiteralAccess().getEqualsSignKeyword_3_0()); } // InternalXcore.g:939:1: ( (lv_value_5_0= ruleSignedInt ) ) // InternalXcore.g:940:1: (lv_value_5_0= ruleSignedInt ) { // InternalXcore.g:940:1: (lv_value_5_0= ruleSignedInt ) // InternalXcore.g:941:3: lv_value_5_0= ruleSignedInt { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEnumLiteralAccess().getValueSignedIntParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_value_5_0=ruleSignedInt(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXEnumLiteralRule()); } set( current, "value", lv_value_5_0, "org.eclipse.emf.ecore.xcore.Xcore.SignedInt"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXEnumLiteral" // $ANTLR start "entryRuleSignedInt" // InternalXcore.g:965:1: entryRuleSignedInt returns [String current=null] : iv_ruleSignedInt= ruleSignedInt EOF ; public final String entryRuleSignedInt() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleSignedInt = null; try { // InternalXcore.g:966:2: (iv_ruleSignedInt= ruleSignedInt EOF ) // InternalXcore.g:967:2: iv_ruleSignedInt= ruleSignedInt EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSignedIntRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleSignedInt=ruleSignedInt(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSignedInt.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSignedInt" // $ANTLR start "ruleSignedInt" // InternalXcore.g:974:1: ruleSignedInt returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ; public final AntlrDatatypeRuleToken ruleSignedInt() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; Token this_INT_1=null; enterRule(); try { // InternalXcore.g:977:28: ( ( (kw= '-' )? this_INT_1= RULE_INT ) ) // InternalXcore.g:978:1: ( (kw= '-' )? this_INT_1= RULE_INT ) { // InternalXcore.g:978:1: ( (kw= '-' )? this_INT_1= RULE_INT ) // InternalXcore.g:978:2: (kw= '-' )? this_INT_1= RULE_INT { // InternalXcore.g:978:2: (kw= '-' )? int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0==31) ) { alt20=1; } switch (alt20) { case 1 : // InternalXcore.g:979:2: kw= '-' { kw=(Token)match(input,31,FollowSets000.FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getSignedIntAccess().getHyphenMinusKeyword_0()); } } break; } this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_INT_1); } if ( state.backtracking==0 ) { newLeafNode(this_INT_1, grammarAccess.getSignedIntAccess().getINTTerminalRuleCall_1()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSignedInt" // $ANTLR start "entryRuleXClass" // InternalXcore.g:999:1: entryRuleXClass returns [EObject current=null] : iv_ruleXClass= ruleXClass EOF ; public final EObject entryRuleXClass() throws RecognitionException { EObject current = null; EObject iv_ruleXClass = null; try { // InternalXcore.g:1000:2: (iv_ruleXClass= ruleXClass EOF ) // InternalXcore.g:1001:2: iv_ruleXClass= ruleXClass EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXClass=ruleXClass(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXClass; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXClass" // $ANTLR start "ruleXClass" // InternalXcore.g:1008:1: ruleXClass returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) ( (lv_name_5_0= RULE_ID ) ) (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? otherlv_17= '{' ( (lv_members_18_0= ruleXMember ) )* otherlv_19= '}' ) ; public final EObject ruleXClass() throws RecognitionException { EObject current = null; Token lv_abstract_2_0=null; Token otherlv_3=null; Token lv_interface_4_0=null; Token lv_name_5_0=null; Token otherlv_6=null; Token otherlv_8=null; Token otherlv_10=null; Token otherlv_11=null; Token otherlv_13=null; Token otherlv_15=null; Token otherlv_17=null; Token otherlv_19=null; EObject lv_annotations_1_0 = null; EObject lv_typeParameters_7_0 = null; EObject lv_typeParameters_9_0 = null; EObject lv_superTypes_12_0 = null; EObject lv_superTypes_14_0 = null; EObject lv_instanceType_16_0 = null; EObject lv_members_18_0 = null; enterRule(); try { // InternalXcore.g:1011:28: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) ( (lv_name_5_0= RULE_ID ) ) (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? otherlv_17= '{' ( (lv_members_18_0= ruleXMember ) )* otherlv_19= '}' ) ) // InternalXcore.g:1012:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) ( (lv_name_5_0= RULE_ID ) ) (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? otherlv_17= '{' ( (lv_members_18_0= ruleXMember ) )* otherlv_19= '}' ) { // InternalXcore.g:1012:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) ( (lv_name_5_0= RULE_ID ) ) (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? otherlv_17= '{' ( (lv_members_18_0= ruleXMember ) )* otherlv_19= '}' ) // InternalXcore.g:1012:2: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) ( (lv_name_5_0= RULE_ID ) ) (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? otherlv_17= '{' ( (lv_members_18_0= ruleXMember ) )* otherlv_19= '}' { // InternalXcore.g:1012:2: () // InternalXcore.g:1013:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXClassAccess().getXClassAction_0(), current); } } // InternalXcore.g:1018:2: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop21: do { int alt21=2; int LA21_0 = input.LA(1); if ( (LA21_0==14) ) { alt21=1; } switch (alt21) { case 1 : // InternalXcore.g:1019:1: (lv_annotations_1_0= ruleXAnnotation ) { // InternalXcore.g:1019:1: (lv_annotations_1_0= ruleXAnnotation ) // InternalXcore.g:1020:3: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_30); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXClassRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop21; } } while (true); // InternalXcore.g:1036:3: ( ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) | ( (lv_interface_4_0= 'interface' ) ) ) int alt23=2; int LA23_0 = input.LA(1); if ( ((LA23_0>=32 && LA23_0<=33)) ) { alt23=1; } else if ( (LA23_0==34) ) { alt23=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 23, 0, input); throw nvae; } switch (alt23) { case 1 : // InternalXcore.g:1036:4: ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) { // InternalXcore.g:1036:4: ( ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' ) // InternalXcore.g:1036:5: ( (lv_abstract_2_0= 'abstract' ) )? otherlv_3= 'class' { // InternalXcore.g:1036:5: ( (lv_abstract_2_0= 'abstract' ) )? int alt22=2; int LA22_0 = input.LA(1); if ( (LA22_0==32) ) { alt22=1; } switch (alt22) { case 1 : // InternalXcore.g:1037:1: (lv_abstract_2_0= 'abstract' ) { // InternalXcore.g:1037:1: (lv_abstract_2_0= 'abstract' ) // InternalXcore.g:1038:3: lv_abstract_2_0= 'abstract' { lv_abstract_2_0=(Token)match(input,32,FollowSets000.FOLLOW_31); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_abstract_2_0, grammarAccess.getXClassAccess().getAbstractAbstractKeyword_2_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXClassRule()); } setWithLastConsumed(current, "abstract", true, "abstract"); } } } break; } otherlv_3=(Token)match(input,33,FollowSets000.FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXClassAccess().getClassKeyword_2_0_1()); } } } break; case 2 : // InternalXcore.g:1056:6: ( (lv_interface_4_0= 'interface' ) ) { // InternalXcore.g:1056:6: ( (lv_interface_4_0= 'interface' ) ) // InternalXcore.g:1057:1: (lv_interface_4_0= 'interface' ) { // InternalXcore.g:1057:1: (lv_interface_4_0= 'interface' ) // InternalXcore.g:1058:3: lv_interface_4_0= 'interface' { lv_interface_4_0=(Token)match(input,34,FollowSets000.FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_interface_4_0, grammarAccess.getXClassAccess().getInterfaceInterfaceKeyword_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXClassRule()); } setWithLastConsumed(current, "interface", true, "interface"); } } } } break; } // InternalXcore.g:1071:3: ( (lv_name_5_0= RULE_ID ) ) // InternalXcore.g:1072:1: (lv_name_5_0= RULE_ID ) { // InternalXcore.g:1072:1: (lv_name_5_0= RULE_ID ) // InternalXcore.g:1073:3: lv_name_5_0= RULE_ID { lv_name_5_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_32); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_5_0, grammarAccess.getXClassAccess().getNameIDTerminalRuleCall_3_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXClassRule()); } setWithLastConsumed( current, "name", lv_name_5_0, "org.eclipse.xtext.xbase.Xtype.ID"); } } } // InternalXcore.g:1089:2: (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' )? int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0==23) ) { alt25=1; } switch (alt25) { case 1 : // InternalXcore.g:1089:4: otherlv_6= '<' ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* otherlv_10= '>' { otherlv_6=(Token)match(input,23,FollowSets000.FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXClassAccess().getLessThanSignKeyword_4_0()); } // InternalXcore.g:1093:1: ( (lv_typeParameters_7_0= ruleXTypeParameter ) ) // InternalXcore.g:1094:1: (lv_typeParameters_7_0= ruleXTypeParameter ) { // InternalXcore.g:1094:1: (lv_typeParameters_7_0= ruleXTypeParameter ) // InternalXcore.g:1095:3: lv_typeParameters_7_0= ruleXTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassAccess().getTypeParametersXTypeParameterParserRuleCall_4_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeParameters_7_0=ruleXTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXClassRule()); } add( current, "typeParameters", lv_typeParameters_7_0, "org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:1111:2: (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) )* loop24: do { int alt24=2; int LA24_0 = input.LA(1); if ( (LA24_0==16) ) { alt24=1; } switch (alt24) { case 1 : // InternalXcore.g:1111:4: otherlv_8= ',' ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) { otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXClassAccess().getCommaKeyword_4_2_0()); } // InternalXcore.g:1115:1: ( (lv_typeParameters_9_0= ruleXTypeParameter ) ) // InternalXcore.g:1116:1: (lv_typeParameters_9_0= ruleXTypeParameter ) { // InternalXcore.g:1116:1: (lv_typeParameters_9_0= ruleXTypeParameter ) // InternalXcore.g:1117:3: lv_typeParameters_9_0= ruleXTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassAccess().getTypeParametersXTypeParameterParserRuleCall_4_2_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeParameters_9_0=ruleXTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXClassRule()); } add( current, "typeParameters", lv_typeParameters_9_0, "org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop24; } } while (true); otherlv_10=(Token)match(input,24,FollowSets000.FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXClassAccess().getGreaterThanSignKeyword_4_3()); } } break; } // InternalXcore.g:1137:3: (otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* )? int alt27=2; int LA27_0 = input.LA(1); if ( (LA27_0==35) ) { alt27=1; } switch (alt27) { case 1 : // InternalXcore.g:1137:5: otherlv_11= 'extends' ( (lv_superTypes_12_0= ruleXGenericType ) ) (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* { otherlv_11=(Token)match(input,35,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getXClassAccess().getExtendsKeyword_5_0()); } // InternalXcore.g:1141:1: ( (lv_superTypes_12_0= ruleXGenericType ) ) // InternalXcore.g:1142:1: (lv_superTypes_12_0= ruleXGenericType ) { // InternalXcore.g:1142:1: (lv_superTypes_12_0= ruleXGenericType ) // InternalXcore.g:1143:3: lv_superTypes_12_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassAccess().getSuperTypesXGenericTypeParserRuleCall_5_1_0()); } pushFollow(FollowSets000.FOLLOW_34); lv_superTypes_12_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXClassRule()); } add( current, "superTypes", lv_superTypes_12_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:1159:2: (otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) )* loop26: do { int alt26=2; int LA26_0 = input.LA(1); if ( (LA26_0==16) ) { alt26=1; } switch (alt26) { case 1 : // InternalXcore.g:1159:4: otherlv_13= ',' ( (lv_superTypes_14_0= ruleXGenericType ) ) { otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXClassAccess().getCommaKeyword_5_2_0()); } // InternalXcore.g:1163:1: ( (lv_superTypes_14_0= ruleXGenericType ) ) // InternalXcore.g:1164:1: (lv_superTypes_14_0= ruleXGenericType ) { // InternalXcore.g:1164:1: (lv_superTypes_14_0= ruleXGenericType ) // InternalXcore.g:1165:3: lv_superTypes_14_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassAccess().getSuperTypesXGenericTypeParserRuleCall_5_2_1_0()); } pushFollow(FollowSets000.FOLLOW_34); lv_superTypes_14_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXClassRule()); } add( current, "superTypes", lv_superTypes_14_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } } break; default : break loop26; } } while (true); } break; } // InternalXcore.g:1181:6: (otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) )? int alt28=2; int LA28_0 = input.LA(1); if ( (LA28_0==25) ) { alt28=1; } switch (alt28) { case 1 : // InternalXcore.g:1181:8: otherlv_15= 'wraps' ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) { otherlv_15=(Token)match(input,25,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getXClassAccess().getWrapsKeyword_6_0()); } // InternalXcore.g:1185:1: ( (lv_instanceType_16_0= ruleJvmTypeReference ) ) // InternalXcore.g:1186:1: (lv_instanceType_16_0= ruleJvmTypeReference ) { // InternalXcore.g:1186:1: (lv_instanceType_16_0= ruleJvmTypeReference ) // InternalXcore.g:1187:3: lv_instanceType_16_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassAccess().getInstanceTypeJvmTypeReferenceParserRuleCall_6_1_0()); } pushFollow(FollowSets000.FOLLOW_22); lv_instanceType_16_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXClassRule()); } set( current, "instanceType", lv_instanceType_16_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_17=(Token)match(input,29,FollowSets000.FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getXClassAccess().getLeftCurlyBracketKeyword_7()); } // InternalXcore.g:1207:1: ( (lv_members_18_0= ruleXMember ) )* loop29: do { int alt29=2; int LA29_0 = input.LA(1); if ( (LA29_0==RULE_ID||LA29_0==14||(LA29_0>=36 && LA29_0<=52)||LA29_0==55) ) { alt29=1; } switch (alt29) { case 1 : // InternalXcore.g:1208:1: (lv_members_18_0= ruleXMember ) { // InternalXcore.g:1208:1: (lv_members_18_0= ruleXMember ) // InternalXcore.g:1209:3: lv_members_18_0= ruleXMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClassAccess().getMembersXMemberParserRuleCall_8_0()); } pushFollow(FollowSets000.FOLLOW_35); lv_members_18_0=ruleXMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXClassRule()); } add( current, "members", lv_members_18_0, "org.eclipse.emf.ecore.xcore.Xcore.XMember"); afterParserOrEnumRuleCall(); } } } break; default : break loop29; } } while (true); otherlv_19=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getXClassAccess().getRightCurlyBracketKeyword_9()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXClass" // $ANTLR start "entryRuleXMember" // InternalXcore.g:1237:1: entryRuleXMember returns [EObject current=null] : iv_ruleXMember= ruleXMember EOF ; public final EObject entryRuleXMember() throws RecognitionException { EObject current = null; EObject iv_ruleXMember = null; try { // InternalXcore.g:1238:2: (iv_ruleXMember= ruleXMember EOF ) // InternalXcore.g:1239:2: iv_ruleXMember= ruleXMember EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXMember=ruleXMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXMember; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXMember" // $ANTLR start "ruleXMember" // InternalXcore.g:1246:1: ruleXMember returns [EObject current=null] : (this_XOperation_0= ruleXOperation | this_XAttribute_1= ruleXAttribute | this_XReference_2= ruleXReference ) ; public final EObject ruleXMember() throws RecognitionException { EObject current = null; EObject this_XOperation_0 = null; EObject this_XAttribute_1 = null; EObject this_XReference_2 = null; enterRule(); try { // InternalXcore.g:1249:28: ( (this_XOperation_0= ruleXOperation | this_XAttribute_1= ruleXAttribute | this_XReference_2= ruleXReference ) ) // InternalXcore.g:1250:1: (this_XOperation_0= ruleXOperation | this_XAttribute_1= ruleXAttribute | this_XReference_2= ruleXReference ) { // InternalXcore.g:1250:1: (this_XOperation_0= ruleXOperation | this_XAttribute_1= ruleXAttribute | this_XReference_2= ruleXReference ) int alt30=3; alt30 = dfa30.predict(input); switch (alt30) { case 1 : // InternalXcore.g:1251:5: this_XOperation_0= ruleXOperation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberAccess().getXOperationParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_XOperation_0=ruleXOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XOperation_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:1261:5: this_XAttribute_1= ruleXAttribute { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberAccess().getXAttributeParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_2); this_XAttribute_1=ruleXAttribute(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAttribute_1; afterParserOrEnumRuleCall(); } } break; case 3 : // InternalXcore.g:1271:5: this_XReference_2= ruleXReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberAccess().getXReferenceParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_2); this_XReference_2=ruleXReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XReference_2; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXMember" // $ANTLR start "entryRuleXAttribute" // InternalXcore.g:1287:1: entryRuleXAttribute returns [EObject current=null] : iv_ruleXAttribute= ruleXAttribute EOF ; public final EObject entryRuleXAttribute() throws RecognitionException { EObject current = null; EObject iv_ruleXAttribute = null; try { // InternalXcore.g:1288:2: (iv_ruleXAttribute= ruleXAttribute EOF ) // InternalXcore.g:1289:2: iv_ruleXAttribute= ruleXAttribute EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAttributeRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXAttribute=ruleXAttribute(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAttribute; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAttribute" // $ANTLR start "ruleXAttribute" // InternalXcore.g:1296:1: ruleXAttribute returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) ( (lv_type_11_0= ruleXGenericType ) ) ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? ( (lv_name_13_0= RULE_ID ) ) (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) ; public final EObject ruleXAttribute() throws RecognitionException { EObject current = null; Token lv_unordered_3_0=null; Token lv_unique_4_0=null; Token lv_readonly_5_0=null; Token lv_transient_6_0=null; Token lv_volatile_7_0=null; Token lv_unsettable_8_0=null; Token lv_derived_9_0=null; Token lv_iD_10_0=null; Token lv_name_13_0=null; Token otherlv_14=null; Token lv_defaultValueLiteral_15_0=null; Token otherlv_17=null; Token otherlv_19=null; Token otherlv_21=null; Token otherlv_23=null; EObject lv_annotations_1_0 = null; EObject lv_type_11_0 = null; AntlrDatatypeRuleToken lv_multiplicity_12_0 = null; EObject lv_getBody_18_0 = null; EObject lv_setBody_20_0 = null; EObject lv_isSetBody_22_0 = null; EObject lv_unsetBody_24_0 = null; enterRule(); try { // InternalXcore.g:1299:28: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) ( (lv_type_11_0= ruleXGenericType ) ) ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? ( (lv_name_13_0= RULE_ID ) ) (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) ) // InternalXcore.g:1300:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) ( (lv_type_11_0= ruleXGenericType ) ) ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? ( (lv_name_13_0= RULE_ID ) ) (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) { // InternalXcore.g:1300:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) ( (lv_type_11_0= ruleXGenericType ) ) ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? ( (lv_name_13_0= RULE_ID ) ) (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) // InternalXcore.g:1300:2: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) ( (lv_type_11_0= ruleXGenericType ) ) ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? ( (lv_name_13_0= RULE_ID ) ) (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) { // InternalXcore.g:1300:2: () // InternalXcore.g:1301:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXAttributeAccess().getXAttributeAction_0(), current); } } // InternalXcore.g:1306:2: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop31: do { int alt31=2; int LA31_0 = input.LA(1); if ( (LA31_0==14) ) { alt31=1; } switch (alt31) { case 1 : // InternalXcore.g:1307:1: (lv_annotations_1_0= ruleXAnnotation ) { // InternalXcore.g:1307:1: (lv_annotations_1_0= ruleXAnnotation ) // InternalXcore.g:1308:3: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAttributeAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_36); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAttributeRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop31; } } while (true); // InternalXcore.g:1324:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) ) // InternalXcore.g:1326:1: ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) { // InternalXcore.g:1326:1: ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) ) // InternalXcore.g:1327:2: ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getXAttributeAccess().getUnorderedGroup_2()); // InternalXcore.g:1330:2: ( ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* ) // InternalXcore.g:1331:3: ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* { // InternalXcore.g:1331:3: ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )* loop32: do { int alt32=9; alt32 = dfa32.predict(input); switch (alt32) { case 1 : // InternalXcore.g:1333:4: ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) { // InternalXcore.g:1333:4: ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) // InternalXcore.g:1334:5: {...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 0)"); } // InternalXcore.g:1334:107: ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) // InternalXcore.g:1335:6: ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 0); // InternalXcore.g:1338:6: ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) // InternalXcore.g:1338:7: {...}? => ( (lv_unordered_3_0= 'unordered' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1338:16: ( (lv_unordered_3_0= 'unordered' ) ) // InternalXcore.g:1339:1: (lv_unordered_3_0= 'unordered' ) { // InternalXcore.g:1339:1: (lv_unordered_3_0= 'unordered' ) // InternalXcore.g:1340:3: lv_unordered_3_0= 'unordered' { lv_unordered_3_0=(Token)match(input,36,FollowSets000.FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unordered_3_0, grammarAccess.getXAttributeAccess().getUnorderedUnorderedKeyword_2_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAttributeRule()); } setWithLastConsumed(current, "unordered", true, "unordered"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2()); } } } break; case 2 : // InternalXcore.g:1360:4: ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) { // InternalXcore.g:1360:4: ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) // InternalXcore.g:1361:5: {...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 1)"); } // InternalXcore.g:1361:107: ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) // InternalXcore.g:1362:6: ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 1); // InternalXcore.g:1365:6: ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) // InternalXcore.g:1365:7: {...}? => ( (lv_unique_4_0= 'unique' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1365:16: ( (lv_unique_4_0= 'unique' ) ) // InternalXcore.g:1366:1: (lv_unique_4_0= 'unique' ) { // InternalXcore.g:1366:1: (lv_unique_4_0= 'unique' ) // InternalXcore.g:1367:3: lv_unique_4_0= 'unique' { lv_unique_4_0=(Token)match(input,37,FollowSets000.FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unique_4_0, grammarAccess.getXAttributeAccess().getUniqueUniqueKeyword_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAttributeRule()); } setWithLastConsumed(current, "unique", true, "unique"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2()); } } } break; case 3 : // InternalXcore.g:1387:4: ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) { // InternalXcore.g:1387:4: ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) // InternalXcore.g:1388:5: {...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 2) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 2)"); } // InternalXcore.g:1388:107: ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) // InternalXcore.g:1389:6: ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 2); // InternalXcore.g:1392:6: ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) // InternalXcore.g:1392:7: {...}? => ( (lv_readonly_5_0= 'readonly' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1392:16: ( (lv_readonly_5_0= 'readonly' ) ) // InternalXcore.g:1393:1: (lv_readonly_5_0= 'readonly' ) { // InternalXcore.g:1393:1: (lv_readonly_5_0= 'readonly' ) // InternalXcore.g:1394:3: lv_readonly_5_0= 'readonly' { lv_readonly_5_0=(Token)match(input,38,FollowSets000.FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_readonly_5_0, grammarAccess.getXAttributeAccess().getReadonlyReadonlyKeyword_2_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAttributeRule()); } setWithLastConsumed(current, "readonly", true, "readonly"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2()); } } } break; case 4 : // InternalXcore.g:1414:4: ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) { // InternalXcore.g:1414:4: ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) // InternalXcore.g:1415:5: {...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 3) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 3)"); } // InternalXcore.g:1415:107: ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) // InternalXcore.g:1416:6: ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 3); // InternalXcore.g:1419:6: ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) // InternalXcore.g:1419:7: {...}? => ( (lv_transient_6_0= 'transient' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1419:16: ( (lv_transient_6_0= 'transient' ) ) // InternalXcore.g:1420:1: (lv_transient_6_0= 'transient' ) { // InternalXcore.g:1420:1: (lv_transient_6_0= 'transient' ) // InternalXcore.g:1421:3: lv_transient_6_0= 'transient' { lv_transient_6_0=(Token)match(input,39,FollowSets000.FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_transient_6_0, grammarAccess.getXAttributeAccess().getTransientTransientKeyword_2_3_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAttributeRule()); } setWithLastConsumed(current, "transient", true, "transient"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2()); } } } break; case 5 : // InternalXcore.g:1441:4: ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) { // InternalXcore.g:1441:4: ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) // InternalXcore.g:1442:5: {...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 4) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 4)"); } // InternalXcore.g:1442:107: ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) // InternalXcore.g:1443:6: ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 4); // InternalXcore.g:1446:6: ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) // InternalXcore.g:1446:7: {...}? => ( (lv_volatile_7_0= 'volatile' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1446:16: ( (lv_volatile_7_0= 'volatile' ) ) // InternalXcore.g:1447:1: (lv_volatile_7_0= 'volatile' ) { // InternalXcore.g:1447:1: (lv_volatile_7_0= 'volatile' ) // InternalXcore.g:1448:3: lv_volatile_7_0= 'volatile' { lv_volatile_7_0=(Token)match(input,40,FollowSets000.FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_volatile_7_0, grammarAccess.getXAttributeAccess().getVolatileVolatileKeyword_2_4_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAttributeRule()); } setWithLastConsumed(current, "volatile", true, "volatile"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2()); } } } break; case 6 : // InternalXcore.g:1468:4: ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) { // InternalXcore.g:1468:4: ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) // InternalXcore.g:1469:5: {...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 5) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 5)"); } // InternalXcore.g:1469:107: ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) // InternalXcore.g:1470:6: ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 5); // InternalXcore.g:1473:6: ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) // InternalXcore.g:1473:7: {...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1473:16: ( (lv_unsettable_8_0= 'unsettable' ) ) // InternalXcore.g:1474:1: (lv_unsettable_8_0= 'unsettable' ) { // InternalXcore.g:1474:1: (lv_unsettable_8_0= 'unsettable' ) // InternalXcore.g:1475:3: lv_unsettable_8_0= 'unsettable' { lv_unsettable_8_0=(Token)match(input,41,FollowSets000.FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unsettable_8_0, grammarAccess.getXAttributeAccess().getUnsettableUnsettableKeyword_2_5_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAttributeRule()); } setWithLastConsumed(current, "unsettable", true, "unsettable"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2()); } } } break; case 7 : // InternalXcore.g:1495:4: ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) { // InternalXcore.g:1495:4: ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) // InternalXcore.g:1496:5: {...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 6) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 6)"); } // InternalXcore.g:1496:107: ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) // InternalXcore.g:1497:6: ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 6); // InternalXcore.g:1500:6: ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) // InternalXcore.g:1500:7: {...}? => ( (lv_derived_9_0= 'derived' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1500:16: ( (lv_derived_9_0= 'derived' ) ) // InternalXcore.g:1501:1: (lv_derived_9_0= 'derived' ) { // InternalXcore.g:1501:1: (lv_derived_9_0= 'derived' ) // InternalXcore.g:1502:3: lv_derived_9_0= 'derived' { lv_derived_9_0=(Token)match(input,42,FollowSets000.FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_derived_9_0, grammarAccess.getXAttributeAccess().getDerivedDerivedKeyword_2_6_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAttributeRule()); } setWithLastConsumed(current, "derived", true, "derived"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2()); } } } break; case 8 : // InternalXcore.g:1522:4: ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) { // InternalXcore.g:1522:4: ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) // InternalXcore.g:1523:5: {...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 7) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 7)"); } // InternalXcore.g:1523:107: ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) // InternalXcore.g:1524:6: ({...}? => ( (lv_iD_10_0= 'id' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 7); // InternalXcore.g:1527:6: ({...}? => ( (lv_iD_10_0= 'id' ) ) ) // InternalXcore.g:1527:7: {...}? => ( (lv_iD_10_0= 'id' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1527:16: ( (lv_iD_10_0= 'id' ) ) // InternalXcore.g:1528:1: (lv_iD_10_0= 'id' ) { // InternalXcore.g:1528:1: (lv_iD_10_0= 'id' ) // InternalXcore.g:1529:3: lv_iD_10_0= 'id' { lv_iD_10_0=(Token)match(input,43,FollowSets000.FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_iD_10_0, grammarAccess.getXAttributeAccess().getIDIdKeyword_2_7_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAttributeRule()); } setWithLastConsumed(current, "iD", true, "id"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_2()); } } } break; default : break loop32; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getXAttributeAccess().getUnorderedGroup_2()); } // InternalXcore.g:1556:2: ( (lv_type_11_0= ruleXGenericType ) ) // InternalXcore.g:1557:1: (lv_type_11_0= ruleXGenericType ) { // InternalXcore.g:1557:1: (lv_type_11_0= ruleXGenericType ) // InternalXcore.g:1558:3: lv_type_11_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAttributeAccess().getTypeXGenericTypeParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_38); lv_type_11_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAttributeRule()); } set( current, "type", lv_type_11_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:1574:2: ( (lv_multiplicity_12_0= ruleXMultiplicity ) )? int alt33=2; int LA33_0 = input.LA(1); if ( (LA33_0==59) ) { alt33=1; } switch (alt33) { case 1 : // InternalXcore.g:1575:1: (lv_multiplicity_12_0= ruleXMultiplicity ) { // InternalXcore.g:1575:1: (lv_multiplicity_12_0= ruleXMultiplicity ) // InternalXcore.g:1576:3: lv_multiplicity_12_0= ruleXMultiplicity { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAttributeAccess().getMultiplicityXMultiplicityParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_15); lv_multiplicity_12_0=ruleXMultiplicity(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAttributeRule()); } set( current, "multiplicity", lv_multiplicity_12_0, "org.eclipse.emf.ecore.xcore.Xcore.XMultiplicity"); afterParserOrEnumRuleCall(); } } } break; } // InternalXcore.g:1592:3: ( (lv_name_13_0= RULE_ID ) ) // InternalXcore.g:1593:1: (lv_name_13_0= RULE_ID ) { // InternalXcore.g:1593:1: (lv_name_13_0= RULE_ID ) // InternalXcore.g:1594:3: lv_name_13_0= RULE_ID { lv_name_13_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_39); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_13_0, grammarAccess.getXAttributeAccess().getNameIDTerminalRuleCall_5_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAttributeRule()); } setWithLastConsumed( current, "name", lv_name_13_0, "org.eclipse.xtext.xbase.Xtype.ID"); } } } // InternalXcore.g:1610:2: (otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) )? int alt34=2; int LA34_0 = input.LA(1); if ( (LA34_0==18) ) { alt34=1; } switch (alt34) { case 1 : // InternalXcore.g:1610:4: otherlv_14= '=' ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) { otherlv_14=(Token)match(input,18,FollowSets000.FOLLOW_12); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getXAttributeAccess().getEqualsSignKeyword_6_0()); } // InternalXcore.g:1614:1: ( (lv_defaultValueLiteral_15_0= RULE_STRING ) ) // InternalXcore.g:1615:1: (lv_defaultValueLiteral_15_0= RULE_STRING ) { // InternalXcore.g:1615:1: (lv_defaultValueLiteral_15_0= RULE_STRING ) // InternalXcore.g:1616:3: lv_defaultValueLiteral_15_0= RULE_STRING { lv_defaultValueLiteral_15_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_40); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_defaultValueLiteral_15_0, grammarAccess.getXAttributeAccess().getDefaultValueLiteralSTRINGTerminalRuleCall_6_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAttributeRule()); } setWithLastConsumed( current, "defaultValueLiteral", lv_defaultValueLiteral_15_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; } // InternalXcore.g:1632:4: ( ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) // InternalXcore.g:1634:1: ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) { // InternalXcore.g:1634:1: ( ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) // InternalXcore.g:1635:2: ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getXAttributeAccess().getUnorderedGroup_7()); // InternalXcore.g:1638:2: ( ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* ) // InternalXcore.g:1639:3: ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* { // InternalXcore.g:1639:3: ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )* loop35: do { int alt35=5; alt35 = dfa35.predict(input); switch (alt35) { case 1 : // InternalXcore.g:1641:4: ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) { // InternalXcore.g:1641:4: ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) // InternalXcore.g:1642:5: {...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 0)"); } // InternalXcore.g:1642:107: ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) // InternalXcore.g:1643:6: ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 0); // InternalXcore.g:1646:6: ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) // InternalXcore.g:1646:7: {...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1646:16: (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) // InternalXcore.g:1646:18: otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) { otherlv_17=(Token)match(input,44,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getXAttributeAccess().getGetKeyword_7_0_0()); } // InternalXcore.g:1650:1: ( (lv_getBody_18_0= ruleXBlockExpression ) ) // InternalXcore.g:1651:1: (lv_getBody_18_0= ruleXBlockExpression ) { // InternalXcore.g:1651:1: (lv_getBody_18_0= ruleXBlockExpression ) // InternalXcore.g:1652:3: lv_getBody_18_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAttributeAccess().getGetBodyXBlockExpressionParserRuleCall_7_0_1_0()); } pushFollow(FollowSets000.FOLLOW_40); lv_getBody_18_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAttributeRule()); } set( current, "getBody", lv_getBody_18_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_7()); } } } break; case 2 : // InternalXcore.g:1675:4: ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) { // InternalXcore.g:1675:4: ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) // InternalXcore.g:1676:5: {...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 1)"); } // InternalXcore.g:1676:107: ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) // InternalXcore.g:1677:6: ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 1); // InternalXcore.g:1680:6: ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) // InternalXcore.g:1680:7: {...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1680:16: (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) // InternalXcore.g:1680:18: otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) { otherlv_19=(Token)match(input,45,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getXAttributeAccess().getSetKeyword_7_1_0()); } // InternalXcore.g:1684:1: ( (lv_setBody_20_0= ruleXBlockExpression ) ) // InternalXcore.g:1685:1: (lv_setBody_20_0= ruleXBlockExpression ) { // InternalXcore.g:1685:1: (lv_setBody_20_0= ruleXBlockExpression ) // InternalXcore.g:1686:3: lv_setBody_20_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAttributeAccess().getSetBodyXBlockExpressionParserRuleCall_7_1_1_0()); } pushFollow(FollowSets000.FOLLOW_40); lv_setBody_20_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAttributeRule()); } set( current, "setBody", lv_setBody_20_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_7()); } } } break; case 3 : // InternalXcore.g:1709:4: ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) { // InternalXcore.g:1709:4: ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) // InternalXcore.g:1710:5: {...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 2) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 2)"); } // InternalXcore.g:1710:107: ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) // InternalXcore.g:1711:6: ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 2); // InternalXcore.g:1714:6: ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) // InternalXcore.g:1714:7: {...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1714:16: (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) // InternalXcore.g:1714:18: otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) { otherlv_21=(Token)match(input,46,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getXAttributeAccess().getIsSetKeyword_7_2_0()); } // InternalXcore.g:1718:1: ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) // InternalXcore.g:1719:1: (lv_isSetBody_22_0= ruleXBlockExpression ) { // InternalXcore.g:1719:1: (lv_isSetBody_22_0= ruleXBlockExpression ) // InternalXcore.g:1720:3: lv_isSetBody_22_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAttributeAccess().getIsSetBodyXBlockExpressionParserRuleCall_7_2_1_0()); } pushFollow(FollowSets000.FOLLOW_40); lv_isSetBody_22_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAttributeRule()); } set( current, "isSetBody", lv_isSetBody_22_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_7()); } } } break; case 4 : // InternalXcore.g:1743:4: ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) { // InternalXcore.g:1743:4: ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) // InternalXcore.g:1744:5: {...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 3) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 3)"); } // InternalXcore.g:1744:107: ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) // InternalXcore.g:1745:6: ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 3); // InternalXcore.g:1748:6: ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) // InternalXcore.g:1748:7: {...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXAttribute", "true"); } // InternalXcore.g:1748:16: (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) // InternalXcore.g:1748:18: otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) { otherlv_23=(Token)match(input,47,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_23, grammarAccess.getXAttributeAccess().getUnsetKeyword_7_3_0()); } // InternalXcore.g:1752:1: ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) // InternalXcore.g:1753:1: (lv_unsetBody_24_0= ruleXBlockExpression ) { // InternalXcore.g:1753:1: (lv_unsetBody_24_0= ruleXBlockExpression ) // InternalXcore.g:1754:3: lv_unsetBody_24_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAttributeAccess().getUnsetBodyXBlockExpressionParserRuleCall_7_3_1_0()); } pushFollow(FollowSets000.FOLLOW_40); lv_unsetBody_24_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAttributeRule()); } set( current, "unsetBody", lv_unsetBody_24_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXAttributeAccess().getUnorderedGroup_7()); } } } break; default : break loop35; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getXAttributeAccess().getUnorderedGroup_7()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAttribute" // $ANTLR start "entryRuleXReference" // InternalXcore.g:1792:1: entryRuleXReference returns [EObject current=null] : iv_ruleXReference= ruleXReference EOF ; public final EObject entryRuleXReference() throws RecognitionException { EObject current = null; EObject iv_ruleXReference = null; try { // InternalXcore.g:1793:2: (iv_ruleXReference= ruleXReference EOF ) // InternalXcore.g:1794:2: iv_ruleXReference= ruleXReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXReference=ruleXReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXReference; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXReference" // $ANTLR start "ruleXReference" // InternalXcore.g:1801:1: ruleXReference returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) ( (lv_type_22_0= ruleXGenericType ) ) ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? ( (lv_name_24_0= RULE_ID ) ) (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) ; public final EObject ruleXReference() throws RecognitionException { EObject current = null; Token lv_containment_2_0=null; Token lv_resolveProxies_3_0=null; Token lv_resolveProxies_4_0=null; Token lv_containment_5_0=null; Token lv_container_6_0=null; Token lv_resolveProxies_7_0=null; Token lv_resolveProxies_8_0=null; Token lv_container_9_0=null; Token otherlv_10=null; Token lv_local_11_0=null; Token lv_local_12_0=null; Token otherlv_13=null; Token lv_unordered_15_0=null; Token lv_unique_16_0=null; Token lv_readonly_17_0=null; Token lv_transient_18_0=null; Token lv_volatile_19_0=null; Token lv_unsettable_20_0=null; Token lv_derived_21_0=null; Token lv_name_24_0=null; Token otherlv_25=null; Token otherlv_27=null; Token otherlv_29=null; Token otherlv_32=null; Token otherlv_34=null; Token otherlv_36=null; Token otherlv_38=null; EObject lv_annotations_1_0 = null; EObject lv_type_22_0 = null; AntlrDatatypeRuleToken lv_multiplicity_23_0 = null; EObject lv_getBody_33_0 = null; EObject lv_setBody_35_0 = null; EObject lv_isSetBody_37_0 = null; EObject lv_unsetBody_39_0 = null; enterRule(); try { // InternalXcore.g:1804:28: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) ( (lv_type_22_0= ruleXGenericType ) ) ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? ( (lv_name_24_0= RULE_ID ) ) (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) ) // InternalXcore.g:1805:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) ( (lv_type_22_0= ruleXGenericType ) ) ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? ( (lv_name_24_0= RULE_ID ) ) (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) { // InternalXcore.g:1805:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) ( (lv_type_22_0= ruleXGenericType ) ) ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? ( (lv_name_24_0= RULE_ID ) ) (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) ) // InternalXcore.g:1805:2: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) ( (lv_type_22_0= ruleXGenericType ) ) ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? ( (lv_name_24_0= RULE_ID ) ) (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) { // InternalXcore.g:1805:2: () // InternalXcore.g:1806:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXReferenceAccess().getXReferenceAction_0(), current); } } // InternalXcore.g:1811:2: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop36: do { int alt36=2; int LA36_0 = input.LA(1); if ( (LA36_0==14) ) { alt36=1; } switch (alt36) { case 1 : // InternalXcore.g:1812:1: (lv_annotations_1_0= ruleXAnnotation ) { // InternalXcore.g:1812:1: (lv_annotations_1_0= ruleXAnnotation ) // InternalXcore.g:1813:3: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_41); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXReferenceRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop36; } } while (true); // InternalXcore.g:1829:3: ( ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) | ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) | ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) | (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) | ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) ) int alt40=6; switch ( input.LA(1) ) { case 48: { alt40=1; } break; case 49: { int LA40_2 = input.LA(2); if ( (LA40_2==48) ) { alt40=2; } else if ( (LA40_2==50) ) { alt40=4; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 40, 2, input); throw nvae; } } break; case 50: { alt40=3; } break; case 51: { alt40=5; } break; case 52: { alt40=6; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 40, 0, input); throw nvae; } switch (alt40) { case 1 : // InternalXcore.g:1829:4: ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) { // InternalXcore.g:1829:4: ( ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? ) // InternalXcore.g:1829:5: ( (lv_containment_2_0= 'contains' ) ) ( (lv_resolveProxies_3_0= 'resolving' ) )? { // InternalXcore.g:1829:5: ( (lv_containment_2_0= 'contains' ) ) // InternalXcore.g:1830:1: (lv_containment_2_0= 'contains' ) { // InternalXcore.g:1830:1: (lv_containment_2_0= 'contains' ) // InternalXcore.g:1831:3: lv_containment_2_0= 'contains' { lv_containment_2_0=(Token)match(input,48,FollowSets000.FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_containment_2_0, grammarAccess.getXReferenceAccess().getContainmentContainsKeyword_2_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "containment", true, "contains"); } } } // InternalXcore.g:1844:2: ( (lv_resolveProxies_3_0= 'resolving' ) )? int alt37=2; int LA37_0 = input.LA(1); if ( (LA37_0==49) ) { alt37=1; } switch (alt37) { case 1 : // InternalXcore.g:1845:1: (lv_resolveProxies_3_0= 'resolving' ) { // InternalXcore.g:1845:1: (lv_resolveProxies_3_0= 'resolving' ) // InternalXcore.g:1846:3: lv_resolveProxies_3_0= 'resolving' { lv_resolveProxies_3_0=(Token)match(input,49,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_resolveProxies_3_0, grammarAccess.getXReferenceAccess().getResolveProxiesResolvingKeyword_2_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "resolveProxies", true, "resolving"); } } } break; } } } break; case 2 : // InternalXcore.g:1860:6: ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) { // InternalXcore.g:1860:6: ( ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) ) // InternalXcore.g:1860:7: ( (lv_resolveProxies_4_0= 'resolving' ) ) ( (lv_containment_5_0= 'contains' ) ) { // InternalXcore.g:1860:7: ( (lv_resolveProxies_4_0= 'resolving' ) ) // InternalXcore.g:1861:1: (lv_resolveProxies_4_0= 'resolving' ) { // InternalXcore.g:1861:1: (lv_resolveProxies_4_0= 'resolving' ) // InternalXcore.g:1862:3: lv_resolveProxies_4_0= 'resolving' { lv_resolveProxies_4_0=(Token)match(input,49,FollowSets000.FOLLOW_44); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_resolveProxies_4_0, grammarAccess.getXReferenceAccess().getResolveProxiesResolvingKeyword_2_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "resolveProxies", true, "resolving"); } } } // InternalXcore.g:1875:2: ( (lv_containment_5_0= 'contains' ) ) // InternalXcore.g:1876:1: (lv_containment_5_0= 'contains' ) { // InternalXcore.g:1876:1: (lv_containment_5_0= 'contains' ) // InternalXcore.g:1877:3: lv_containment_5_0= 'contains' { lv_containment_5_0=(Token)match(input,48,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_containment_5_0, grammarAccess.getXReferenceAccess().getContainmentContainsKeyword_2_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "containment", true, "contains"); } } } } } break; case 3 : // InternalXcore.g:1891:6: ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) { // InternalXcore.g:1891:6: ( ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? ) // InternalXcore.g:1891:7: ( (lv_container_6_0= 'container' ) ) ( (lv_resolveProxies_7_0= 'resolving' ) )? { // InternalXcore.g:1891:7: ( (lv_container_6_0= 'container' ) ) // InternalXcore.g:1892:1: (lv_container_6_0= 'container' ) { // InternalXcore.g:1892:1: (lv_container_6_0= 'container' ) // InternalXcore.g:1893:3: lv_container_6_0= 'container' { lv_container_6_0=(Token)match(input,50,FollowSets000.FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_container_6_0, grammarAccess.getXReferenceAccess().getContainerContainerKeyword_2_2_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "container", true, "container"); } } } // InternalXcore.g:1906:2: ( (lv_resolveProxies_7_0= 'resolving' ) )? int alt38=2; int LA38_0 = input.LA(1); if ( (LA38_0==49) ) { alt38=1; } switch (alt38) { case 1 : // InternalXcore.g:1907:1: (lv_resolveProxies_7_0= 'resolving' ) { // InternalXcore.g:1907:1: (lv_resolveProxies_7_0= 'resolving' ) // InternalXcore.g:1908:3: lv_resolveProxies_7_0= 'resolving' { lv_resolveProxies_7_0=(Token)match(input,49,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_resolveProxies_7_0, grammarAccess.getXReferenceAccess().getResolveProxiesResolvingKeyword_2_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "resolveProxies", true, "resolving"); } } } break; } } } break; case 4 : // InternalXcore.g:1922:6: ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) { // InternalXcore.g:1922:6: ( ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) ) // InternalXcore.g:1922:7: ( (lv_resolveProxies_8_0= 'resolving' ) ) ( (lv_container_9_0= 'container' ) ) { // InternalXcore.g:1922:7: ( (lv_resolveProxies_8_0= 'resolving' ) ) // InternalXcore.g:1923:1: (lv_resolveProxies_8_0= 'resolving' ) { // InternalXcore.g:1923:1: (lv_resolveProxies_8_0= 'resolving' ) // InternalXcore.g:1924:3: lv_resolveProxies_8_0= 'resolving' { lv_resolveProxies_8_0=(Token)match(input,49,FollowSets000.FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_resolveProxies_8_0, grammarAccess.getXReferenceAccess().getResolveProxiesResolvingKeyword_2_3_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "resolveProxies", true, "resolving"); } } } // InternalXcore.g:1937:2: ( (lv_container_9_0= 'container' ) ) // InternalXcore.g:1938:1: (lv_container_9_0= 'container' ) { // InternalXcore.g:1938:1: (lv_container_9_0= 'container' ) // InternalXcore.g:1939:3: lv_container_9_0= 'container' { lv_container_9_0=(Token)match(input,50,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_container_9_0, grammarAccess.getXReferenceAccess().getContainerContainerKeyword_2_3_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "container", true, "container"); } } } } } break; case 5 : // InternalXcore.g:1953:6: (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) { // InternalXcore.g:1953:6: (otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? ) // InternalXcore.g:1953:8: otherlv_10= 'refers' ( (lv_local_11_0= 'local' ) )? { otherlv_10=(Token)match(input,51,FollowSets000.FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXReferenceAccess().getRefersKeyword_2_4_0()); } // InternalXcore.g:1957:1: ( (lv_local_11_0= 'local' ) )? int alt39=2; int LA39_0 = input.LA(1); if ( (LA39_0==52) ) { alt39=1; } switch (alt39) { case 1 : // InternalXcore.g:1958:1: (lv_local_11_0= 'local' ) { // InternalXcore.g:1958:1: (lv_local_11_0= 'local' ) // InternalXcore.g:1959:3: lv_local_11_0= 'local' { lv_local_11_0=(Token)match(input,52,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_local_11_0, grammarAccess.getXReferenceAccess().getLocalLocalKeyword_2_4_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "local", true, "local"); } } } break; } } } break; case 6 : // InternalXcore.g:1973:6: ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) { // InternalXcore.g:1973:6: ( ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' ) // InternalXcore.g:1973:7: ( (lv_local_12_0= 'local' ) ) otherlv_13= 'refers' { // InternalXcore.g:1973:7: ( (lv_local_12_0= 'local' ) ) // InternalXcore.g:1974:1: (lv_local_12_0= 'local' ) { // InternalXcore.g:1974:1: (lv_local_12_0= 'local' ) // InternalXcore.g:1975:3: lv_local_12_0= 'local' { lv_local_12_0=(Token)match(input,52,FollowSets000.FOLLOW_47); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_local_12_0, grammarAccess.getXReferenceAccess().getLocalLocalKeyword_2_5_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "local", true, "local"); } } } otherlv_13=(Token)match(input,51,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXReferenceAccess().getRefersKeyword_2_5_1()); } } } break; } // InternalXcore.g:1992:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) ) // InternalXcore.g:1994:1: ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) { // InternalXcore.g:1994:1: ( ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) ) // InternalXcore.g:1995:2: ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getXReferenceAccess().getUnorderedGroup_3()); // InternalXcore.g:1998:2: ( ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* ) // InternalXcore.g:1999:3: ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* { // InternalXcore.g:1999:3: ( ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) )* loop41: do { int alt41=8; int LA41_0 = input.LA(1); if ( LA41_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 0) ) { alt41=1; } else if ( LA41_0 == 37 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 1) ) { alt41=2; } else if ( LA41_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 2) ) { alt41=3; } else if ( LA41_0 == 39 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 3) ) { alt41=4; } else if ( LA41_0 == 40 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 4) ) { alt41=5; } else if ( LA41_0 == 41 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 5) ) { alt41=6; } else if ( LA41_0 == 42 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 6) ) { alt41=7; } switch (alt41) { case 1 : // InternalXcore.g:2001:4: ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) { // InternalXcore.g:2001:4: ({...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) ) // InternalXcore.g:2002:5: {...}? => ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 0)"); } // InternalXcore.g:2002:107: ( ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) ) // InternalXcore.g:2003:6: ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 0); // InternalXcore.g:2006:6: ({...}? => ( (lv_unordered_15_0= 'unordered' ) ) ) // InternalXcore.g:2006:7: {...}? => ( (lv_unordered_15_0= 'unordered' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2006:16: ( (lv_unordered_15_0= 'unordered' ) ) // InternalXcore.g:2007:1: (lv_unordered_15_0= 'unordered' ) { // InternalXcore.g:2007:1: (lv_unordered_15_0= 'unordered' ) // InternalXcore.g:2008:3: lv_unordered_15_0= 'unordered' { lv_unordered_15_0=(Token)match(input,36,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unordered_15_0, grammarAccess.getXReferenceAccess().getUnorderedUnorderedKeyword_3_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "unordered", true, "unordered"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3()); } } } break; case 2 : // InternalXcore.g:2028:4: ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) { // InternalXcore.g:2028:4: ({...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) ) // InternalXcore.g:2029:5: {...}? => ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 1)"); } // InternalXcore.g:2029:107: ( ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) ) // InternalXcore.g:2030:6: ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 1); // InternalXcore.g:2033:6: ({...}? => ( (lv_unique_16_0= 'unique' ) ) ) // InternalXcore.g:2033:7: {...}? => ( (lv_unique_16_0= 'unique' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2033:16: ( (lv_unique_16_0= 'unique' ) ) // InternalXcore.g:2034:1: (lv_unique_16_0= 'unique' ) { // InternalXcore.g:2034:1: (lv_unique_16_0= 'unique' ) // InternalXcore.g:2035:3: lv_unique_16_0= 'unique' { lv_unique_16_0=(Token)match(input,37,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unique_16_0, grammarAccess.getXReferenceAccess().getUniqueUniqueKeyword_3_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "unique", true, "unique"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3()); } } } break; case 3 : // InternalXcore.g:2055:4: ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) { // InternalXcore.g:2055:4: ({...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) ) // InternalXcore.g:2056:5: {...}? => ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 2) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 2)"); } // InternalXcore.g:2056:107: ( ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) ) // InternalXcore.g:2057:6: ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 2); // InternalXcore.g:2060:6: ({...}? => ( (lv_readonly_17_0= 'readonly' ) ) ) // InternalXcore.g:2060:7: {...}? => ( (lv_readonly_17_0= 'readonly' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2060:16: ( (lv_readonly_17_0= 'readonly' ) ) // InternalXcore.g:2061:1: (lv_readonly_17_0= 'readonly' ) { // InternalXcore.g:2061:1: (lv_readonly_17_0= 'readonly' ) // InternalXcore.g:2062:3: lv_readonly_17_0= 'readonly' { lv_readonly_17_0=(Token)match(input,38,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_readonly_17_0, grammarAccess.getXReferenceAccess().getReadonlyReadonlyKeyword_3_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "readonly", true, "readonly"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3()); } } } break; case 4 : // InternalXcore.g:2082:4: ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) { // InternalXcore.g:2082:4: ({...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) ) // InternalXcore.g:2083:5: {...}? => ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 3) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 3)"); } // InternalXcore.g:2083:107: ( ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) ) // InternalXcore.g:2084:6: ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 3); // InternalXcore.g:2087:6: ({...}? => ( (lv_transient_18_0= 'transient' ) ) ) // InternalXcore.g:2087:7: {...}? => ( (lv_transient_18_0= 'transient' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2087:16: ( (lv_transient_18_0= 'transient' ) ) // InternalXcore.g:2088:1: (lv_transient_18_0= 'transient' ) { // InternalXcore.g:2088:1: (lv_transient_18_0= 'transient' ) // InternalXcore.g:2089:3: lv_transient_18_0= 'transient' { lv_transient_18_0=(Token)match(input,39,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_transient_18_0, grammarAccess.getXReferenceAccess().getTransientTransientKeyword_3_3_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "transient", true, "transient"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3()); } } } break; case 5 : // InternalXcore.g:2109:4: ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) { // InternalXcore.g:2109:4: ({...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) ) // InternalXcore.g:2110:5: {...}? => ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 4) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 4)"); } // InternalXcore.g:2110:107: ( ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) ) // InternalXcore.g:2111:6: ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 4); // InternalXcore.g:2114:6: ({...}? => ( (lv_volatile_19_0= 'volatile' ) ) ) // InternalXcore.g:2114:7: {...}? => ( (lv_volatile_19_0= 'volatile' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2114:16: ( (lv_volatile_19_0= 'volatile' ) ) // InternalXcore.g:2115:1: (lv_volatile_19_0= 'volatile' ) { // InternalXcore.g:2115:1: (lv_volatile_19_0= 'volatile' ) // InternalXcore.g:2116:3: lv_volatile_19_0= 'volatile' { lv_volatile_19_0=(Token)match(input,40,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_volatile_19_0, grammarAccess.getXReferenceAccess().getVolatileVolatileKeyword_3_4_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "volatile", true, "volatile"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3()); } } } break; case 6 : // InternalXcore.g:2136:4: ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) { // InternalXcore.g:2136:4: ({...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) ) // InternalXcore.g:2137:5: {...}? => ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 5) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 5)"); } // InternalXcore.g:2137:107: ( ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) ) // InternalXcore.g:2138:6: ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 5); // InternalXcore.g:2141:6: ({...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) ) // InternalXcore.g:2141:7: {...}? => ( (lv_unsettable_20_0= 'unsettable' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2141:16: ( (lv_unsettable_20_0= 'unsettable' ) ) // InternalXcore.g:2142:1: (lv_unsettable_20_0= 'unsettable' ) { // InternalXcore.g:2142:1: (lv_unsettable_20_0= 'unsettable' ) // InternalXcore.g:2143:3: lv_unsettable_20_0= 'unsettable' { lv_unsettable_20_0=(Token)match(input,41,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unsettable_20_0, grammarAccess.getXReferenceAccess().getUnsettableUnsettableKeyword_3_5_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "unsettable", true, "unsettable"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3()); } } } break; case 7 : // InternalXcore.g:2163:4: ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) { // InternalXcore.g:2163:4: ({...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) ) // InternalXcore.g:2164:5: {...}? => ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 6) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 6)"); } // InternalXcore.g:2164:107: ( ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) ) // InternalXcore.g:2165:6: ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_3(), 6); // InternalXcore.g:2168:6: ({...}? => ( (lv_derived_21_0= 'derived' ) ) ) // InternalXcore.g:2168:7: {...}? => ( (lv_derived_21_0= 'derived' ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2168:16: ( (lv_derived_21_0= 'derived' ) ) // InternalXcore.g:2169:1: (lv_derived_21_0= 'derived' ) { // InternalXcore.g:2169:1: (lv_derived_21_0= 'derived' ) // InternalXcore.g:2170:3: lv_derived_21_0= 'derived' { lv_derived_21_0=(Token)match(input,42,FollowSets000.FOLLOW_43); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_derived_21_0, grammarAccess.getXReferenceAccess().getDerivedDerivedKeyword_3_6_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed(current, "derived", true, "derived"); } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_3()); } } } break; default : break loop41; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getXReferenceAccess().getUnorderedGroup_3()); } // InternalXcore.g:2197:2: ( (lv_type_22_0= ruleXGenericType ) ) // InternalXcore.g:2198:1: (lv_type_22_0= ruleXGenericType ) { // InternalXcore.g:2198:1: (lv_type_22_0= ruleXGenericType ) // InternalXcore.g:2199:3: lv_type_22_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceAccess().getTypeXGenericTypeParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_38); lv_type_22_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXReferenceRule()); } set( current, "type", lv_type_22_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:2215:2: ( (lv_multiplicity_23_0= ruleXMultiplicity ) )? int alt42=2; int LA42_0 = input.LA(1); if ( (LA42_0==59) ) { alt42=1; } switch (alt42) { case 1 : // InternalXcore.g:2216:1: (lv_multiplicity_23_0= ruleXMultiplicity ) { // InternalXcore.g:2216:1: (lv_multiplicity_23_0= ruleXMultiplicity ) // InternalXcore.g:2217:3: lv_multiplicity_23_0= ruleXMultiplicity { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceAccess().getMultiplicityXMultiplicityParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_15); lv_multiplicity_23_0=ruleXMultiplicity(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXReferenceRule()); } set( current, "multiplicity", lv_multiplicity_23_0, "org.eclipse.emf.ecore.xcore.Xcore.XMultiplicity"); afterParserOrEnumRuleCall(); } } } break; } // InternalXcore.g:2233:3: ( (lv_name_24_0= RULE_ID ) ) // InternalXcore.g:2234:1: (lv_name_24_0= RULE_ID ) { // InternalXcore.g:2234:1: (lv_name_24_0= RULE_ID ) // InternalXcore.g:2235:3: lv_name_24_0= RULE_ID { lv_name_24_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_48); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_24_0, grammarAccess.getXReferenceAccess().getNameIDTerminalRuleCall_6_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } setWithLastConsumed( current, "name", lv_name_24_0, "org.eclipse.xtext.xbase.Xtype.ID"); } } } // InternalXcore.g:2251:2: (otherlv_25= 'opposite' ( ( ruleValidID ) ) )? int alt43=2; int LA43_0 = input.LA(1); if ( (LA43_0==53) ) { alt43=1; } switch (alt43) { case 1 : // InternalXcore.g:2251:4: otherlv_25= 'opposite' ( ( ruleValidID ) ) { otherlv_25=(Token)match(input,53,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_25, grammarAccess.getXReferenceAccess().getOppositeKeyword_7_0()); } // InternalXcore.g:2255:1: ( ( ruleValidID ) ) // InternalXcore.g:2256:1: ( ruleValidID ) { // InternalXcore.g:2256:1: ( ruleValidID ) // InternalXcore.g:2257:3: ruleValidID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceAccess().getOppositeGenFeatureCrossReference_7_1_0()); } pushFollow(FollowSets000.FOLLOW_49); ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; } // InternalXcore.g:2270:4: (otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* )? int alt45=2; int LA45_0 = input.LA(1); if ( (LA45_0==54) ) { alt45=1; } switch (alt45) { case 1 : // InternalXcore.g:2270:6: otherlv_27= 'keys' ( ( ruleValidID ) ) (otherlv_29= ',' ( ( ruleValidID ) ) )* { otherlv_27=(Token)match(input,54,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_27, grammarAccess.getXReferenceAccess().getKeysKeyword_8_0()); } // InternalXcore.g:2274:1: ( ( ruleValidID ) ) // InternalXcore.g:2275:1: ( ruleValidID ) { // InternalXcore.g:2275:1: ( ruleValidID ) // InternalXcore.g:2276:3: ruleValidID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceAccess().getKeysGenFeatureCrossReference_8_1_0()); } pushFollow(FollowSets000.FOLLOW_50); ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:2289:2: (otherlv_29= ',' ( ( ruleValidID ) ) )* loop44: do { int alt44=2; int LA44_0 = input.LA(1); if ( (LA44_0==16) ) { alt44=1; } switch (alt44) { case 1 : // InternalXcore.g:2289:4: otherlv_29= ',' ( ( ruleValidID ) ) { otherlv_29=(Token)match(input,16,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_29, grammarAccess.getXReferenceAccess().getCommaKeyword_8_2_0()); } // InternalXcore.g:2293:1: ( ( ruleValidID ) ) // InternalXcore.g:2294:1: ( ruleValidID ) { // InternalXcore.g:2294:1: ( ruleValidID ) // InternalXcore.g:2295:3: ruleValidID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXReferenceRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceAccess().getKeysGenFeatureCrossReference_8_2_1_0()); } pushFollow(FollowSets000.FOLLOW_50); ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; default : break loop44; } } while (true); } break; } // InternalXcore.g:2308:6: ( ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) ) // InternalXcore.g:2310:1: ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) { // InternalXcore.g:2310:1: ( ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) ) // InternalXcore.g:2311:2: ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getXReferenceAccess().getUnorderedGroup_9()); // InternalXcore.g:2314:2: ( ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* ) // InternalXcore.g:2315:3: ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* { // InternalXcore.g:2315:3: ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )* loop46: do { int alt46=5; alt46 = dfa46.predict(input); switch (alt46) { case 1 : // InternalXcore.g:2317:4: ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) { // InternalXcore.g:2317:4: ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) // InternalXcore.g:2318:5: {...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 0)"); } // InternalXcore.g:2318:107: ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) // InternalXcore.g:2319:6: ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 0); // InternalXcore.g:2322:6: ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) // InternalXcore.g:2322:7: {...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2322:16: (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) // InternalXcore.g:2322:18: otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) { otherlv_32=(Token)match(input,44,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_32, grammarAccess.getXReferenceAccess().getGetKeyword_9_0_0()); } // InternalXcore.g:2326:1: ( (lv_getBody_33_0= ruleXBlockExpression ) ) // InternalXcore.g:2327:1: (lv_getBody_33_0= ruleXBlockExpression ) { // InternalXcore.g:2327:1: (lv_getBody_33_0= ruleXBlockExpression ) // InternalXcore.g:2328:3: lv_getBody_33_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceAccess().getGetBodyXBlockExpressionParserRuleCall_9_0_1_0()); } pushFollow(FollowSets000.FOLLOW_40); lv_getBody_33_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXReferenceRule()); } set( current, "getBody", lv_getBody_33_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_9()); } } } break; case 2 : // InternalXcore.g:2351:4: ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) { // InternalXcore.g:2351:4: ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) // InternalXcore.g:2352:5: {...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 1)"); } // InternalXcore.g:2352:107: ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) // InternalXcore.g:2353:6: ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 1); // InternalXcore.g:2356:6: ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) // InternalXcore.g:2356:7: {...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2356:16: (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) // InternalXcore.g:2356:18: otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) { otherlv_34=(Token)match(input,45,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_34, grammarAccess.getXReferenceAccess().getSetKeyword_9_1_0()); } // InternalXcore.g:2360:1: ( (lv_setBody_35_0= ruleXBlockExpression ) ) // InternalXcore.g:2361:1: (lv_setBody_35_0= ruleXBlockExpression ) { // InternalXcore.g:2361:1: (lv_setBody_35_0= ruleXBlockExpression ) // InternalXcore.g:2362:3: lv_setBody_35_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceAccess().getSetBodyXBlockExpressionParserRuleCall_9_1_1_0()); } pushFollow(FollowSets000.FOLLOW_40); lv_setBody_35_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXReferenceRule()); } set( current, "setBody", lv_setBody_35_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_9()); } } } break; case 3 : // InternalXcore.g:2385:4: ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) { // InternalXcore.g:2385:4: ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) // InternalXcore.g:2386:5: {...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 2) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 2)"); } // InternalXcore.g:2386:107: ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) // InternalXcore.g:2387:6: ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 2); // InternalXcore.g:2390:6: ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) // InternalXcore.g:2390:7: {...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2390:16: (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) // InternalXcore.g:2390:18: otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) { otherlv_36=(Token)match(input,46,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_36, grammarAccess.getXReferenceAccess().getIsSetKeyword_9_2_0()); } // InternalXcore.g:2394:1: ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) // InternalXcore.g:2395:1: (lv_isSetBody_37_0= ruleXBlockExpression ) { // InternalXcore.g:2395:1: (lv_isSetBody_37_0= ruleXBlockExpression ) // InternalXcore.g:2396:3: lv_isSetBody_37_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceAccess().getIsSetBodyXBlockExpressionParserRuleCall_9_2_1_0()); } pushFollow(FollowSets000.FOLLOW_40); lv_isSetBody_37_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXReferenceRule()); } set( current, "isSetBody", lv_isSetBody_37_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_9()); } } } break; case 4 : // InternalXcore.g:2419:4: ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) { // InternalXcore.g:2419:4: ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) // InternalXcore.g:2420:5: {...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 3) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 3)"); } // InternalXcore.g:2420:107: ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) // InternalXcore.g:2421:6: ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 3); // InternalXcore.g:2424:6: ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) // InternalXcore.g:2424:7: {...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleXReference", "true"); } // InternalXcore.g:2424:16: (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) // InternalXcore.g:2424:18: otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) { otherlv_38=(Token)match(input,47,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_38, grammarAccess.getXReferenceAccess().getUnsetKeyword_9_3_0()); } // InternalXcore.g:2428:1: ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) // InternalXcore.g:2429:1: (lv_unsetBody_39_0= ruleXBlockExpression ) { // InternalXcore.g:2429:1: (lv_unsetBody_39_0= ruleXBlockExpression ) // InternalXcore.g:2430:3: lv_unsetBody_39_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReferenceAccess().getUnsetBodyXBlockExpressionParserRuleCall_9_3_1_0()); } pushFollow(FollowSets000.FOLLOW_40); lv_unsetBody_39_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXReferenceRule()); } set( current, "unsetBody", lv_unsetBody_39_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getXReferenceAccess().getUnorderedGroup_9()); } } } break; default : break loop46; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getXReferenceAccess().getUnorderedGroup_9()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXReference" // $ANTLR start "entryRuleXOperation" // InternalXcore.g:2468:1: entryRuleXOperation returns [EObject current=null] : iv_ruleXOperation= ruleXOperation EOF ; public final EObject entryRuleXOperation() throws RecognitionException { EObject current = null; EObject iv_ruleXOperation = null; try { // InternalXcore.g:2469:2: (iv_ruleXOperation= ruleXOperation EOF ) // InternalXcore.g:2470:2: iv_ruleXOperation= ruleXOperation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXOperation=ruleXOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXOperation; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXOperation" // $ANTLR start "ruleXOperation" // InternalXcore.g:2477:1: ruleXOperation returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'op' ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? ( (lv_name_15_0= RULE_ID ) ) otherlv_16= '(' ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? otherlv_20= ')' (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? ( (lv_body_25_0= ruleXBlockExpression ) )? ) ; public final EObject ruleXOperation() throws RecognitionException { EObject current = null; Token otherlv_2=null; Token lv_unordered_3_0=null; Token lv_unique_4_0=null; Token lv_unique_5_0=null; Token lv_unordered_6_0=null; Token otherlv_7=null; Token otherlv_9=null; Token otherlv_11=null; Token otherlv_13=null; Token lv_name_15_0=null; Token otherlv_16=null; Token otherlv_18=null; Token otherlv_20=null; Token otherlv_21=null; Token otherlv_23=null; EObject lv_annotations_1_0 = null; EObject lv_typeParameters_8_0 = null; EObject lv_typeParameters_10_0 = null; EObject lv_type_12_0 = null; AntlrDatatypeRuleToken lv_multiplicity_14_0 = null; EObject lv_parameters_17_0 = null; EObject lv_parameters_19_0 = null; EObject lv_exceptions_22_0 = null; EObject lv_exceptions_24_0 = null; EObject lv_body_25_0 = null; enterRule(); try { // InternalXcore.g:2480:28: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'op' ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? ( (lv_name_15_0= RULE_ID ) ) otherlv_16= '(' ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? otherlv_20= ')' (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? ( (lv_body_25_0= ruleXBlockExpression ) )? ) ) // InternalXcore.g:2481:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'op' ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? ( (lv_name_15_0= RULE_ID ) ) otherlv_16= '(' ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? otherlv_20= ')' (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? ( (lv_body_25_0= ruleXBlockExpression ) )? ) { // InternalXcore.g:2481:1: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'op' ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? ( (lv_name_15_0= RULE_ID ) ) otherlv_16= '(' ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? otherlv_20= ')' (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? ( (lv_body_25_0= ruleXBlockExpression ) )? ) // InternalXcore.g:2481:2: () ( (lv_annotations_1_0= ruleXAnnotation ) )* otherlv_2= 'op' ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? ( (lv_name_15_0= RULE_ID ) ) otherlv_16= '(' ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? otherlv_20= ')' (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? ( (lv_body_25_0= ruleXBlockExpression ) )? { // InternalXcore.g:2481:2: () // InternalXcore.g:2482:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXOperationAccess().getXOperationAction_0(), current); } } // InternalXcore.g:2487:2: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop47: do { int alt47=2; int LA47_0 = input.LA(1); if ( (LA47_0==14) ) { alt47=1; } switch (alt47) { case 1 : // InternalXcore.g:2488:1: (lv_annotations_1_0= ruleXAnnotation ) { // InternalXcore.g:2488:1: (lv_annotations_1_0= ruleXAnnotation ) // InternalXcore.g:2489:3: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_51); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOperationRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop47; } } while (true); otherlv_2=(Token)match(input,55,FollowSets000.FOLLOW_52); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXOperationAccess().getOpKeyword_2()); } // InternalXcore.g:2509:1: ( ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) | ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) )? int alt50=3; int LA50_0 = input.LA(1); if ( (LA50_0==36) ) { alt50=1; } else if ( (LA50_0==37) ) { alt50=2; } switch (alt50) { case 1 : // InternalXcore.g:2509:2: ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) { // InternalXcore.g:2509:2: ( ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? ) // InternalXcore.g:2509:3: ( (lv_unordered_3_0= 'unordered' ) ) ( (lv_unique_4_0= 'unique' ) )? { // InternalXcore.g:2509:3: ( (lv_unordered_3_0= 'unordered' ) ) // InternalXcore.g:2510:1: (lv_unordered_3_0= 'unordered' ) { // InternalXcore.g:2510:1: (lv_unordered_3_0= 'unordered' ) // InternalXcore.g:2511:3: lv_unordered_3_0= 'unordered' { lv_unordered_3_0=(Token)match(input,36,FollowSets000.FOLLOW_53); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unordered_3_0, grammarAccess.getXOperationAccess().getUnorderedUnorderedKeyword_3_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXOperationRule()); } setWithLastConsumed(current, "unordered", true, "unordered"); } } } // InternalXcore.g:2524:2: ( (lv_unique_4_0= 'unique' ) )? int alt48=2; int LA48_0 = input.LA(1); if ( (LA48_0==37) ) { alt48=1; } switch (alt48) { case 1 : // InternalXcore.g:2525:1: (lv_unique_4_0= 'unique' ) { // InternalXcore.g:2525:1: (lv_unique_4_0= 'unique' ) // InternalXcore.g:2526:3: lv_unique_4_0= 'unique' { lv_unique_4_0=(Token)match(input,37,FollowSets000.FOLLOW_54); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unique_4_0, grammarAccess.getXOperationAccess().getUniqueUniqueKeyword_3_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXOperationRule()); } setWithLastConsumed(current, "unique", true, "unique"); } } } break; } } } break; case 2 : // InternalXcore.g:2540:6: ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) { // InternalXcore.g:2540:6: ( ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? ) // InternalXcore.g:2540:7: ( (lv_unique_5_0= 'unique' ) ) ( (lv_unordered_6_0= 'unordered' ) )? { // InternalXcore.g:2540:7: ( (lv_unique_5_0= 'unique' ) ) // InternalXcore.g:2541:1: (lv_unique_5_0= 'unique' ) { // InternalXcore.g:2541:1: (lv_unique_5_0= 'unique' ) // InternalXcore.g:2542:3: lv_unique_5_0= 'unique' { lv_unique_5_0=(Token)match(input,37,FollowSets000.FOLLOW_55); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unique_5_0, grammarAccess.getXOperationAccess().getUniqueUniqueKeyword_3_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXOperationRule()); } setWithLastConsumed(current, "unique", true, "unique"); } } } // InternalXcore.g:2555:2: ( (lv_unordered_6_0= 'unordered' ) )? int alt49=2; int LA49_0 = input.LA(1); if ( (LA49_0==36) ) { alt49=1; } switch (alt49) { case 1 : // InternalXcore.g:2556:1: (lv_unordered_6_0= 'unordered' ) { // InternalXcore.g:2556:1: (lv_unordered_6_0= 'unordered' ) // InternalXcore.g:2557:3: lv_unordered_6_0= 'unordered' { lv_unordered_6_0=(Token)match(input,36,FollowSets000.FOLLOW_54); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unordered_6_0, grammarAccess.getXOperationAccess().getUnorderedUnorderedKeyword_3_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXOperationRule()); } setWithLastConsumed(current, "unordered", true, "unordered"); } } } break; } } } break; } // InternalXcore.g:2570:6: (otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' )? int alt52=2; int LA52_0 = input.LA(1); if ( (LA52_0==23) ) { alt52=1; } switch (alt52) { case 1 : // InternalXcore.g:2570:8: otherlv_7= '<' ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* otherlv_11= '>' { otherlv_7=(Token)match(input,23,FollowSets000.FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getXOperationAccess().getLessThanSignKeyword_4_0()); } // InternalXcore.g:2574:1: ( (lv_typeParameters_8_0= ruleXTypeParameter ) ) // InternalXcore.g:2575:1: (lv_typeParameters_8_0= ruleXTypeParameter ) { // InternalXcore.g:2575:1: (lv_typeParameters_8_0= ruleXTypeParameter ) // InternalXcore.g:2576:3: lv_typeParameters_8_0= ruleXTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationAccess().getTypeParametersXTypeParameterParserRuleCall_4_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeParameters_8_0=ruleXTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOperationRule()); } add( current, "typeParameters", lv_typeParameters_8_0, "org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:2592:2: (otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) )* loop51: do { int alt51=2; int LA51_0 = input.LA(1); if ( (LA51_0==16) ) { alt51=1; } switch (alt51) { case 1 : // InternalXcore.g:2592:4: otherlv_9= ',' ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) { otherlv_9=(Token)match(input,16,FollowSets000.FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getXOperationAccess().getCommaKeyword_4_2_0()); } // InternalXcore.g:2596:1: ( (lv_typeParameters_10_0= ruleXTypeParameter ) ) // InternalXcore.g:2597:1: (lv_typeParameters_10_0= ruleXTypeParameter ) { // InternalXcore.g:2597:1: (lv_typeParameters_10_0= ruleXTypeParameter ) // InternalXcore.g:2598:3: lv_typeParameters_10_0= ruleXTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationAccess().getTypeParametersXTypeParameterParserRuleCall_4_2_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeParameters_10_0=ruleXTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOperationRule()); } add( current, "typeParameters", lv_typeParameters_10_0, "org.eclipse.emf.ecore.xcore.Xcore.XTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop51; } } while (true); otherlv_11=(Token)match(input,24,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getXOperationAccess().getGreaterThanSignKeyword_4_3()); } } break; } // InternalXcore.g:2618:3: ( ( (lv_type_12_0= ruleXGenericType ) ) | otherlv_13= 'void' ) int alt53=2; int LA53_0 = input.LA(1); if ( (LA53_0==RULE_ID||(LA53_0>=44 && LA53_0<=47)) ) { alt53=1; } else if ( (LA53_0==56) ) { alt53=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 53, 0, input); throw nvae; } switch (alt53) { case 1 : // InternalXcore.g:2618:4: ( (lv_type_12_0= ruleXGenericType ) ) { // InternalXcore.g:2618:4: ( (lv_type_12_0= ruleXGenericType ) ) // InternalXcore.g:2619:1: (lv_type_12_0= ruleXGenericType ) { // InternalXcore.g:2619:1: (lv_type_12_0= ruleXGenericType ) // InternalXcore.g:2620:3: lv_type_12_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationAccess().getTypeXGenericTypeParserRuleCall_5_0_0()); } pushFollow(FollowSets000.FOLLOW_38); lv_type_12_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOperationRule()); } set( current, "type", lv_type_12_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalXcore.g:2637:7: otherlv_13= 'void' { otherlv_13=(Token)match(input,56,FollowSets000.FOLLOW_38); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXOperationAccess().getVoidKeyword_5_1()); } } break; } // InternalXcore.g:2641:2: ( (lv_multiplicity_14_0= ruleXMultiplicity ) )? int alt54=2; int LA54_0 = input.LA(1); if ( (LA54_0==59) ) { alt54=1; } switch (alt54) { case 1 : // InternalXcore.g:2642:1: (lv_multiplicity_14_0= ruleXMultiplicity ) { // InternalXcore.g:2642:1: (lv_multiplicity_14_0= ruleXMultiplicity ) // InternalXcore.g:2643:3: lv_multiplicity_14_0= ruleXMultiplicity { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationAccess().getMultiplicityXMultiplicityParserRuleCall_6_0()); } pushFollow(FollowSets000.FOLLOW_15); lv_multiplicity_14_0=ruleXMultiplicity(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOperationRule()); } set( current, "multiplicity", lv_multiplicity_14_0, "org.eclipse.emf.ecore.xcore.Xcore.XMultiplicity"); afterParserOrEnumRuleCall(); } } } break; } // InternalXcore.g:2659:3: ( (lv_name_15_0= RULE_ID ) ) // InternalXcore.g:2660:1: (lv_name_15_0= RULE_ID ) { // InternalXcore.g:2660:1: (lv_name_15_0= RULE_ID ) // InternalXcore.g:2661:3: lv_name_15_0= RULE_ID { lv_name_15_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_15_0, grammarAccess.getXOperationAccess().getNameIDTerminalRuleCall_7_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXOperationRule()); } setWithLastConsumed( current, "name", lv_name_15_0, "org.eclipse.xtext.xbase.Xtype.ID"); } } } otherlv_16=(Token)match(input,15,FollowSets000.FOLLOW_57); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_16, grammarAccess.getXOperationAccess().getLeftParenthesisKeyword_8()); } // InternalXcore.g:2681:1: ( ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* )? int alt56=2; int LA56_0 = input.LA(1); if ( (LA56_0==RULE_ID||LA56_0==14||(LA56_0>=36 && LA56_0<=37)||(LA56_0>=44 && LA56_0<=47)) ) { alt56=1; } switch (alt56) { case 1 : // InternalXcore.g:2681:2: ( (lv_parameters_17_0= ruleXParameter ) ) (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* { // InternalXcore.g:2681:2: ( (lv_parameters_17_0= ruleXParameter ) ) // InternalXcore.g:2682:1: (lv_parameters_17_0= ruleXParameter ) { // InternalXcore.g:2682:1: (lv_parameters_17_0= ruleXParameter ) // InternalXcore.g:2683:3: lv_parameters_17_0= ruleXParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationAccess().getParametersXParameterParserRuleCall_9_0_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_parameters_17_0=ruleXParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOperationRule()); } add( current, "parameters", lv_parameters_17_0, "org.eclipse.emf.ecore.xcore.Xcore.XParameter"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:2699:2: (otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) )* loop55: do { int alt55=2; int LA55_0 = input.LA(1); if ( (LA55_0==16) ) { alt55=1; } switch (alt55) { case 1 : // InternalXcore.g:2699:4: otherlv_18= ',' ( (lv_parameters_19_0= ruleXParameter ) ) { otherlv_18=(Token)match(input,16,FollowSets000.FOLLOW_58); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_18, grammarAccess.getXOperationAccess().getCommaKeyword_9_1_0()); } // InternalXcore.g:2703:1: ( (lv_parameters_19_0= ruleXParameter ) ) // InternalXcore.g:2704:1: (lv_parameters_19_0= ruleXParameter ) { // InternalXcore.g:2704:1: (lv_parameters_19_0= ruleXParameter ) // InternalXcore.g:2705:3: lv_parameters_19_0= ruleXParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationAccess().getParametersXParameterParserRuleCall_9_1_1_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_parameters_19_0=ruleXParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOperationRule()); } add( current, "parameters", lv_parameters_19_0, "org.eclipse.emf.ecore.xcore.Xcore.XParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop55; } } while (true); } break; } otherlv_20=(Token)match(input,17,FollowSets000.FOLLOW_59); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_20, grammarAccess.getXOperationAccess().getRightParenthesisKeyword_10()); } // InternalXcore.g:2725:1: (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* )? int alt58=2; int LA58_0 = input.LA(1); if ( (LA58_0==57) ) { alt58=1; } switch (alt58) { case 1 : // InternalXcore.g:2725:3: otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleXGenericType ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* { otherlv_21=(Token)match(input,57,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getXOperationAccess().getThrowsKeyword_11_0()); } // InternalXcore.g:2729:1: ( (lv_exceptions_22_0= ruleXGenericType ) ) // InternalXcore.g:2730:1: (lv_exceptions_22_0= ruleXGenericType ) { // InternalXcore.g:2730:1: (lv_exceptions_22_0= ruleXGenericType ) // InternalXcore.g:2731:3: lv_exceptions_22_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationAccess().getExceptionsXGenericTypeParserRuleCall_11_1_0()); } pushFollow(FollowSets000.FOLLOW_60); lv_exceptions_22_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOperationRule()); } add( current, "exceptions", lv_exceptions_22_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:2747:2: (otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) )* loop57: do { int alt57=2; int LA57_0 = input.LA(1); if ( (LA57_0==16) ) { alt57=1; } switch (alt57) { case 1 : // InternalXcore.g:2747:4: otherlv_23= ',' ( (lv_exceptions_24_0= ruleXGenericType ) ) { otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_23, grammarAccess.getXOperationAccess().getCommaKeyword_11_2_0()); } // InternalXcore.g:2751:1: ( (lv_exceptions_24_0= ruleXGenericType ) ) // InternalXcore.g:2752:1: (lv_exceptions_24_0= ruleXGenericType ) { // InternalXcore.g:2752:1: (lv_exceptions_24_0= ruleXGenericType ) // InternalXcore.g:2753:3: lv_exceptions_24_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationAccess().getExceptionsXGenericTypeParserRuleCall_11_2_1_0()); } pushFollow(FollowSets000.FOLLOW_60); lv_exceptions_24_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOperationRule()); } add( current, "exceptions", lv_exceptions_24_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } } break; default : break loop57; } } while (true); } break; } // InternalXcore.g:2769:6: ( (lv_body_25_0= ruleXBlockExpression ) )? int alt59=2; int LA59_0 = input.LA(1); if ( (LA59_0==29) ) { alt59=1; } switch (alt59) { case 1 : // InternalXcore.g:2770:1: (lv_body_25_0= ruleXBlockExpression ) { // InternalXcore.g:2770:1: (lv_body_25_0= ruleXBlockExpression ) // InternalXcore.g:2771:3: lv_body_25_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOperationAccess().getBodyXBlockExpressionParserRuleCall_12_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_body_25_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOperationRule()); } set( current, "body", lv_body_25_0, "org.eclipse.emf.ecore.xcore.Xcore.XBlockExpression"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXOperation" // $ANTLR start "entryRuleXParameter" // InternalXcore.g:2795:1: entryRuleXParameter returns [EObject current=null] : iv_ruleXParameter= ruleXParameter EOF ; public final EObject entryRuleXParameter() throws RecognitionException { EObject current = null; EObject iv_ruleXParameter = null; try { // InternalXcore.g:2796:2: (iv_ruleXParameter= ruleXParameter EOF ) // InternalXcore.g:2797:2: iv_ruleXParameter= ruleXParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXParameterRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXParameter=ruleXParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXParameter; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXParameter" // $ANTLR start "ruleXParameter" // InternalXcore.g:2804:1: ruleXParameter returns [EObject current=null] : ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? ( (lv_type_5_0= ruleXGenericType ) ) ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? ( (lv_name_7_0= RULE_ID ) ) ) ; public final EObject ruleXParameter() throws RecognitionException { EObject current = null; Token lv_unordered_1_0=null; Token lv_unique_2_0=null; Token lv_unique_3_0=null; Token lv_unordered_4_0=null; Token lv_name_7_0=null; EObject lv_annotations_0_0 = null; EObject lv_type_5_0 = null; AntlrDatatypeRuleToken lv_multiplicity_6_0 = null; enterRule(); try { // InternalXcore.g:2807:28: ( ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? ( (lv_type_5_0= ruleXGenericType ) ) ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? ( (lv_name_7_0= RULE_ID ) ) ) ) // InternalXcore.g:2808:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? ( (lv_type_5_0= ruleXGenericType ) ) ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? ( (lv_name_7_0= RULE_ID ) ) ) { // InternalXcore.g:2808:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? ( (lv_type_5_0= ruleXGenericType ) ) ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? ( (lv_name_7_0= RULE_ID ) ) ) // InternalXcore.g:2808:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? ( (lv_type_5_0= ruleXGenericType ) ) ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? ( (lv_name_7_0= RULE_ID ) ) { // InternalXcore.g:2808:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* loop60: do { int alt60=2; int LA60_0 = input.LA(1); if ( (LA60_0==14) ) { alt60=1; } switch (alt60) { case 1 : // InternalXcore.g:2809:1: (lv_annotations_0_0= ruleXAnnotation ) { // InternalXcore.g:2809:1: (lv_annotations_0_0= ruleXAnnotation ) // InternalXcore.g:2810:3: lv_annotations_0_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXParameterAccess().getAnnotationsXAnnotationParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_58); lv_annotations_0_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXParameterRule()); } add( current, "annotations", lv_annotations_0_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop60; } } while (true); // InternalXcore.g:2826:3: ( ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) | ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) )? int alt63=3; int LA63_0 = input.LA(1); if ( (LA63_0==36) ) { alt63=1; } else if ( (LA63_0==37) ) { alt63=2; } switch (alt63) { case 1 : // InternalXcore.g:2826:4: ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) { // InternalXcore.g:2826:4: ( ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? ) // InternalXcore.g:2826:5: ( (lv_unordered_1_0= 'unordered' ) ) ( (lv_unique_2_0= 'unique' ) )? { // InternalXcore.g:2826:5: ( (lv_unordered_1_0= 'unordered' ) ) // InternalXcore.g:2827:1: (lv_unordered_1_0= 'unordered' ) { // InternalXcore.g:2827:1: (lv_unordered_1_0= 'unordered' ) // InternalXcore.g:2828:3: lv_unordered_1_0= 'unordered' { lv_unordered_1_0=(Token)match(input,36,FollowSets000.FOLLOW_61); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unordered_1_0, grammarAccess.getXParameterAccess().getUnorderedUnorderedKeyword_1_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXParameterRule()); } setWithLastConsumed(current, "unordered", true, "unordered"); } } } // InternalXcore.g:2841:2: ( (lv_unique_2_0= 'unique' ) )? int alt61=2; int LA61_0 = input.LA(1); if ( (LA61_0==37) ) { alt61=1; } switch (alt61) { case 1 : // InternalXcore.g:2842:1: (lv_unique_2_0= 'unique' ) { // InternalXcore.g:2842:1: (lv_unique_2_0= 'unique' ) // InternalXcore.g:2843:3: lv_unique_2_0= 'unique' { lv_unique_2_0=(Token)match(input,37,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unique_2_0, grammarAccess.getXParameterAccess().getUniqueUniqueKeyword_1_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXParameterRule()); } setWithLastConsumed(current, "unique", true, "unique"); } } } break; } } } break; case 2 : // InternalXcore.g:2857:6: ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) { // InternalXcore.g:2857:6: ( ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? ) // InternalXcore.g:2857:7: ( (lv_unique_3_0= 'unique' ) ) ( (lv_unordered_4_0= 'unordered' ) )? { // InternalXcore.g:2857:7: ( (lv_unique_3_0= 'unique' ) ) // InternalXcore.g:2858:1: (lv_unique_3_0= 'unique' ) { // InternalXcore.g:2858:1: (lv_unique_3_0= 'unique' ) // InternalXcore.g:2859:3: lv_unique_3_0= 'unique' { lv_unique_3_0=(Token)match(input,37,FollowSets000.FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unique_3_0, grammarAccess.getXParameterAccess().getUniqueUniqueKeyword_1_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXParameterRule()); } setWithLastConsumed(current, "unique", true, "unique"); } } } // InternalXcore.g:2872:2: ( (lv_unordered_4_0= 'unordered' ) )? int alt62=2; int LA62_0 = input.LA(1); if ( (LA62_0==36) ) { alt62=1; } switch (alt62) { case 1 : // InternalXcore.g:2873:1: (lv_unordered_4_0= 'unordered' ) { // InternalXcore.g:2873:1: (lv_unordered_4_0= 'unordered' ) // InternalXcore.g:2874:3: lv_unordered_4_0= 'unordered' { lv_unordered_4_0=(Token)match(input,36,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_unordered_4_0, grammarAccess.getXParameterAccess().getUnorderedUnorderedKeyword_1_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXParameterRule()); } setWithLastConsumed(current, "unordered", true, "unordered"); } } } break; } } } break; } // InternalXcore.g:2887:6: ( (lv_type_5_0= ruleXGenericType ) ) // InternalXcore.g:2888:1: (lv_type_5_0= ruleXGenericType ) { // InternalXcore.g:2888:1: (lv_type_5_0= ruleXGenericType ) // InternalXcore.g:2889:3: lv_type_5_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXParameterAccess().getTypeXGenericTypeParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_38); lv_type_5_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXParameterRule()); } set( current, "type", lv_type_5_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:2905:2: ( (lv_multiplicity_6_0= ruleXMultiplicity ) )? int alt64=2; int LA64_0 = input.LA(1); if ( (LA64_0==59) ) { alt64=1; } switch (alt64) { case 1 : // InternalXcore.g:2906:1: (lv_multiplicity_6_0= ruleXMultiplicity ) { // InternalXcore.g:2906:1: (lv_multiplicity_6_0= ruleXMultiplicity ) // InternalXcore.g:2907:3: lv_multiplicity_6_0= ruleXMultiplicity { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXParameterAccess().getMultiplicityXMultiplicityParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_15); lv_multiplicity_6_0=ruleXMultiplicity(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXParameterRule()); } set( current, "multiplicity", lv_multiplicity_6_0, "org.eclipse.emf.ecore.xcore.Xcore.XMultiplicity"); afterParserOrEnumRuleCall(); } } } break; } // InternalXcore.g:2923:3: ( (lv_name_7_0= RULE_ID ) ) // InternalXcore.g:2924:1: (lv_name_7_0= RULE_ID ) { // InternalXcore.g:2924:1: (lv_name_7_0= RULE_ID ) // InternalXcore.g:2925:3: lv_name_7_0= RULE_ID { lv_name_7_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_7_0, grammarAccess.getXParameterAccess().getNameIDTerminalRuleCall_4_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXParameterRule()); } setWithLastConsumed( current, "name", lv_name_7_0, "org.eclipse.xtext.xbase.Xtype.ID"); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXParameter" // $ANTLR start "entryRuleXTypeParameter" // InternalXcore.g:2949:1: entryRuleXTypeParameter returns [EObject current=null] : iv_ruleXTypeParameter= ruleXTypeParameter EOF ; public final EObject entryRuleXTypeParameter() throws RecognitionException { EObject current = null; EObject iv_ruleXTypeParameter = null; try { // InternalXcore.g:2950:2: (iv_ruleXTypeParameter= ruleXTypeParameter EOF ) // InternalXcore.g:2951:2: iv_ruleXTypeParameter= ruleXTypeParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeParameterRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXTypeParameter=ruleXTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXTypeParameter; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXTypeParameter" // $ANTLR start "ruleXTypeParameter" // InternalXcore.g:2958:1: ruleXTypeParameter returns [EObject current=null] : ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )? ) ; public final EObject ruleXTypeParameter() throws RecognitionException { EObject current = null; Token lv_name_1_0=null; Token otherlv_2=null; Token otherlv_4=null; EObject lv_annotations_0_0 = null; EObject lv_bounds_3_0 = null; EObject lv_bounds_5_0 = null; enterRule(); try { // InternalXcore.g:2961:28: ( ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )? ) ) // InternalXcore.g:2962:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )? ) { // InternalXcore.g:2962:1: ( ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )? ) // InternalXcore.g:2962:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )? { // InternalXcore.g:2962:2: ( (lv_annotations_0_0= ruleXAnnotation ) )* loop65: do { int alt65=2; int LA65_0 = input.LA(1); if ( (LA65_0==14) ) { alt65=1; } switch (alt65) { case 1 : // InternalXcore.g:2963:1: (lv_annotations_0_0= ruleXAnnotation ) { // InternalXcore.g:2963:1: (lv_annotations_0_0= ruleXAnnotation ) // InternalXcore.g:2964:3: lv_annotations_0_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeParameterAccess().getAnnotationsXAnnotationParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_17); lv_annotations_0_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXTypeParameterRule()); } add( current, "annotations", lv_annotations_0_0, "org.eclipse.emf.ecore.xcore.Xcore.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop65; } } while (true); // InternalXcore.g:2980:3: ( (lv_name_1_0= RULE_ID ) ) // InternalXcore.g:2981:1: (lv_name_1_0= RULE_ID ) { // InternalXcore.g:2981:1: (lv_name_1_0= RULE_ID ) // InternalXcore.g:2982:3: lv_name_1_0= RULE_ID { lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_63); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_name_1_0, grammarAccess.getXTypeParameterAccess().getNameIDTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXTypeParameterRule()); } setWithLastConsumed( current, "name", lv_name_1_0, "org.eclipse.xtext.xbase.Xtype.ID"); } } } // InternalXcore.g:2998:2: (otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* )? int alt67=2; int LA67_0 = input.LA(1); if ( (LA67_0==35) ) { alt67=1; } switch (alt67) { case 1 : // InternalXcore.g:2998:4: otherlv_2= 'extends' ( (lv_bounds_3_0= ruleXGenericType ) ) (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* { otherlv_2=(Token)match(input,35,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXTypeParameterAccess().getExtendsKeyword_2_0()); } // InternalXcore.g:3002:1: ( (lv_bounds_3_0= ruleXGenericType ) ) // InternalXcore.g:3003:1: (lv_bounds_3_0= ruleXGenericType ) { // InternalXcore.g:3003:1: (lv_bounds_3_0= ruleXGenericType ) // InternalXcore.g:3004:3: lv_bounds_3_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeParameterAccess().getBoundsXGenericTypeParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_64); lv_bounds_3_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXTypeParameterRule()); } add( current, "bounds", lv_bounds_3_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:3020:2: (otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) )* loop66: do { int alt66=2; int LA66_0 = input.LA(1); if ( (LA66_0==58) ) { alt66=1; } switch (alt66) { case 1 : // InternalXcore.g:3020:4: otherlv_4= '&' ( (lv_bounds_5_0= ruleXGenericType ) ) { otherlv_4=(Token)match(input,58,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXTypeParameterAccess().getAmpersandKeyword_2_2_0()); } // InternalXcore.g:3024:1: ( (lv_bounds_5_0= ruleXGenericType ) ) // InternalXcore.g:3025:1: (lv_bounds_5_0= ruleXGenericType ) { // InternalXcore.g:3025:1: (lv_bounds_5_0= ruleXGenericType ) // InternalXcore.g:3026:3: lv_bounds_5_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeParameterAccess().getBoundsXGenericTypeParserRuleCall_2_2_1_0()); } pushFollow(FollowSets000.FOLLOW_64); lv_bounds_5_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXTypeParameterRule()); } add( current, "bounds", lv_bounds_5_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } } break; default : break loop66; } } while (true); } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXTypeParameter" // $ANTLR start "entryRuleXMultiplicity" // InternalXcore.g:3050:1: entryRuleXMultiplicity returns [String current=null] : iv_ruleXMultiplicity= ruleXMultiplicity EOF ; public final String entryRuleXMultiplicity() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleXMultiplicity = null; try { // InternalXcore.g:3051:2: (iv_ruleXMultiplicity= ruleXMultiplicity EOF ) // InternalXcore.g:3052:2: iv_ruleXMultiplicity= ruleXMultiplicity EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicityRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXMultiplicity=ruleXMultiplicity(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXMultiplicity.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXMultiplicity" // $ANTLR start "ruleXMultiplicity" // InternalXcore.g:3059:1: ruleXMultiplicity returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? kw= ']' ) ; public final AntlrDatatypeRuleToken ruleXMultiplicity() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; Token this_INT_4=null; Token this_INT_6=null; enterRule(); try { // InternalXcore.g:3062:28: ( (kw= '[' (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? kw= ']' ) ) // InternalXcore.g:3063:1: (kw= '[' (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? kw= ']' ) { // InternalXcore.g:3063:1: (kw= '[' (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? kw= ']' ) // InternalXcore.g:3064:2: kw= '[' (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? kw= ']' { kw=(Token)match(input,59,FollowSets000.FOLLOW_65); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getLeftSquareBracketKeyword_0()); } // InternalXcore.g:3069:1: (kw= '?' | kw= '*' | kw= '+' | (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) )? int alt70=5; switch ( input.LA(1) ) { case 60: { alt70=1; } break; case 61: { alt70=2; } break; case 62: { alt70=3; } break; case RULE_INT: { alt70=4; } break; } switch (alt70) { case 1 : // InternalXcore.g:3070:2: kw= '?' { kw=(Token)match(input,60,FollowSets000.FOLLOW_66); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getQuestionMarkKeyword_1_0()); } } break; case 2 : // InternalXcore.g:3077:2: kw= '*' { kw=(Token)match(input,61,FollowSets000.FOLLOW_66); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getAsteriskKeyword_1_1()); } } break; case 3 : // InternalXcore.g:3084:2: kw= '+' { kw=(Token)match(input,62,FollowSets000.FOLLOW_66); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getPlusSignKeyword_1_2()); } } break; case 4 : // InternalXcore.g:3090:6: (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) { // InternalXcore.g:3090:6: (this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? ) // InternalXcore.g:3090:11: this_INT_4= RULE_INT (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? { this_INT_4=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_67); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_INT_4); } if ( state.backtracking==0 ) { newLeafNode(this_INT_4, grammarAccess.getXMultiplicityAccess().getINTTerminalRuleCall_1_3_0()); } // InternalXcore.g:3097:1: (kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) )? int alt69=2; int LA69_0 = input.LA(1); if ( (LA69_0==63) ) { alt69=1; } switch (alt69) { case 1 : // InternalXcore.g:3098:2: kw= '..' (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) { kw=(Token)match(input,63,FollowSets000.FOLLOW_68); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getFullStopFullStopKeyword_1_3_1_0()); } // InternalXcore.g:3103:1: (this_INT_6= RULE_INT | kw= '?' | kw= '*' ) int alt68=3; switch ( input.LA(1) ) { case RULE_INT: { alt68=1; } break; case 60: { alt68=2; } break; case 61: { alt68=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 68, 0, input); throw nvae; } switch (alt68) { case 1 : // InternalXcore.g:3103:6: this_INT_6= RULE_INT { this_INT_6=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_66); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_INT_6); } if ( state.backtracking==0 ) { newLeafNode(this_INT_6, grammarAccess.getXMultiplicityAccess().getINTTerminalRuleCall_1_3_1_1_0()); } } break; case 2 : // InternalXcore.g:3112:2: kw= '?' { kw=(Token)match(input,60,FollowSets000.FOLLOW_66); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getQuestionMarkKeyword_1_3_1_1_1()); } } break; case 3 : // InternalXcore.g:3119:2: kw= '*' { kw=(Token)match(input,61,FollowSets000.FOLLOW_66); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getAsteriskKeyword_1_3_1_1_2()); } } break; } } break; } } } break; } kw=(Token)match(input,64,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXMultiplicityAccess().getRightSquareBracketKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXMultiplicity" // $ANTLR start "entryRuleXBlockExpression" // InternalXcore.g:3138:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ; public final EObject entryRuleXBlockExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXBlockExpression = null; try { // InternalXcore.g:3139:2: (iv_ruleXBlockExpression= ruleXBlockExpression EOF ) // InternalXcore.g:3140:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBlockExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXBlockExpression=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXBlockExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXBlockExpression" // $ANTLR start "ruleXBlockExpression" // InternalXcore.g:3147:1: ruleXBlockExpression returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ; public final EObject ruleXBlockExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; EObject lv_expressions_2_0 = null; enterRule(); try { // InternalXcore.g:3150:28: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ) // InternalXcore.g:3151:1: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) { // InternalXcore.g:3151:1: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) // InternalXcore.g:3151:2: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' { // InternalXcore.g:3151:2: () // InternalXcore.g:3152:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(), current); } } otherlv_1=(Token)match(input,29,FollowSets000.FOLLOW_69); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); } // InternalXcore.g:3161:1: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* loop72: do { int alt72=2; int LA72_0 = input.LA(1); if ( ((LA72_0>=RULE_STRING && LA72_0<=RULE_DECIMAL)||LA72_0==13||LA72_0==15||(LA72_0>=19 && LA72_0<=21)||LA72_0==23||(LA72_0>=25 && LA72_0<=29)||(LA72_0>=31 && LA72_0<=57)||LA72_0==59||LA72_0==62||LA72_0==66||(LA72_0>=68 && LA72_0<=69)||LA72_0==91||LA72_0==96||LA72_0==98||LA72_0==100||(LA72_0>=104 && LA72_0<=116)||LA72_0==118) ) { alt72=1; } switch (alt72) { case 1 : // InternalXcore.g:3161:2: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? { // InternalXcore.g:3161:2: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) // InternalXcore.g:3162:1: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) { // InternalXcore.g:3162:1: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) // InternalXcore.g:3163:3: lv_expressions_2_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_70); lv_expressions_2_0=ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXBlockExpressionRule()); } add( current, "expressions", lv_expressions_2_0, "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:3179:2: (otherlv_3= ';' )? int alt71=2; int LA71_0 = input.LA(1); if ( (LA71_0==65) ) { alt71=1; } switch (alt71) { case 1 : // InternalXcore.g:3179:4: otherlv_3= ';' { otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_69); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); } } break; } } break; default : break loop72; } } while (true); otherlv_4=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXBlockExpressionAccess().getRightCurlyBracketKeyword_3()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXBlockExpression" // $ANTLR start "entryRuleXGenericType" // InternalXcore.g:3195:1: entryRuleXGenericType returns [EObject current=null] : iv_ruleXGenericType= ruleXGenericType EOF ; public final EObject entryRuleXGenericType() throws RecognitionException { EObject current = null; EObject iv_ruleXGenericType = null; try { // InternalXcore.g:3196:2: (iv_ruleXGenericType= ruleXGenericType EOF ) // InternalXcore.g:3197:2: iv_ruleXGenericType= ruleXGenericType EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXGenericTypeRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXGenericType=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXGenericType; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXGenericType" // $ANTLR start "ruleXGenericType" // InternalXcore.g:3204:1: ruleXGenericType returns [EObject current=null] : ( ( ( ruleXQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )? ) ; public final EObject ruleXGenericType() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; EObject lv_typeArguments_2_0 = null; EObject lv_typeArguments_4_0 = null; enterRule(); try { // InternalXcore.g:3207:28: ( ( ( ( ruleXQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )? ) ) // InternalXcore.g:3208:1: ( ( ( ruleXQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )? ) { // InternalXcore.g:3208:1: ( ( ( ruleXQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )? ) // InternalXcore.g:3208:2: ( ( ruleXQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )? { // InternalXcore.g:3208:2: ( ( ruleXQualifiedName ) ) // InternalXcore.g:3209:1: ( ruleXQualifiedName ) { // InternalXcore.g:3209:1: ( ruleXQualifiedName ) // InternalXcore.g:3210:3: ruleXQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXGenericTypeRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXGenericTypeAccess().getTypeGenBaseCrossReference_0_0()); } pushFollow(FollowSets000.FOLLOW_71); ruleXQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:3223:2: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' )? int alt74=2; int LA74_0 = input.LA(1); if ( (LA74_0==23) && (synpred3_InternalXcore())) { alt74=1; } switch (alt74) { case 1 : // InternalXcore.g:3223:3: ( ( '<' )=>otherlv_1= '<' ) ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* otherlv_5= '>' { // InternalXcore.g:3223:3: ( ( '<' )=>otherlv_1= '<' ) // InternalXcore.g:3223:4: ( '<' )=>otherlv_1= '<' { otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_72); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXGenericTypeAccess().getLessThanSignKeyword_1_0()); } } // InternalXcore.g:3228:2: ( (lv_typeArguments_2_0= ruleXGenericTypeArgument ) ) // InternalXcore.g:3229:1: (lv_typeArguments_2_0= ruleXGenericTypeArgument ) { // InternalXcore.g:3229:1: (lv_typeArguments_2_0= ruleXGenericTypeArgument ) // InternalXcore.g:3230:3: lv_typeArguments_2_0= ruleXGenericTypeArgument { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXGenericTypeAccess().getTypeArgumentsXGenericTypeArgumentParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeArguments_2_0=ruleXGenericTypeArgument(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXGenericTypeRule()); } add( current, "typeArguments", lv_typeArguments_2_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericTypeArgument"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:3246:2: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) )* loop73: do { int alt73=2; int LA73_0 = input.LA(1); if ( (LA73_0==16) ) { alt73=1; } switch (alt73) { case 1 : // InternalXcore.g:3246:4: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) { otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_72); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXGenericTypeAccess().getCommaKeyword_1_2_0()); } // InternalXcore.g:3250:1: ( (lv_typeArguments_4_0= ruleXGenericTypeArgument ) ) // InternalXcore.g:3251:1: (lv_typeArguments_4_0= ruleXGenericTypeArgument ) { // InternalXcore.g:3251:1: (lv_typeArguments_4_0= ruleXGenericTypeArgument ) // InternalXcore.g:3252:3: lv_typeArguments_4_0= ruleXGenericTypeArgument { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXGenericTypeAccess().getTypeArgumentsXGenericTypeArgumentParserRuleCall_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeArguments_4_0=ruleXGenericTypeArgument(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXGenericTypeRule()); } add( current, "typeArguments", lv_typeArguments_4_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericTypeArgument"); afterParserOrEnumRuleCall(); } } } } break; default : break loop73; } } while (true); otherlv_5=(Token)match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXGenericTypeAccess().getGreaterThanSignKeyword_1_3()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXGenericType" // $ANTLR start "entryRuleXGenericTypeArgument" // InternalXcore.g:3280:1: entryRuleXGenericTypeArgument returns [EObject current=null] : iv_ruleXGenericTypeArgument= ruleXGenericTypeArgument EOF ; public final EObject entryRuleXGenericTypeArgument() throws RecognitionException { EObject current = null; EObject iv_ruleXGenericTypeArgument = null; try { // InternalXcore.g:3281:2: (iv_ruleXGenericTypeArgument= ruleXGenericTypeArgument EOF ) // InternalXcore.g:3282:2: iv_ruleXGenericTypeArgument= ruleXGenericTypeArgument EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXGenericTypeArgumentRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXGenericTypeArgument=ruleXGenericTypeArgument(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXGenericTypeArgument; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXGenericTypeArgument" // $ANTLR start "ruleXGenericTypeArgument" // InternalXcore.g:3289:1: ruleXGenericTypeArgument returns [EObject current=null] : (this_XGenericType_0= ruleXGenericType | this_XGenericWildcardTypeArgument_1= ruleXGenericWildcardTypeArgument ) ; public final EObject ruleXGenericTypeArgument() throws RecognitionException { EObject current = null; EObject this_XGenericType_0 = null; EObject this_XGenericWildcardTypeArgument_1 = null; enterRule(); try { // InternalXcore.g:3292:28: ( (this_XGenericType_0= ruleXGenericType | this_XGenericWildcardTypeArgument_1= ruleXGenericWildcardTypeArgument ) ) // InternalXcore.g:3293:1: (this_XGenericType_0= ruleXGenericType | this_XGenericWildcardTypeArgument_1= ruleXGenericWildcardTypeArgument ) { // InternalXcore.g:3293:1: (this_XGenericType_0= ruleXGenericType | this_XGenericWildcardTypeArgument_1= ruleXGenericWildcardTypeArgument ) int alt75=2; int LA75_0 = input.LA(1); if ( (LA75_0==RULE_ID||(LA75_0>=44 && LA75_0<=47)) ) { alt75=1; } else if ( (LA75_0==60) ) { alt75=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 75, 0, input); throw nvae; } switch (alt75) { case 1 : // InternalXcore.g:3294:5: this_XGenericType_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXGenericTypeArgumentAccess().getXGenericTypeParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_XGenericType_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XGenericType_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:3304:5: this_XGenericWildcardTypeArgument_1= ruleXGenericWildcardTypeArgument { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXGenericTypeArgumentAccess().getXGenericWildcardTypeArgumentParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_2); this_XGenericWildcardTypeArgument_1=ruleXGenericWildcardTypeArgument(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XGenericWildcardTypeArgument_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXGenericTypeArgument" // $ANTLR start "entryRuleXGenericWildcardTypeArgument" // InternalXcore.g:3320:1: entryRuleXGenericWildcardTypeArgument returns [EObject current=null] : iv_ruleXGenericWildcardTypeArgument= ruleXGenericWildcardTypeArgument EOF ; public final EObject entryRuleXGenericWildcardTypeArgument() throws RecognitionException { EObject current = null; EObject iv_ruleXGenericWildcardTypeArgument = null; try { // InternalXcore.g:3321:2: (iv_ruleXGenericWildcardTypeArgument= ruleXGenericWildcardTypeArgument EOF ) // InternalXcore.g:3322:2: iv_ruleXGenericWildcardTypeArgument= ruleXGenericWildcardTypeArgument EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXGenericWildcardTypeArgumentRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXGenericWildcardTypeArgument=ruleXGenericWildcardTypeArgument(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXGenericWildcardTypeArgument; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXGenericWildcardTypeArgument" // $ANTLR start "ruleXGenericWildcardTypeArgument" // InternalXcore.g:3329:1: ruleXGenericWildcardTypeArgument returns [EObject current=null] : ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )? ) ; public final EObject ruleXGenericWildcardTypeArgument() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; EObject lv_upperBound_3_0 = null; EObject lv_lowerBound_5_0 = null; enterRule(); try { // InternalXcore.g:3332:28: ( ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )? ) ) // InternalXcore.g:3333:1: ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )? ) { // InternalXcore.g:3333:1: ( () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )? ) // InternalXcore.g:3333:2: () otherlv_1= '?' ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )? { // InternalXcore.g:3333:2: () // InternalXcore.g:3334:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXGenericWildcardTypeArgumentAccess().getXGenericTypeAction_0(), current); } } otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_73); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXGenericWildcardTypeArgumentAccess().getQuestionMarkKeyword_1()); } // InternalXcore.g:3343:1: ( (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) | (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) )? int alt76=3; int LA76_0 = input.LA(1); if ( (LA76_0==35) ) { alt76=1; } else if ( (LA76_0==66) ) { alt76=2; } switch (alt76) { case 1 : // InternalXcore.g:3343:2: (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) { // InternalXcore.g:3343:2: (otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) ) // InternalXcore.g:3343:4: otherlv_2= 'extends' ( (lv_upperBound_3_0= ruleXGenericType ) ) { otherlv_2=(Token)match(input,35,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXGenericWildcardTypeArgumentAccess().getExtendsKeyword_2_0_0()); } // InternalXcore.g:3347:1: ( (lv_upperBound_3_0= ruleXGenericType ) ) // InternalXcore.g:3348:1: (lv_upperBound_3_0= ruleXGenericType ) { // InternalXcore.g:3348:1: (lv_upperBound_3_0= ruleXGenericType ) // InternalXcore.g:3349:3: lv_upperBound_3_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXGenericWildcardTypeArgumentAccess().getUpperBoundXGenericTypeParserRuleCall_2_0_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_upperBound_3_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXGenericWildcardTypeArgumentRule()); } set( current, "upperBound", lv_upperBound_3_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalXcore.g:3366:6: (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) { // InternalXcore.g:3366:6: (otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) ) // InternalXcore.g:3366:8: otherlv_4= 'super' ( (lv_lowerBound_5_0= ruleXGenericType ) ) { otherlv_4=(Token)match(input,66,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXGenericWildcardTypeArgumentAccess().getSuperKeyword_2_1_0()); } // InternalXcore.g:3370:1: ( (lv_lowerBound_5_0= ruleXGenericType ) ) // InternalXcore.g:3371:1: (lv_lowerBound_5_0= ruleXGenericType ) { // InternalXcore.g:3371:1: (lv_lowerBound_5_0= ruleXGenericType ) // InternalXcore.g:3372:3: lv_lowerBound_5_0= ruleXGenericType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXGenericWildcardTypeArgumentAccess().getLowerBoundXGenericTypeParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_lowerBound_5_0=ruleXGenericType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXGenericWildcardTypeArgumentRule()); } set( current, "lowerBound", lv_lowerBound_5_0, "org.eclipse.emf.ecore.xcore.Xcore.XGenericType"); afterParserOrEnumRuleCall(); } } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXGenericWildcardTypeArgument" // $ANTLR start "entryRuleXQualifiedName" // InternalXcore.g:3396:1: entryRuleXQualifiedName returns [String current=null] : iv_ruleXQualifiedName= ruleXQualifiedName EOF ; public final String entryRuleXQualifiedName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleXQualifiedName = null; try { // InternalXcore.g:3397:2: (iv_ruleXQualifiedName= ruleXQualifiedName EOF ) // InternalXcore.g:3398:2: iv_ruleXQualifiedName= ruleXQualifiedName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXQualifiedNameRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXQualifiedName=ruleXQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXQualifiedName.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXQualifiedName" // $ANTLR start "ruleXQualifiedName" // InternalXcore.g:3405:1: ruleXQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_XID_0= ruleXID (kw= '.' this_XID_2= ruleXID )* ) ; public final AntlrDatatypeRuleToken ruleXQualifiedName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_XID_0 = null; AntlrDatatypeRuleToken this_XID_2 = null; enterRule(); try { // InternalXcore.g:3408:28: ( (this_XID_0= ruleXID (kw= '.' this_XID_2= ruleXID )* ) ) // InternalXcore.g:3409:1: (this_XID_0= ruleXID (kw= '.' this_XID_2= ruleXID )* ) { // InternalXcore.g:3409:1: (this_XID_0= ruleXID (kw= '.' this_XID_2= ruleXID )* ) // InternalXcore.g:3410:5: this_XID_0= ruleXID (kw= '.' this_XID_2= ruleXID )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXQualifiedNameAccess().getXIDParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_74); this_XID_0=ruleXID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_XID_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } // InternalXcore.g:3420:1: (kw= '.' this_XID_2= ruleXID )* loop77: do { int alt77=2; int LA77_0 = input.LA(1); if ( (LA77_0==67) ) { alt77=1; } switch (alt77) { case 1 : // InternalXcore.g:3421:2: kw= '.' this_XID_2= ruleXID { kw=(Token)match(input,67,FollowSets000.FOLLOW_8); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXQualifiedNameAccess().getFullStopKeyword_1_0()); } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXQualifiedNameAccess().getXIDParserRuleCall_1_1()); } pushFollow(FollowSets000.FOLLOW_74); this_XID_2=ruleXID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_XID_2); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; default : break loop77; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXQualifiedName" // $ANTLR start "entryRuleXID" // InternalXcore.g:3445:1: entryRuleXID returns [String current=null] : iv_ruleXID= ruleXID EOF ; public final String entryRuleXID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleXID = null; try { // InternalXcore.g:3446:2: (iv_ruleXID= ruleXID EOF ) // InternalXcore.g:3447:2: iv_ruleXID= ruleXID EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIDRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXID=ruleXID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXID.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXID" // $ANTLR start "ruleXID" // InternalXcore.g:3454:1: ruleXID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | kw= 'get' | kw= 'isSet' | kw= 'set' | kw= 'unset' ) ; public final AntlrDatatypeRuleToken ruleXID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_ID_0=null; Token kw=null; enterRule(); try { // InternalXcore.g:3457:28: ( (this_ID_0= RULE_ID | kw= 'get' | kw= 'isSet' | kw= 'set' | kw= 'unset' ) ) // InternalXcore.g:3458:1: (this_ID_0= RULE_ID | kw= 'get' | kw= 'isSet' | kw= 'set' | kw= 'unset' ) { // InternalXcore.g:3458:1: (this_ID_0= RULE_ID | kw= 'get' | kw= 'isSet' | kw= 'set' | kw= 'unset' ) int alt78=5; switch ( input.LA(1) ) { case RULE_ID: { alt78=1; } break; case 44: { alt78=2; } break; case 46: { alt78=3; } break; case 45: { alt78=4; } break; case 47: { alt78=5; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 78, 0, input); throw nvae; } switch (alt78) { case 1 : // InternalXcore.g:3458:6: this_ID_0= RULE_ID { this_ID_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_ID_0); } if ( state.backtracking==0 ) { newLeafNode(this_ID_0, grammarAccess.getXIDAccess().getIDTerminalRuleCall_0()); } } break; case 2 : // InternalXcore.g:3467:2: kw= 'get' { kw=(Token)match(input,44,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXIDAccess().getGetKeyword_1()); } } break; case 3 : // InternalXcore.g:3474:2: kw= 'isSet' { kw=(Token)match(input,46,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXIDAccess().getIsSetKeyword_2()); } } break; case 4 : // InternalXcore.g:3481:2: kw= 'set' { kw=(Token)match(input,45,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXIDAccess().getSetKeyword_3()); } } break; case 5 : // InternalXcore.g:3488:2: kw= 'unset' { kw=(Token)match(input,47,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getXIDAccess().getUnsetKeyword_4()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXID" // $ANTLR start "entryRuleValidID" // InternalXcore.g:3501:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ; public final String entryRuleValidID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleValidID = null; try { // InternalXcore.g:3502:2: (iv_ruleValidID= ruleValidID EOF ) // InternalXcore.g:3503:2: iv_ruleValidID= ruleValidID EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getValidIDRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleValidID=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleValidID.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleValidID" // $ANTLR start "ruleValidID" // InternalXcore.g:3510:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_XID_0= ruleXID | kw= 'void' ) ; public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_XID_0 = null; enterRule(); try { // InternalXcore.g:3513:28: ( (this_XID_0= ruleXID | kw= 'void' ) ) // InternalXcore.g:3514:1: (this_XID_0= ruleXID | kw= 'void' ) { // InternalXcore.g:3514:1: (this_XID_0= ruleXID | kw= 'void' ) int alt79=2; int LA79_0 = input.LA(1); if ( (LA79_0==RULE_ID||(LA79_0>=44 && LA79_0<=47)) ) { alt79=1; } else if ( (LA79_0==56) ) { alt79=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 79, 0, input); throw nvae; } switch (alt79) { case 1 : // InternalXcore.g:3515:5: this_XID_0= ruleXID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getValidIDAccess().getXIDParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_XID_0=ruleXID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_XID_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:3527:2: kw= 'void' { kw=(Token)match(input,56,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getValidIDAccess().getVoidKeyword_1()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleValidID" // $ANTLR start "entryRuleFeatureCallID" // InternalXcore.g:3540:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ; public final String entryRuleFeatureCallID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleFeatureCallID = null; try { // InternalXcore.g:3541:2: (iv_ruleFeatureCallID= ruleFeatureCallID EOF ) // InternalXcore.g:3542:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFeatureCallIDRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleFeatureCallID=ruleFeatureCallID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFeatureCallID.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFeatureCallID" // $ANTLR start "ruleFeatureCallID" // InternalXcore.g:3549:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'abstract' | kw= 'annotation' | kw= 'as' | kw= 'class' | kw= 'container' | kw= 'contains' | kw= 'convert' | kw= 'create' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'extension' | kw= 'id' | kw= 'import' | kw= 'keys' | kw= 'interface' | kw= 'local' | kw= 'op' | kw= 'opposite' | kw= 'package' | kw= 'readonly' | kw= 'refers' | kw= 'resolving' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unordered' | kw= 'unsettable' | kw= 'volatile' | kw= 'wraps' ) ; public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_ValidID_0 = null; enterRule(); try { // InternalXcore.g:3552:28: ( (this_ValidID_0= ruleValidID | kw= 'abstract' | kw= 'annotation' | kw= 'as' | kw= 'class' | kw= 'container' | kw= 'contains' | kw= 'convert' | kw= 'create' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'extension' | kw= 'id' | kw= 'import' | kw= 'keys' | kw= 'interface' | kw= 'local' | kw= 'op' | kw= 'opposite' | kw= 'package' | kw= 'readonly' | kw= 'refers' | kw= 'resolving' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unordered' | kw= 'unsettable' | kw= 'volatile' | kw= 'wraps' ) ) // InternalXcore.g:3553:1: (this_ValidID_0= ruleValidID | kw= 'abstract' | kw= 'annotation' | kw= 'as' | kw= 'class' | kw= 'container' | kw= 'contains' | kw= 'convert' | kw= 'create' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'extension' | kw= 'id' | kw= 'import' | kw= 'keys' | kw= 'interface' | kw= 'local' | kw= 'op' | kw= 'opposite' | kw= 'package' | kw= 'readonly' | kw= 'refers' | kw= 'resolving' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unordered' | kw= 'unsettable' | kw= 'volatile' | kw= 'wraps' ) { // InternalXcore.g:3553:1: (this_ValidID_0= ruleValidID | kw= 'abstract' | kw= 'annotation' | kw= 'as' | kw= 'class' | kw= 'container' | kw= 'contains' | kw= 'convert' | kw= 'create' | kw= 'derived' | kw= 'enum' | kw= 'extends' | kw= 'extension' | kw= 'id' | kw= 'import' | kw= 'keys' | kw= 'interface' | kw= 'local' | kw= 'op' | kw= 'opposite' | kw= 'package' | kw= 'readonly' | kw= 'refers' | kw= 'resolving' | kw= 'static' | kw= 'throws' | kw= 'transient' | kw= 'unique' | kw= 'unordered' | kw= 'unsettable' | kw= 'volatile' | kw= 'wraps' ) int alt80=32; switch ( input.LA(1) ) { case RULE_ID: case 44: case 45: case 46: case 47: case 56: { alt80=1; } break; case 32: { alt80=2; } break; case 20: { alt80=3; } break; case 21: { alt80=4; } break; case 33: { alt80=5; } break; case 50: { alt80=6; } break; case 48: { alt80=7; } break; case 27: { alt80=8; } break; case 26: { alt80=9; } break; case 42: { alt80=10; } break; case 28: { alt80=11; } break; case 35: { alt80=12; } break; case 68: { alt80=13; } break; case 43: { alt80=14; } break; case 19: { alt80=15; } break; case 54: { alt80=16; } break; case 34: { alt80=17; } break; case 52: { alt80=18; } break; case 55: { alt80=19; } break; case 53: { alt80=20; } break; case 13: { alt80=21; } break; case 38: { alt80=22; } break; case 51: { alt80=23; } break; case 49: { alt80=24; } break; case 69: { alt80=25; } break; case 57: { alt80=26; } break; case 39: { alt80=27; } break; case 37: { alt80=28; } break; case 36: { alt80=29; } break; case 41: { alt80=30; } break; case 40: { alt80=31; } break; case 25: { alt80=32; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 80, 0, input); throw nvae; } switch (alt80) { case 1 : // InternalXcore.g:3554:5: this_ValidID_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_ValidID_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_ValidID_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:3566:2: kw= 'abstract' { kw=(Token)match(input,32,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getAbstractKeyword_1()); } } break; case 3 : // InternalXcore.g:3573:2: kw= 'annotation' { kw=(Token)match(input,20,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getAnnotationKeyword_2()); } } break; case 4 : // InternalXcore.g:3580:2: kw= 'as' { kw=(Token)match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getAsKeyword_3()); } } break; case 5 : // InternalXcore.g:3587:2: kw= 'class' { kw=(Token)match(input,33,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getClassKeyword_4()); } } break; case 6 : // InternalXcore.g:3594:2: kw= 'container' { kw=(Token)match(input,50,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getContainerKeyword_5()); } } break; case 7 : // InternalXcore.g:3601:2: kw= 'contains' { kw=(Token)match(input,48,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getContainsKeyword_6()); } } break; case 8 : // InternalXcore.g:3608:2: kw= 'convert' { kw=(Token)match(input,27,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getConvertKeyword_7()); } } break; case 9 : // InternalXcore.g:3615:2: kw= 'create' { kw=(Token)match(input,26,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getCreateKeyword_8()); } } break; case 10 : // InternalXcore.g:3622:2: kw= 'derived' { kw=(Token)match(input,42,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getDerivedKeyword_9()); } } break; case 11 : // InternalXcore.g:3629:2: kw= 'enum' { kw=(Token)match(input,28,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getEnumKeyword_10()); } } break; case 12 : // InternalXcore.g:3636:2: kw= 'extends' { kw=(Token)match(input,35,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_11()); } } break; case 13 : // InternalXcore.g:3643:2: kw= 'extension' { kw=(Token)match(input,68,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_12()); } } break; case 14 : // InternalXcore.g:3650:2: kw= 'id' { kw=(Token)match(input,43,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getIdKeyword_13()); } } break; case 15 : // InternalXcore.g:3657:2: kw= 'import' { kw=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_14()); } } break; case 16 : // InternalXcore.g:3664:2: kw= 'keys' { kw=(Token)match(input,54,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getKeysKeyword_15()); } } break; case 17 : // InternalXcore.g:3671:2: kw= 'interface' { kw=(Token)match(input,34,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getInterfaceKeyword_16()); } } break; case 18 : // InternalXcore.g:3678:2: kw= 'local' { kw=(Token)match(input,52,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getLocalKeyword_17()); } } break; case 19 : // InternalXcore.g:3685:2: kw= 'op' { kw=(Token)match(input,55,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getOpKeyword_18()); } } break; case 20 : // InternalXcore.g:3692:2: kw= 'opposite' { kw=(Token)match(input,53,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getOppositeKeyword_19()); } } break; case 21 : // InternalXcore.g:3699:2: kw= 'package' { kw=(Token)match(input,13,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getPackageKeyword_20()); } } break; case 22 : // InternalXcore.g:3706:2: kw= 'readonly' { kw=(Token)match(input,38,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getReadonlyKeyword_21()); } } break; case 23 : // InternalXcore.g:3713:2: kw= 'refers' { kw=(Token)match(input,51,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getRefersKeyword_22()); } } break; case 24 : // InternalXcore.g:3720:2: kw= 'resolving' { kw=(Token)match(input,49,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getResolvingKeyword_23()); } } break; case 25 : // InternalXcore.g:3727:2: kw= 'static' { kw=(Token)match(input,69,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_24()); } } break; case 26 : // InternalXcore.g:3734:2: kw= 'throws' { kw=(Token)match(input,57,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getThrowsKeyword_25()); } } break; case 27 : // InternalXcore.g:3741:2: kw= 'transient' { kw=(Token)match(input,39,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getTransientKeyword_26()); } } break; case 28 : // InternalXcore.g:3748:2: kw= 'unique' { kw=(Token)match(input,37,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getUniqueKeyword_27()); } } break; case 29 : // InternalXcore.g:3755:2: kw= 'unordered' { kw=(Token)match(input,36,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getUnorderedKeyword_28()); } } break; case 30 : // InternalXcore.g:3762:2: kw= 'unsettable' { kw=(Token)match(input,41,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getUnsettableKeyword_29()); } } break; case 31 : // InternalXcore.g:3769:2: kw= 'volatile' { kw=(Token)match(input,40,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getVolatileKeyword_30()); } } break; case 32 : // InternalXcore.g:3776:2: kw= 'wraps' { kw=(Token)match(input,25,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getWrapsKeyword_31()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFeatureCallID" // $ANTLR start "entryRuleXExpression" // InternalXcore.g:3789:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ; public final EObject entryRuleXExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXExpression = null; try { // InternalXcore.g:3790:2: (iv_ruleXExpression= ruleXExpression EOF ) // InternalXcore.g:3791:2: iv_ruleXExpression= ruleXExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXExpression=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXExpression" // $ANTLR start "ruleXExpression" // InternalXcore.g:3798:1: ruleXExpression returns [EObject current=null] : this_XAssignment_0= ruleXAssignment ; public final EObject ruleXExpression() throws RecognitionException { EObject current = null; EObject this_XAssignment_0 = null; enterRule(); try { // InternalXcore.g:3801:28: (this_XAssignment_0= ruleXAssignment ) // InternalXcore.g:3803:5: this_XAssignment_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_2); this_XAssignment_0=ruleXAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAssignment_0; afterParserOrEnumRuleCall(); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXExpression" // $ANTLR start "entryRuleXAssignment" // InternalXcore.g:3819:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ; public final EObject entryRuleXAssignment() throws RecognitionException { EObject current = null; EObject iv_ruleXAssignment = null; try { // InternalXcore.g:3820:2: (iv_ruleXAssignment= ruleXAssignment EOF ) // InternalXcore.g:3821:2: iv_ruleXAssignment= ruleXAssignment EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXAssignment=ruleXAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAssignment; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAssignment" // $ANTLR start "ruleXAssignment" // InternalXcore.g:3828:1: ruleXAssignment returns [EObject current=null] : ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ; public final EObject ruleXAssignment() throws RecognitionException { EObject current = null; EObject lv_value_3_0 = null; EObject this_XOrExpression_4 = null; EObject lv_rightOperand_7_0 = null; enterRule(); try { // InternalXcore.g:3831:28: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ) // InternalXcore.g:3832:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) { // InternalXcore.g:3832:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) int alt82=2; alt82 = dfa82.predict(input); switch (alt82) { case 1 : // InternalXcore.g:3832:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) { // InternalXcore.g:3832:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) // InternalXcore.g:3832:3: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) { // InternalXcore.g:3832:3: () // InternalXcore.g:3833:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), current); } } // InternalXcore.g:3838:2: ( ( ruleFeatureCallID ) ) // InternalXcore.g:3839:1: ( ruleFeatureCallID ) { // InternalXcore.g:3839:1: ( ruleFeatureCallID ) // InternalXcore.g:3840:3: ruleFeatureCallID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAssignmentRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } pushFollow(FollowSets000.FOLLOW_11); ruleFeatureCallID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } // InternalXcore.g:3861:1: ( (lv_value_3_0= ruleXAssignment ) ) // InternalXcore.g:3862:1: (lv_value_3_0= ruleXAssignment ) { // InternalXcore.g:3862:1: (lv_value_3_0= ruleXAssignment ) // InternalXcore.g:3863:3: lv_value_3_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_value_3_0=ruleXAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAssignmentRule()); } set( current, "value", lv_value_3_0, "org.eclipse.xtext.xbase.Xbase.XAssignment"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalXcore.g:3880:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) { // InternalXcore.g:3880:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) // InternalXcore.g:3881:5: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_76); this_XOrExpression_4=ruleXOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XOrExpression_4; afterParserOrEnumRuleCall(); } // InternalXcore.g:3889:1: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? int alt81=2; alt81 = dfa81.predict(input); switch (alt81) { case 1 : // InternalXcore.g:3889:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) { // InternalXcore.g:3889:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) // InternalXcore.g:3889:3: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) { // InternalXcore.g:3894:6: ( () ( ( ruleOpMultiAssign ) ) ) // InternalXcore.g:3894:7: () ( ( ruleOpMultiAssign ) ) { // InternalXcore.g:3894:7: () // InternalXcore.g:3895:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), current); } } // InternalXcore.g:3900:2: ( ( ruleOpMultiAssign ) ) // InternalXcore.g:3901:1: ( ruleOpMultiAssign ) { // InternalXcore.g:3901:1: ( ruleOpMultiAssign ) // InternalXcore.g:3902:3: ruleOpMultiAssign { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAssignmentRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpMultiAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalXcore.g:3915:4: ( (lv_rightOperand_7_0= ruleXAssignment ) ) // InternalXcore.g:3916:1: (lv_rightOperand_7_0= ruleXAssignment ) { // InternalXcore.g:3916:1: (lv_rightOperand_7_0= ruleXAssignment ) // InternalXcore.g:3917:3: lv_rightOperand_7_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_rightOperand_7_0=ruleXAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAssignmentRule()); } set( current, "rightOperand", lv_rightOperand_7_0, "org.eclipse.xtext.xbase.Xbase.XAssignment"); afterParserOrEnumRuleCall(); } } } } break; } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAssignment" // $ANTLR start "entryRuleOpSingleAssign" // InternalXcore.g:3941:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ; public final String entryRuleOpSingleAssign() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null; try { // InternalXcore.g:3942:2: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ) // InternalXcore.g:3943:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpSingleAssignRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpSingleAssign=ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpSingleAssign.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpSingleAssign" // $ANTLR start "ruleOpSingleAssign" // InternalXcore.g:3950:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ; public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:3953:28: (kw= '=' ) // InternalXcore.g:3955:2: kw= '=' { kw=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpSingleAssignAccess().getEqualsSignKeyword()); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpSingleAssign" // $ANTLR start "entryRuleOpMultiAssign" // InternalXcore.g:3968:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ; public final String entryRuleOpMultiAssign() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null; try { // InternalXcore.g:3969:2: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ) // InternalXcore.g:3970:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpMultiAssignRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpMultiAssign=ruleOpMultiAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpMultiAssign.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpMultiAssign" // $ANTLR start "ruleOpMultiAssign" // InternalXcore.g:3977:1: ruleOpMultiAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ; public final AntlrDatatypeRuleToken ruleOpMultiAssign() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:3980:28: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ) // InternalXcore.g:3981:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) { // InternalXcore.g:3981:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) int alt84=7; switch ( input.LA(1) ) { case 70: { alt84=1; } break; case 71: { alt84=2; } break; case 72: { alt84=3; } break; case 73: { alt84=4; } break; case 74: { alt84=5; } break; case 23: { alt84=6; } break; case 24: { alt84=7; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 84, 0, input); throw nvae; } switch (alt84) { case 1 : // InternalXcore.g:3982:2: kw= '+=' { kw=(Token)match(input,70,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); } } break; case 2 : // InternalXcore.g:3989:2: kw= '-=' { kw=(Token)match(input,71,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); } } break; case 3 : // InternalXcore.g:3996:2: kw= '*=' { kw=(Token)match(input,72,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); } } break; case 4 : // InternalXcore.g:4003:2: kw= '/=' { kw=(Token)match(input,73,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); } } break; case 5 : // InternalXcore.g:4010:2: kw= '%=' { kw=(Token)match(input,74,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); } } break; case 6 : // InternalXcore.g:4016:6: (kw= '<' kw= '<' kw= '=' ) { // InternalXcore.g:4016:6: (kw= '<' kw= '<' kw= '=' ) // InternalXcore.g:4017:2: kw= '<' kw= '<' kw= '=' { kw=(Token)match(input,23,FollowSets000.FOLLOW_77); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); } kw=(Token)match(input,23,FollowSets000.FOLLOW_11); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); } kw=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); } } } break; case 7 : // InternalXcore.g:4035:6: (kw= '>' (kw= '>' )? kw= '>=' ) { // InternalXcore.g:4035:6: (kw= '>' (kw= '>' )? kw= '>=' ) // InternalXcore.g:4036:2: kw= '>' (kw= '>' )? kw= '>=' { kw=(Token)match(input,24,FollowSets000.FOLLOW_78); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); } // InternalXcore.g:4041:1: (kw= '>' )? int alt83=2; int LA83_0 = input.LA(1); if ( (LA83_0==24) ) { alt83=1; } switch (alt83) { case 1 : // InternalXcore.g:4042:2: kw= '>' { kw=(Token)match(input,24,FollowSets000.FOLLOW_79); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); } } break; } kw=(Token)match(input,75,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignEqualsSignKeyword_6_2()); } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpMultiAssign" // $ANTLR start "entryRuleXOrExpression" // InternalXcore.g:4061:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ; public final EObject entryRuleXOrExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXOrExpression = null; try { // InternalXcore.g:4062:2: (iv_ruleXOrExpression= ruleXOrExpression EOF ) // InternalXcore.g:4063:2: iv_ruleXOrExpression= ruleXOrExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXOrExpression=ruleXOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXOrExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXOrExpression" // $ANTLR start "ruleXOrExpression" // InternalXcore.g:4070:1: ruleXOrExpression returns [EObject current=null] : (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ; public final EObject ruleXOrExpression() throws RecognitionException { EObject current = null; EObject this_XAndExpression_0 = null; EObject lv_rightOperand_3_0 = null; enterRule(); try { // InternalXcore.g:4073:28: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ) // InternalXcore.g:4074:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) { // InternalXcore.g:4074:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) // InternalXcore.g:4075:5: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_80); this_XAndExpression_0=ruleXAndExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAndExpression_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:4083:1: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* loop85: do { int alt85=2; int LA85_0 = input.LA(1); if ( (LA85_0==76) ) { int LA85_2 = input.LA(2); if ( (synpred5_InternalXcore()) ) { alt85=1; } } switch (alt85) { case 1 : // InternalXcore.g:4083:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) { // InternalXcore.g:4083:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) // InternalXcore.g:4083:3: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) { // InternalXcore.g:4088:6: ( () ( ( ruleOpOr ) ) ) // InternalXcore.g:4088:7: () ( ( ruleOpOr ) ) { // InternalXcore.g:4088:7: () // InternalXcore.g:4089:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalXcore.g:4094:2: ( ( ruleOpOr ) ) // InternalXcore.g:4095:1: ( ruleOpOr ) { // InternalXcore.g:4095:1: ( ruleOpOr ) // InternalXcore.g:4096:3: ruleOpOr { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXOrExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpOr(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalXcore.g:4109:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) ) // InternalXcore.g:4110:1: (lv_rightOperand_3_0= ruleXAndExpression ) { // InternalXcore.g:4110:1: (lv_rightOperand_3_0= ruleXAndExpression ) // InternalXcore.g:4111:3: lv_rightOperand_3_0= ruleXAndExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_80); lv_rightOperand_3_0=ruleXAndExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOrExpressionRule()); } set( current, "rightOperand", lv_rightOperand_3_0, "org.eclipse.xtext.xbase.Xbase.XAndExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop85; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXOrExpression" // $ANTLR start "entryRuleOpOr" // InternalXcore.g:4135:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ; public final String entryRuleOpOr() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpOr = null; try { // InternalXcore.g:4136:2: (iv_ruleOpOr= ruleOpOr EOF ) // InternalXcore.g:4137:2: iv_ruleOpOr= ruleOpOr EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpOrRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpOr=ruleOpOr(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpOr.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpOr" // $ANTLR start "ruleOpOr" // InternalXcore.g:4144:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ; public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:4147:28: (kw= '||' ) // InternalXcore.g:4149:2: kw= '||' { kw=(Token)match(input,76,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword()); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpOr" // $ANTLR start "entryRuleXAndExpression" // InternalXcore.g:4162:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ; public final EObject entryRuleXAndExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXAndExpression = null; try { // InternalXcore.g:4163:2: (iv_ruleXAndExpression= ruleXAndExpression EOF ) // InternalXcore.g:4164:2: iv_ruleXAndExpression= ruleXAndExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXAndExpression=ruleXAndExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAndExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAndExpression" // $ANTLR start "ruleXAndExpression" // InternalXcore.g:4171:1: ruleXAndExpression returns [EObject current=null] : (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ; public final EObject ruleXAndExpression() throws RecognitionException { EObject current = null; EObject this_XEqualityExpression_0 = null; EObject lv_rightOperand_3_0 = null; enterRule(); try { // InternalXcore.g:4174:28: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ) // InternalXcore.g:4175:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) { // InternalXcore.g:4175:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) // InternalXcore.g:4176:5: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_81); this_XEqualityExpression_0=ruleXEqualityExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XEqualityExpression_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:4184:1: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* loop86: do { int alt86=2; int LA86_0 = input.LA(1); if ( (LA86_0==77) ) { int LA86_2 = input.LA(2); if ( (synpred6_InternalXcore()) ) { alt86=1; } } switch (alt86) { case 1 : // InternalXcore.g:4184:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) { // InternalXcore.g:4184:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) // InternalXcore.g:4184:3: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) { // InternalXcore.g:4189:6: ( () ( ( ruleOpAnd ) ) ) // InternalXcore.g:4189:7: () ( ( ruleOpAnd ) ) { // InternalXcore.g:4189:7: () // InternalXcore.g:4190:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalXcore.g:4195:2: ( ( ruleOpAnd ) ) // InternalXcore.g:4196:1: ( ruleOpAnd ) { // InternalXcore.g:4196:1: ( ruleOpAnd ) // InternalXcore.g:4197:3: ruleOpAnd { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAndExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpAnd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalXcore.g:4210:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) // InternalXcore.g:4211:1: (lv_rightOperand_3_0= ruleXEqualityExpression ) { // InternalXcore.g:4211:1: (lv_rightOperand_3_0= ruleXEqualityExpression ) // InternalXcore.g:4212:3: lv_rightOperand_3_0= ruleXEqualityExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_81); lv_rightOperand_3_0=ruleXEqualityExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAndExpressionRule()); } set( current, "rightOperand", lv_rightOperand_3_0, "org.eclipse.xtext.xbase.Xbase.XEqualityExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop86; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAndExpression" // $ANTLR start "entryRuleOpAnd" // InternalXcore.g:4236:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ; public final String entryRuleOpAnd() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpAnd = null; try { // InternalXcore.g:4237:2: (iv_ruleOpAnd= ruleOpAnd EOF ) // InternalXcore.g:4238:2: iv_ruleOpAnd= ruleOpAnd EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpAndRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpAnd=ruleOpAnd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpAnd.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpAnd" // $ANTLR start "ruleOpAnd" // InternalXcore.g:4245:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ; public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:4248:28: (kw= '&&' ) // InternalXcore.g:4250:2: kw= '&&' { kw=(Token)match(input,77,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword()); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpAnd" // $ANTLR start "entryRuleXEqualityExpression" // InternalXcore.g:4263:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ; public final EObject entryRuleXEqualityExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXEqualityExpression = null; try { // InternalXcore.g:4264:2: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ) // InternalXcore.g:4265:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXEqualityExpression=ruleXEqualityExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXEqualityExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXEqualityExpression" // $ANTLR start "ruleXEqualityExpression" // InternalXcore.g:4272:1: ruleXEqualityExpression returns [EObject current=null] : (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ; public final EObject ruleXEqualityExpression() throws RecognitionException { EObject current = null; EObject this_XRelationalExpression_0 = null; EObject lv_rightOperand_3_0 = null; enterRule(); try { // InternalXcore.g:4275:28: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ) // InternalXcore.g:4276:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) { // InternalXcore.g:4276:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) // InternalXcore.g:4277:5: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_82); this_XRelationalExpression_0=ruleXRelationalExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XRelationalExpression_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:4285:1: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* loop87: do { int alt87=2; switch ( input.LA(1) ) { case 78: { int LA87_2 = input.LA(2); if ( (synpred7_InternalXcore()) ) { alt87=1; } } break; case 79: { int LA87_3 = input.LA(2); if ( (synpred7_InternalXcore()) ) { alt87=1; } } break; case 80: { int LA87_4 = input.LA(2); if ( (synpred7_InternalXcore()) ) { alt87=1; } } break; case 81: { int LA87_5 = input.LA(2); if ( (synpred7_InternalXcore()) ) { alt87=1; } } break; } switch (alt87) { case 1 : // InternalXcore.g:4285:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) { // InternalXcore.g:4285:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) // InternalXcore.g:4285:3: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) { // InternalXcore.g:4290:6: ( () ( ( ruleOpEquality ) ) ) // InternalXcore.g:4290:7: () ( ( ruleOpEquality ) ) { // InternalXcore.g:4290:7: () // InternalXcore.g:4291:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalXcore.g:4296:2: ( ( ruleOpEquality ) ) // InternalXcore.g:4297:1: ( ruleOpEquality ) { // InternalXcore.g:4297:1: ( ruleOpEquality ) // InternalXcore.g:4298:3: ruleOpEquality { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXEqualityExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpEquality(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalXcore.g:4311:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) // InternalXcore.g:4312:1: (lv_rightOperand_3_0= ruleXRelationalExpression ) { // InternalXcore.g:4312:1: (lv_rightOperand_3_0= ruleXRelationalExpression ) // InternalXcore.g:4313:3: lv_rightOperand_3_0= ruleXRelationalExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_82); lv_rightOperand_3_0=ruleXRelationalExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXEqualityExpressionRule()); } set( current, "rightOperand", lv_rightOperand_3_0, "org.eclipse.xtext.xbase.Xbase.XRelationalExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop87; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXEqualityExpression" // $ANTLR start "entryRuleOpEquality" // InternalXcore.g:4337:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ; public final String entryRuleOpEquality() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpEquality = null; try { // InternalXcore.g:4338:2: (iv_ruleOpEquality= ruleOpEquality EOF ) // InternalXcore.g:4339:2: iv_ruleOpEquality= ruleOpEquality EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpEqualityRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpEquality=ruleOpEquality(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpEquality.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpEquality" // $ANTLR start "ruleOpEquality" // InternalXcore.g:4346:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ; public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:4349:28: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ) // InternalXcore.g:4350:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) { // InternalXcore.g:4350:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) int alt88=4; switch ( input.LA(1) ) { case 78: { alt88=1; } break; case 79: { alt88=2; } break; case 80: { alt88=3; } break; case 81: { alt88=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 88, 0, input); throw nvae; } switch (alt88) { case 1 : // InternalXcore.g:4351:2: kw= '==' { kw=(Token)match(input,78,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); } } break; case 2 : // InternalXcore.g:4358:2: kw= '!=' { kw=(Token)match(input,79,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); } } break; case 3 : // InternalXcore.g:4365:2: kw= '===' { kw=(Token)match(input,80,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); } } break; case 4 : // InternalXcore.g:4372:2: kw= '!==' { kw=(Token)match(input,81,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignEqualsSignKeyword_3()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpEquality" // $ANTLR start "entryRuleXRelationalExpression" // InternalXcore.g:4385:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ; public final EObject entryRuleXRelationalExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXRelationalExpression = null; try { // InternalXcore.g:4386:2: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ) // InternalXcore.g:4387:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXRelationalExpression=ruleXRelationalExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXRelationalExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXRelationalExpression" // $ANTLR start "ruleXRelationalExpression" // InternalXcore.g:4394:1: ruleXRelationalExpression returns [EObject current=null] : (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ; public final EObject ruleXRelationalExpression() throws RecognitionException { EObject current = null; Token otherlv_2=null; EObject this_XOtherOperatorExpression_0 = null; EObject lv_type_3_0 = null; EObject lv_rightOperand_6_0 = null; enterRule(); try { // InternalXcore.g:4397:28: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ) // InternalXcore.g:4398:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) { // InternalXcore.g:4398:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) // InternalXcore.g:4399:5: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_83); this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XOtherOperatorExpression_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:4407:1: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* loop89: do { int alt89=3; switch ( input.LA(1) ) { case 23: { int LA89_2 = input.LA(2); if ( (synpred9_InternalXcore()) ) { alt89=2; } } break; case 24: { int LA89_3 = input.LA(2); if ( (synpred9_InternalXcore()) ) { alt89=2; } } break; case 82: { int LA89_4 = input.LA(2); if ( (synpred8_InternalXcore()) ) { alt89=1; } } break; case 75: { int LA89_5 = input.LA(2); if ( (synpred9_InternalXcore()) ) { alt89=2; } } break; } switch (alt89) { case 1 : // InternalXcore.g:4407:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) { // InternalXcore.g:4407:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) // InternalXcore.g:4407:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) { // InternalXcore.g:4407:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) // InternalXcore.g:4407:4: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) { // InternalXcore.g:4409:5: ( () otherlv_2= 'instanceof' ) // InternalXcore.g:4409:6: () otherlv_2= 'instanceof' { // InternalXcore.g:4409:6: () // InternalXcore.g:4410:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(), current); } } otherlv_2=(Token)match(input,82,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); } } } // InternalXcore.g:4419:3: ( (lv_type_3_0= ruleJvmTypeReference ) ) // InternalXcore.g:4420:1: (lv_type_3_0= ruleJvmTypeReference ) { // InternalXcore.g:4420:1: (lv_type_3_0= ruleJvmTypeReference ) // InternalXcore.g:4421:3: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); } pushFollow(FollowSets000.FOLLOW_83); lv_type_3_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); } set( current, "type", lv_type_3_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalXcore.g:4438:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) { // InternalXcore.g:4438:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) // InternalXcore.g:4438:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) { // InternalXcore.g:4438:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) // InternalXcore.g:4438:8: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) { // InternalXcore.g:4443:6: ( () ( ( ruleOpCompare ) ) ) // InternalXcore.g:4443:7: () ( ( ruleOpCompare ) ) { // InternalXcore.g:4443:7: () // InternalXcore.g:4444:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), current); } } // InternalXcore.g:4449:2: ( ( ruleOpCompare ) ) // InternalXcore.g:4450:1: ( ruleOpCompare ) { // InternalXcore.g:4450:1: ( ruleOpCompare ) // InternalXcore.g:4451:3: ruleOpCompare { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXRelationalExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpCompare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalXcore.g:4464:4: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) // InternalXcore.g:4465:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) { // InternalXcore.g:4465:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) // InternalXcore.g:4466:3: lv_rightOperand_6_0= ruleXOtherOperatorExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_83); lv_rightOperand_6_0=ruleXOtherOperatorExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXRelationalExpressionRule()); } set( current, "rightOperand", lv_rightOperand_6_0, "org.eclipse.xtext.xbase.Xbase.XOtherOperatorExpression"); afterParserOrEnumRuleCall(); } } } } } break; default : break loop89; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXRelationalExpression" // $ANTLR start "entryRuleOpCompare" // InternalXcore.g:4490:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ; public final String entryRuleOpCompare() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpCompare = null; try { // InternalXcore.g:4491:2: (iv_ruleOpCompare= ruleOpCompare EOF ) // InternalXcore.g:4492:2: iv_ruleOpCompare= ruleOpCompare EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpCompareRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpCompare=ruleOpCompare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpCompare.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpCompare" // $ANTLR start "ruleOpCompare" // InternalXcore.g:4499:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ; public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:4502:28: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ) // InternalXcore.g:4503:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) { // InternalXcore.g:4503:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) int alt90=4; switch ( input.LA(1) ) { case 75: { alt90=1; } break; case 23: { int LA90_2 = input.LA(2); if ( (LA90_2==EOF||(LA90_2>=RULE_STRING && LA90_2<=RULE_DECIMAL)||LA90_2==13||LA90_2==15||(LA90_2>=19 && LA90_2<=21)||LA90_2==23||(LA90_2>=25 && LA90_2<=29)||(LA90_2>=31 && LA90_2<=57)||LA90_2==59||LA90_2==62||LA90_2==66||(LA90_2>=68 && LA90_2<=69)||LA90_2==91||LA90_2==96||LA90_2==98||LA90_2==100||(LA90_2>=104 && LA90_2<=106)||(LA90_2>=109 && LA90_2<=116)||LA90_2==118) ) { alt90=4; } else if ( (LA90_2==18) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 90, 2, input); throw nvae; } } break; case 24: { alt90=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 90, 0, input); throw nvae; } switch (alt90) { case 1 : // InternalXcore.g:4504:2: kw= '>=' { kw=(Token)match(input,75,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); } } break; case 2 : // InternalXcore.g:4510:6: (kw= '<' kw= '=' ) { // InternalXcore.g:4510:6: (kw= '<' kw= '=' ) // InternalXcore.g:4511:2: kw= '<' kw= '=' { kw=(Token)match(input,23,FollowSets000.FOLLOW_11); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); } kw=(Token)match(input,18,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); } } } break; case 3 : // InternalXcore.g:4524:2: kw= '>' { kw=(Token)match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); } } break; case 4 : // InternalXcore.g:4531:2: kw= '<' { kw=(Token)match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpCompare" // $ANTLR start "entryRuleXOtherOperatorExpression" // InternalXcore.g:4544:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ; public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXOtherOperatorExpression = null; try { // InternalXcore.g:4545:2: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ) // InternalXcore.g:4546:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXOtherOperatorExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXOtherOperatorExpression" // $ANTLR start "ruleXOtherOperatorExpression" // InternalXcore.g:4553:1: ruleXOtherOperatorExpression returns [EObject current=null] : (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ; public final EObject ruleXOtherOperatorExpression() throws RecognitionException { EObject current = null; EObject this_XAdditiveExpression_0 = null; EObject lv_rightOperand_3_0 = null; enterRule(); try { // InternalXcore.g:4556:28: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ) // InternalXcore.g:4557:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) { // InternalXcore.g:4557:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) // InternalXcore.g:4558:5: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_84); this_XAdditiveExpression_0=ruleXAdditiveExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAdditiveExpression_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:4566:1: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* loop91: do { int alt91=2; alt91 = dfa91.predict(input); switch (alt91) { case 1 : // InternalXcore.g:4566:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) { // InternalXcore.g:4566:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) // InternalXcore.g:4566:3: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) { // InternalXcore.g:4571:6: ( () ( ( ruleOpOther ) ) ) // InternalXcore.g:4571:7: () ( ( ruleOpOther ) ) { // InternalXcore.g:4571:7: () // InternalXcore.g:4572:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalXcore.g:4577:2: ( ( ruleOpOther ) ) // InternalXcore.g:4578:1: ( ruleOpOther ) { // InternalXcore.g:4578:1: ( ruleOpOther ) // InternalXcore.g:4579:3: ruleOpOther { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpOther(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalXcore.g:4592:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) // InternalXcore.g:4593:1: (lv_rightOperand_3_0= ruleXAdditiveExpression ) { // InternalXcore.g:4593:1: (lv_rightOperand_3_0= ruleXAdditiveExpression ) // InternalXcore.g:4594:3: lv_rightOperand_3_0= ruleXAdditiveExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_84); lv_rightOperand_3_0=ruleXAdditiveExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXOtherOperatorExpressionRule()); } set( current, "rightOperand", lv_rightOperand_3_0, "org.eclipse.xtext.xbase.Xbase.XAdditiveExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop91; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXOtherOperatorExpression" // $ANTLR start "entryRuleOpOther" // InternalXcore.g:4618:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ; public final String entryRuleOpOther() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpOther = null; try { // InternalXcore.g:4619:2: (iv_ruleOpOther= ruleOpOther EOF ) // InternalXcore.g:4620:2: iv_ruleOpOther= ruleOpOther EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpOtherRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpOther=ruleOpOther(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpOther.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpOther" // $ANTLR start "ruleOpOther" // InternalXcore.g:4627:1: ruleOpOther returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ; public final AntlrDatatypeRuleToken ruleOpOther() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:4630:28: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ) // InternalXcore.g:4631:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) { // InternalXcore.g:4631:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) int alt94=9; alt94 = dfa94.predict(input); switch (alt94) { case 1 : // InternalXcore.g:4632:2: kw= '->' { kw=(Token)match(input,83,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); } } break; case 2 : // InternalXcore.g:4639:2: kw= '..<' { kw=(Token)match(input,84,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); } } break; case 3 : // InternalXcore.g:4645:6: (kw= '>' kw= '..' ) { // InternalXcore.g:4645:6: (kw= '>' kw= '..' ) // InternalXcore.g:4646:2: kw= '>' kw= '..' { kw=(Token)match(input,24,FollowSets000.FOLLOW_85); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); } kw=(Token)match(input,63,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); } } } break; case 4 : // InternalXcore.g:4659:2: kw= '..' { kw=(Token)match(input,63,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); } } break; case 5 : // InternalXcore.g:4666:2: kw= '=>' { kw=(Token)match(input,85,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); } } break; case 6 : // InternalXcore.g:4672:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) { // InternalXcore.g:4672:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) // InternalXcore.g:4673:2: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) { kw=(Token)match(input,24,FollowSets000.FOLLOW_86); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); } // InternalXcore.g:4678:1: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) int alt92=2; int LA92_0 = input.LA(1); if ( (LA92_0==24) ) { int LA92_1 = input.LA(2); if ( (LA92_1==24) && (synpred11_InternalXcore())) { alt92=1; } else if ( (LA92_1==EOF||(LA92_1>=RULE_STRING && LA92_1<=RULE_DECIMAL)||LA92_1==13||LA92_1==15||(LA92_1>=19 && LA92_1<=21)||LA92_1==23||(LA92_1>=25 && LA92_1<=29)||(LA92_1>=31 && LA92_1<=57)||LA92_1==59||LA92_1==62||LA92_1==66||(LA92_1>=68 && LA92_1<=69)||LA92_1==91||LA92_1==96||LA92_1==98||LA92_1==100||(LA92_1>=104 && LA92_1<=106)||(LA92_1>=109 && LA92_1<=116)||LA92_1==118) ) { alt92=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 92, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 92, 0, input); throw nvae; } switch (alt92) { case 1 : // InternalXcore.g:4678:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) { // InternalXcore.g:4678:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) // InternalXcore.g:4678:3: ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) { // InternalXcore.g:4682:5: (kw= '>' kw= '>' ) // InternalXcore.g:4683:2: kw= '>' kw= '>' { kw=(Token)match(input,24,FollowSets000.FOLLOW_86); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_0()); } kw=(Token)match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_0_0_1()); } } } } break; case 2 : // InternalXcore.g:4696:2: kw= '>' { kw=(Token)match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); } } break; } } } break; case 7 : // InternalXcore.g:4702:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) { // InternalXcore.g:4702:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) // InternalXcore.g:4703:2: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) { kw=(Token)match(input,23,FollowSets000.FOLLOW_87); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); } // InternalXcore.g:4708:1: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) int alt93=3; int LA93_0 = input.LA(1); if ( (LA93_0==23) ) { int LA93_1 = input.LA(2); if ( (synpred12_InternalXcore()) ) { alt93=1; } else if ( (true) ) { alt93=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 93, 1, input); throw nvae; } } else if ( (LA93_0==85) ) { alt93=3; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 93, 0, input); throw nvae; } switch (alt93) { case 1 : // InternalXcore.g:4708:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) { // InternalXcore.g:4708:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) // InternalXcore.g:4708:3: ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) { // InternalXcore.g:4712:5: (kw= '<' kw= '<' ) // InternalXcore.g:4713:2: kw= '<' kw= '<' { kw=(Token)match(input,23,FollowSets000.FOLLOW_77); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_0()); } kw=(Token)match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_0_0_1()); } } } } break; case 2 : // InternalXcore.g:4726:2: kw= '<' { kw=(Token)match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); } } break; case 3 : // InternalXcore.g:4733:2: kw= '=>' { kw=(Token)match(input,85,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); } } break; } } } break; case 8 : // InternalXcore.g:4740:2: kw= '<>' { kw=(Token)match(input,86,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); } } break; case 9 : // InternalXcore.g:4747:2: kw= '?:' { kw=(Token)match(input,87,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getQuestionMarkColonKeyword_8()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpOther" // $ANTLR start "entryRuleXAdditiveExpression" // InternalXcore.g:4760:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ; public final EObject entryRuleXAdditiveExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXAdditiveExpression = null; try { // InternalXcore.g:4761:2: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ) // InternalXcore.g:4762:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXAdditiveExpression=ruleXAdditiveExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAdditiveExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAdditiveExpression" // $ANTLR start "ruleXAdditiveExpression" // InternalXcore.g:4769:1: ruleXAdditiveExpression returns [EObject current=null] : (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ; public final EObject ruleXAdditiveExpression() throws RecognitionException { EObject current = null; EObject this_XMultiplicativeExpression_0 = null; EObject lv_rightOperand_3_0 = null; enterRule(); try { // InternalXcore.g:4772:28: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ) // InternalXcore.g:4773:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) { // InternalXcore.g:4773:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) // InternalXcore.g:4774:5: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_88); this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XMultiplicativeExpression_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:4782:1: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* loop95: do { int alt95=2; int LA95_0 = input.LA(1); if ( (LA95_0==62) ) { int LA95_2 = input.LA(2); if ( (synpred13_InternalXcore()) ) { alt95=1; } } else if ( (LA95_0==31) ) { int LA95_3 = input.LA(2); if ( (synpred13_InternalXcore()) ) { alt95=1; } } switch (alt95) { case 1 : // InternalXcore.g:4782:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) { // InternalXcore.g:4782:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) // InternalXcore.g:4782:3: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) { // InternalXcore.g:4787:6: ( () ( ( ruleOpAdd ) ) ) // InternalXcore.g:4787:7: () ( ( ruleOpAdd ) ) { // InternalXcore.g:4787:7: () // InternalXcore.g:4788:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalXcore.g:4793:2: ( ( ruleOpAdd ) ) // InternalXcore.g:4794:1: ( ruleOpAdd ) { // InternalXcore.g:4794:1: ( ruleOpAdd ) // InternalXcore.g:4795:3: ruleOpAdd { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAdditiveExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpAdd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalXcore.g:4808:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) // InternalXcore.g:4809:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) { // InternalXcore.g:4809:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) // InternalXcore.g:4810:3: lv_rightOperand_3_0= ruleXMultiplicativeExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_88); lv_rightOperand_3_0=ruleXMultiplicativeExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAdditiveExpressionRule()); } set( current, "rightOperand", lv_rightOperand_3_0, "org.eclipse.xtext.xbase.Xbase.XMultiplicativeExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop95; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAdditiveExpression" // $ANTLR start "entryRuleOpAdd" // InternalXcore.g:4834:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ; public final String entryRuleOpAdd() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpAdd = null; try { // InternalXcore.g:4835:2: (iv_ruleOpAdd= ruleOpAdd EOF ) // InternalXcore.g:4836:2: iv_ruleOpAdd= ruleOpAdd EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpAddRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpAdd=ruleOpAdd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpAdd.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpAdd" // $ANTLR start "ruleOpAdd" // InternalXcore.g:4843:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ; public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:4846:28: ( (kw= '+' | kw= '-' ) ) // InternalXcore.g:4847:1: (kw= '+' | kw= '-' ) { // InternalXcore.g:4847:1: (kw= '+' | kw= '-' ) int alt96=2; int LA96_0 = input.LA(1); if ( (LA96_0==62) ) { alt96=1; } else if ( (LA96_0==31) ) { alt96=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 96, 0, input); throw nvae; } switch (alt96) { case 1 : // InternalXcore.g:4848:2: kw= '+' { kw=(Token)match(input,62,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); } } break; case 2 : // InternalXcore.g:4855:2: kw= '-' { kw=(Token)match(input,31,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpAdd" // $ANTLR start "entryRuleXMultiplicativeExpression" // InternalXcore.g:4868:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ; public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXMultiplicativeExpression = null; try { // InternalXcore.g:4869:2: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ) // InternalXcore.g:4870:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXMultiplicativeExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXMultiplicativeExpression" // $ANTLR start "ruleXMultiplicativeExpression" // InternalXcore.g:4877:1: ruleXMultiplicativeExpression returns [EObject current=null] : (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ; public final EObject ruleXMultiplicativeExpression() throws RecognitionException { EObject current = null; EObject this_XUnaryOperation_0 = null; EObject lv_rightOperand_3_0 = null; enterRule(); try { // InternalXcore.g:4880:28: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ) // InternalXcore.g:4881:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) { // InternalXcore.g:4881:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) // InternalXcore.g:4882:5: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_89); this_XUnaryOperation_0=ruleXUnaryOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XUnaryOperation_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:4890:1: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* loop97: do { int alt97=2; switch ( input.LA(1) ) { case 61: { int LA97_2 = input.LA(2); if ( (synpred14_InternalXcore()) ) { alt97=1; } } break; case 88: { int LA97_3 = input.LA(2); if ( (synpred14_InternalXcore()) ) { alt97=1; } } break; case 89: { int LA97_4 = input.LA(2); if ( (synpred14_InternalXcore()) ) { alt97=1; } } break; case 90: { int LA97_5 = input.LA(2); if ( (synpred14_InternalXcore()) ) { alt97=1; } } break; } switch (alt97) { case 1 : // InternalXcore.g:4890:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) { // InternalXcore.g:4890:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) // InternalXcore.g:4890:3: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) { // InternalXcore.g:4895:6: ( () ( ( ruleOpMulti ) ) ) // InternalXcore.g:4895:7: () ( ( ruleOpMulti ) ) { // InternalXcore.g:4895:7: () // InternalXcore.g:4896:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalXcore.g:4901:2: ( ( ruleOpMulti ) ) // InternalXcore.g:4902:1: ( ruleOpMulti ) { // InternalXcore.g:4902:1: ( ruleOpMulti ) // InternalXcore.g:4903:3: ruleOpMulti { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpMulti(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalXcore.g:4916:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) // InternalXcore.g:4917:1: (lv_rightOperand_3_0= ruleXUnaryOperation ) { // InternalXcore.g:4917:1: (lv_rightOperand_3_0= ruleXUnaryOperation ) // InternalXcore.g:4918:3: lv_rightOperand_3_0= ruleXUnaryOperation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_89); lv_rightOperand_3_0=ruleXUnaryOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXMultiplicativeExpressionRule()); } set( current, "rightOperand", lv_rightOperand_3_0, "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); afterParserOrEnumRuleCall(); } } } } break; default : break loop97; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXMultiplicativeExpression" // $ANTLR start "entryRuleOpMulti" // InternalXcore.g:4942:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ; public final String entryRuleOpMulti() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpMulti = null; try { // InternalXcore.g:4943:2: (iv_ruleOpMulti= ruleOpMulti EOF ) // InternalXcore.g:4944:2: iv_ruleOpMulti= ruleOpMulti EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpMultiRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpMulti=ruleOpMulti(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpMulti.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpMulti" // $ANTLR start "ruleOpMulti" // InternalXcore.g:4951:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ; public final AntlrDatatypeRuleToken ruleOpMulti() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:4954:28: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ) // InternalXcore.g:4955:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) { // InternalXcore.g:4955:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) int alt98=4; switch ( input.LA(1) ) { case 61: { alt98=1; } break; case 88: { alt98=2; } break; case 89: { alt98=3; } break; case 90: { alt98=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 98, 0, input); throw nvae; } switch (alt98) { case 1 : // InternalXcore.g:4956:2: kw= '*' { kw=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); } } break; case 2 : // InternalXcore.g:4963:2: kw= '**' { kw=(Token)match(input,88,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); } } break; case 3 : // InternalXcore.g:4970:2: kw= '/' { kw=(Token)match(input,89,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); } } break; case 4 : // InternalXcore.g:4977:2: kw= '%' { kw=(Token)match(input,90,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getPercentSignKeyword_3()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpMulti" // $ANTLR start "entryRuleXUnaryOperation" // InternalXcore.g:4990:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ; public final EObject entryRuleXUnaryOperation() throws RecognitionException { EObject current = null; EObject iv_ruleXUnaryOperation = null; try { // InternalXcore.g:4991:2: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ) // InternalXcore.g:4992:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXUnaryOperation=ruleXUnaryOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXUnaryOperation; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXUnaryOperation" // $ANTLR start "ruleXUnaryOperation" // InternalXcore.g:4999:1: ruleXUnaryOperation returns [EObject current=null] : ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ; public final EObject ruleXUnaryOperation() throws RecognitionException { EObject current = null; EObject lv_operand_2_0 = null; EObject this_XCastedExpression_3 = null; enterRule(); try { // InternalXcore.g:5002:28: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ) // InternalXcore.g:5003:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) { // InternalXcore.g:5003:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) int alt99=2; int LA99_0 = input.LA(1); if ( (LA99_0==31||LA99_0==62||LA99_0==91) ) { alt99=1; } else if ( ((LA99_0>=RULE_STRING && LA99_0<=RULE_DECIMAL)||LA99_0==13||LA99_0==15||(LA99_0>=19 && LA99_0<=21)||LA99_0==23||(LA99_0>=25 && LA99_0<=29)||(LA99_0>=32 && LA99_0<=57)||LA99_0==59||LA99_0==66||(LA99_0>=68 && LA99_0<=69)||LA99_0==96||LA99_0==98||LA99_0==100||(LA99_0>=104 && LA99_0<=106)||(LA99_0>=109 && LA99_0<=116)||LA99_0==118) ) { alt99=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 99, 0, input); throw nvae; } switch (alt99) { case 1 : // InternalXcore.g:5003:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) { // InternalXcore.g:5003:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) // InternalXcore.g:5003:3: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) { // InternalXcore.g:5003:3: () // InternalXcore.g:5004:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(), current); } } // InternalXcore.g:5009:2: ( ( ruleOpUnary ) ) // InternalXcore.g:5010:1: ( ruleOpUnary ) { // InternalXcore.g:5010:1: ( ruleOpUnary ) // InternalXcore.g:5011:3: ruleOpUnary { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXUnaryOperationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpUnary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:5024:2: ( (lv_operand_2_0= ruleXUnaryOperation ) ) // InternalXcore.g:5025:1: (lv_operand_2_0= ruleXUnaryOperation ) { // InternalXcore.g:5025:1: (lv_operand_2_0= ruleXUnaryOperation ) // InternalXcore.g:5026:3: lv_operand_2_0= ruleXUnaryOperation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_operand_2_0=ruleXUnaryOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXUnaryOperationRule()); } set( current, "operand", lv_operand_2_0, "org.eclipse.xtext.xbase.Xbase.XUnaryOperation"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalXcore.g:5044:5: this_XCastedExpression_3= ruleXCastedExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_2); this_XCastedExpression_3=ruleXCastedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XCastedExpression_3; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXUnaryOperation" // $ANTLR start "entryRuleOpUnary" // InternalXcore.g:5060:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ; public final String entryRuleOpUnary() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpUnary = null; try { // InternalXcore.g:5061:2: (iv_ruleOpUnary= ruleOpUnary EOF ) // InternalXcore.g:5062:2: iv_ruleOpUnary= ruleOpUnary EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpUnaryRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpUnary=ruleOpUnary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpUnary.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpUnary" // $ANTLR start "ruleOpUnary" // InternalXcore.g:5069:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '!' | kw= '-' | kw= '+' ) ; public final AntlrDatatypeRuleToken ruleOpUnary() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:5072:28: ( (kw= '!' | kw= '-' | kw= '+' ) ) // InternalXcore.g:5073:1: (kw= '!' | kw= '-' | kw= '+' ) { // InternalXcore.g:5073:1: (kw= '!' | kw= '-' | kw= '+' ) int alt100=3; switch ( input.LA(1) ) { case 91: { alt100=1; } break; case 31: { alt100=2; } break; case 62: { alt100=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 100, 0, input); throw nvae; } switch (alt100) { case 1 : // InternalXcore.g:5074:2: kw= '!' { kw=(Token)match(input,91,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); } } break; case 2 : // InternalXcore.g:5081:2: kw= '-' { kw=(Token)match(input,31,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); } } break; case 3 : // InternalXcore.g:5088:2: kw= '+' { kw=(Token)match(input,62,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpUnary" // $ANTLR start "entryRuleXCastedExpression" // InternalXcore.g:5101:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ; public final EObject entryRuleXCastedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXCastedExpression = null; try { // InternalXcore.g:5102:2: (iv_ruleXCastedExpression= ruleXCastedExpression EOF ) // InternalXcore.g:5103:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXCastedExpression=ruleXCastedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCastedExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCastedExpression" // $ANTLR start "ruleXCastedExpression" // InternalXcore.g:5110:1: ruleXCastedExpression returns [EObject current=null] : (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ; public final EObject ruleXCastedExpression() throws RecognitionException { EObject current = null; Token otherlv_2=null; EObject this_XPostfixOperation_0 = null; EObject lv_type_3_0 = null; enterRule(); try { // InternalXcore.g:5113:28: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ) // InternalXcore.g:5114:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) { // InternalXcore.g:5114:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) // InternalXcore.g:5115:5: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_90); this_XPostfixOperation_0=ruleXPostfixOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XPostfixOperation_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:5123:1: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* loop101: do { int alt101=2; int LA101_0 = input.LA(1); if ( (LA101_0==21) ) { int LA101_2 = input.LA(2); if ( (synpred15_InternalXcore()) ) { alt101=1; } } switch (alt101) { case 1 : // InternalXcore.g:5123:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) { // InternalXcore.g:5123:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) // InternalXcore.g:5123:3: ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) { // InternalXcore.g:5125:5: ( () otherlv_2= 'as' ) // InternalXcore.g:5125:6: () otherlv_2= 'as' { // InternalXcore.g:5125:6: () // InternalXcore.g:5126:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(), current); } } otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); } } } // InternalXcore.g:5135:3: ( (lv_type_3_0= ruleJvmTypeReference ) ) // InternalXcore.g:5136:1: (lv_type_3_0= ruleJvmTypeReference ) { // InternalXcore.g:5136:1: (lv_type_3_0= ruleJvmTypeReference ) // InternalXcore.g:5137:3: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_90); lv_type_3_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXCastedExpressionRule()); } set( current, "type", lv_type_3_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop101; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXCastedExpression" // $ANTLR start "entryRuleXPostfixOperation" // InternalXcore.g:5161:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ; public final EObject entryRuleXPostfixOperation() throws RecognitionException { EObject current = null; EObject iv_ruleXPostfixOperation = null; try { // InternalXcore.g:5162:2: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ) // InternalXcore.g:5163:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPostfixOperationRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXPostfixOperation=ruleXPostfixOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXPostfixOperation; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXPostfixOperation" // $ANTLR start "ruleXPostfixOperation" // InternalXcore.g:5170:1: ruleXPostfixOperation returns [EObject current=null] : (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ; public final EObject ruleXPostfixOperation() throws RecognitionException { EObject current = null; EObject this_XMemberFeatureCall_0 = null; enterRule(); try { // InternalXcore.g:5173:28: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ) // InternalXcore.g:5174:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) { // InternalXcore.g:5174:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) // InternalXcore.g:5175:5: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_91); this_XMemberFeatureCall_0=ruleXMemberFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XMemberFeatureCall_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:5183:1: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? int alt102=2; int LA102_0 = input.LA(1); if ( (LA102_0==92) ) { int LA102_1 = input.LA(2); if ( (synpred16_InternalXcore()) ) { alt102=1; } } else if ( (LA102_0==93) ) { int LA102_2 = input.LA(2); if ( (synpred16_InternalXcore()) ) { alt102=1; } } switch (alt102) { case 1 : // InternalXcore.g:5183:2: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) { // InternalXcore.g:5188:6: ( () ( ( ruleOpPostfix ) ) ) // InternalXcore.g:5188:7: () ( ( ruleOpPostfix ) ) { // InternalXcore.g:5188:7: () // InternalXcore.g:5189:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(), current); } } // InternalXcore.g:5194:2: ( ( ruleOpPostfix ) ) // InternalXcore.g:5195:1: ( ruleOpPostfix ) { // InternalXcore.g:5195:1: ( ruleOpPostfix ) // InternalXcore.g:5196:3: ruleOpPostfix { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXPostfixOperationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); } pushFollow(FollowSets000.FOLLOW_2); ruleOpPostfix(); 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 "ruleXPostfixOperation" // $ANTLR start "entryRuleOpPostfix" // InternalXcore.g:5217:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ; public final String entryRuleOpPostfix() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpPostfix = null; try { // InternalXcore.g:5218:2: (iv_ruleOpPostfix= ruleOpPostfix EOF ) // InternalXcore.g:5219:2: iv_ruleOpPostfix= ruleOpPostfix EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpPostfixRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleOpPostfix=ruleOpPostfix(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpPostfix.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpPostfix" // $ANTLR start "ruleOpPostfix" // InternalXcore.g:5226:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ; public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:5229:28: ( (kw= '++' | kw= '--' ) ) // InternalXcore.g:5230:1: (kw= '++' | kw= '--' ) { // InternalXcore.g:5230:1: (kw= '++' | kw= '--' ) int alt103=2; int LA103_0 = input.LA(1); if ( (LA103_0==92) ) { alt103=1; } else if ( (LA103_0==93) ) { alt103=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 103, 0, input); throw nvae; } switch (alt103) { case 1 : // InternalXcore.g:5231:2: kw= '++' { kw=(Token)match(input,92,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); } } break; case 2 : // InternalXcore.g:5238:2: kw= '--' { kw=(Token)match(input,93,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpPostfixAccess().getHyphenMinusHyphenMinusKeyword_1()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpPostfix" // $ANTLR start "entryRuleXMemberFeatureCall" // InternalXcore.g:5251:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ; public final EObject entryRuleXMemberFeatureCall() throws RecognitionException { EObject current = null; EObject iv_ruleXMemberFeatureCall = null; try { // InternalXcore.g:5252:2: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ) // InternalXcore.g:5253:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXMemberFeatureCall; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXMemberFeatureCall" // $ANTLR start "ruleXMemberFeatureCall" // InternalXcore.g:5260:1: ruleXMemberFeatureCall returns [EObject current=null] : (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ; public final EObject ruleXMemberFeatureCall() throws RecognitionException { EObject current = null; Token otherlv_2=null; Token lv_explicitStatic_3_0=null; Token otherlv_8=null; Token lv_nullSafe_9_0=null; Token lv_explicitStatic_10_0=null; Token otherlv_11=null; Token otherlv_13=null; Token otherlv_15=null; Token lv_explicitOperationCall_17_0=null; Token otherlv_20=null; Token otherlv_22=null; EObject this_XPrimaryExpression_0 = null; EObject lv_value_6_0 = null; EObject lv_typeArguments_12_0 = null; EObject lv_typeArguments_14_0 = null; EObject lv_memberCallArguments_18_0 = null; EObject lv_memberCallArguments_19_0 = null; EObject lv_memberCallArguments_21_0 = null; EObject lv_memberCallArguments_23_0 = null; enterRule(); try { // InternalXcore.g:5263:28: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ) // InternalXcore.g:5264:1: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) { // InternalXcore.g:5264:1: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) // InternalXcore.g:5265:5: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_92); this_XPrimaryExpression_0=ruleXPrimaryExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XPrimaryExpression_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:5273:1: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* loop112: do { int alt112=3; switch ( input.LA(1) ) { case 67: { int LA112_2 = input.LA(2); if ( (synpred17_InternalXcore()) ) { alt112=1; } else if ( (synpred18_InternalXcore()) ) { alt112=2; } } break; case 94: { int LA112_3 = input.LA(2); if ( (synpred17_InternalXcore()) ) { alt112=1; } else if ( (synpred18_InternalXcore()) ) { alt112=2; } } break; case 95: { int LA112_4 = input.LA(2); if ( (synpred18_InternalXcore()) ) { alt112=2; } } break; } switch (alt112) { case 1 : // InternalXcore.g:5273:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) { // InternalXcore.g:5273:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) // InternalXcore.g:5273:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) { // InternalXcore.g:5273:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) // InternalXcore.g:5273:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) { // InternalXcore.g:5286:25: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) // InternalXcore.g:5286:26: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign { // InternalXcore.g:5286:26: () // InternalXcore.g:5287:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(), current); } } // InternalXcore.g:5292:2: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) int alt104=2; int LA104_0 = input.LA(1); if ( (LA104_0==67) ) { alt104=1; } else if ( (LA104_0==94) ) { alt104=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 104, 0, input); throw nvae; } switch (alt104) { case 1 : // InternalXcore.g:5292:4: otherlv_2= '.' { otherlv_2=(Token)match(input,67,FollowSets000.FOLLOW_93); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); } } break; case 2 : // InternalXcore.g:5297:6: ( (lv_explicitStatic_3_0= '::' ) ) { // InternalXcore.g:5297:6: ( (lv_explicitStatic_3_0= '::' ) ) // InternalXcore.g:5298:1: (lv_explicitStatic_3_0= '::' ) { // InternalXcore.g:5298:1: (lv_explicitStatic_3_0= '::' ) // InternalXcore.g:5299:3: lv_explicitStatic_3_0= '::' { lv_explicitStatic_3_0=(Token)match(input,94,FollowSets000.FOLLOW_93); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_explicitStatic_3_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_0_0_0_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); } setWithLastConsumed(current, "explicitStatic", true, "::"); } } } } break; } // InternalXcore.g:5312:3: ( ( ruleFeatureCallID ) ) // InternalXcore.g:5313:1: ( ruleFeatureCallID ) { // InternalXcore.g:5313:1: ( ruleFeatureCallID ) // InternalXcore.g:5314:3: ruleFeatureCallID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); } pushFollow(FollowSets000.FOLLOW_11); ruleFeatureCallID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); } pushFollow(FollowSets000.FOLLOW_75); ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:5335:3: ( (lv_value_6_0= ruleXAssignment ) ) // InternalXcore.g:5336:1: (lv_value_6_0= ruleXAssignment ) { // InternalXcore.g:5336:1: (lv_value_6_0= ruleXAssignment ) // InternalXcore.g:5337:3: lv_value_6_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); } pushFollow(FollowSets000.FOLLOW_92); lv_value_6_0=ruleXAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); } set( current, "value", lv_value_6_0, "org.eclipse.xtext.xbase.Xbase.XAssignment"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalXcore.g:5354:6: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) { // InternalXcore.g:5354:6: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) // InternalXcore.g:5354:7: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? { // InternalXcore.g:5354:7: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) // InternalXcore.g:5354:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) { // InternalXcore.g:5370:7: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) // InternalXcore.g:5370:8: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) { // InternalXcore.g:5370:8: () // InternalXcore.g:5371:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), current); } } // InternalXcore.g:5376:2: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) int alt105=3; switch ( input.LA(1) ) { case 67: { alt105=1; } break; case 95: { alt105=2; } break; case 94: { alt105=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 105, 0, input); throw nvae; } switch (alt105) { case 1 : // InternalXcore.g:5376:4: otherlv_8= '.' { otherlv_8=(Token)match(input,67,FollowSets000.FOLLOW_94); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); } } break; case 2 : // InternalXcore.g:5381:6: ( (lv_nullSafe_9_0= '?.' ) ) { // InternalXcore.g:5381:6: ( (lv_nullSafe_9_0= '?.' ) ) // InternalXcore.g:5382:1: (lv_nullSafe_9_0= '?.' ) { // InternalXcore.g:5382:1: (lv_nullSafe_9_0= '?.' ) // InternalXcore.g:5383:3: lv_nullSafe_9_0= '?.' { lv_nullSafe_9_0=(Token)match(input,95,FollowSets000.FOLLOW_94); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_nullSafe_9_0, grammarAccess.getXMemberFeatureCallAccess().getNullSafeQuestionMarkFullStopKeyword_1_1_0_0_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); } setWithLastConsumed(current, "nullSafe", true, "?."); } } } } break; case 3 : // InternalXcore.g:5397:6: ( (lv_explicitStatic_10_0= '::' ) ) { // InternalXcore.g:5397:6: ( (lv_explicitStatic_10_0= '::' ) ) // InternalXcore.g:5398:1: (lv_explicitStatic_10_0= '::' ) { // InternalXcore.g:5398:1: (lv_explicitStatic_10_0= '::' ) // InternalXcore.g:5399:3: lv_explicitStatic_10_0= '::' { lv_explicitStatic_10_0=(Token)match(input,94,FollowSets000.FOLLOW_94); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_explicitStatic_10_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticColonColonKeyword_1_1_0_0_1_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); } setWithLastConsumed(current, "explicitStatic", true, "::"); } } } } break; } } } // InternalXcore.g:5412:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? int alt107=2; int LA107_0 = input.LA(1); if ( (LA107_0==23) ) { alt107=1; } switch (alt107) { case 1 : // InternalXcore.g:5412:7: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' { otherlv_11=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); } // InternalXcore.g:5416:1: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) // InternalXcore.g:5417:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) { // InternalXcore.g:5417:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) // InternalXcore.g:5418:3: lv_typeArguments_12_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeArguments_12_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); } add( current, "typeArguments", lv_typeArguments_12_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:5434:2: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* loop106: do { int alt106=2; int LA106_0 = input.LA(1); if ( (LA106_0==16) ) { alt106=1; } switch (alt106) { case 1 : // InternalXcore.g:5434:4: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) { otherlv_13=(Token)match(input,16,FollowSets000.FOLLOW_95); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); } // InternalXcore.g:5438:1: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) // InternalXcore.g:5439:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) { // InternalXcore.g:5439:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) // InternalXcore.g:5440:3: lv_typeArguments_14_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeArguments_14_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); } add( current, "typeArguments", lv_typeArguments_14_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop106; } } while (true); otherlv_15=(Token)match(input,24,FollowSets000.FOLLOW_94); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); } } break; } // InternalXcore.g:5460:3: ( ( ruleIdOrSuper ) ) // InternalXcore.g:5461:1: ( ruleIdOrSuper ) { // InternalXcore.g:5461:1: ( ruleIdOrSuper ) // InternalXcore.g:5462:3: ruleIdOrSuper { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); } pushFollow(FollowSets000.FOLLOW_96); ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:5475:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? int alt110=2; alt110 = dfa110.predict(input); switch (alt110) { case 1 : // InternalXcore.g:5475:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' { // InternalXcore.g:5475:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) // InternalXcore.g:5475:4: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) { // InternalXcore.g:5482:1: (lv_explicitOperationCall_17_0= '(' ) // InternalXcore.g:5483:3: lv_explicitOperationCall_17_0= '(' { lv_explicitOperationCall_17_0=(Token)match(input,15,FollowSets000.FOLLOW_97); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_explicitOperationCall_17_0, grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_1_1_3_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); } setWithLastConsumed(current, "explicitOperationCall", true, "("); } } } // InternalXcore.g:5496:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? int alt109=3; alt109 = dfa109.predict(input); switch (alt109) { case 1 : // InternalXcore.g:5496:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) { // InternalXcore.g:5496:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) // InternalXcore.g:5496:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) { // InternalXcore.g:5513:1: (lv_memberCallArguments_18_0= ruleXShortClosure ) // InternalXcore.g:5514:3: lv_memberCallArguments_18_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); } pushFollow(FollowSets000.FOLLOW_98); lv_memberCallArguments_18_0=ruleXShortClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); } add( current, "memberCallArguments", lv_memberCallArguments_18_0, "org.eclipse.xtext.xbase.Xbase.XShortClosure"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalXcore.g:5531:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) { // InternalXcore.g:5531:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) // InternalXcore.g:5531:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* { // InternalXcore.g:5531:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) // InternalXcore.g:5532:1: (lv_memberCallArguments_19_0= ruleXExpression ) { // InternalXcore.g:5532:1: (lv_memberCallArguments_19_0= ruleXExpression ) // InternalXcore.g:5533:3: lv_memberCallArguments_19_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_memberCallArguments_19_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); } add( current, "memberCallArguments", lv_memberCallArguments_19_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:5549:2: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* loop108: do { int alt108=2; int LA108_0 = input.LA(1); if ( (LA108_0==16) ) { alt108=1; } switch (alt108) { case 1 : // InternalXcore.g:5549:4: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) { otherlv_20=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); } // InternalXcore.g:5553:1: ( (lv_memberCallArguments_21_0= ruleXExpression ) ) // InternalXcore.g:5554:1: (lv_memberCallArguments_21_0= ruleXExpression ) { // InternalXcore.g:5554:1: (lv_memberCallArguments_21_0= ruleXExpression ) // InternalXcore.g:5555:3: lv_memberCallArguments_21_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_memberCallArguments_21_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); } add( current, "memberCallArguments", lv_memberCallArguments_21_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop108; } } while (true); } } break; } otherlv_22=(Token)match(input,17,FollowSets000.FOLLOW_99); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); } } break; } // InternalXcore.g:5575:3: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? int alt111=2; alt111 = dfa111.predict(input); switch (alt111) { case 1 : // InternalXcore.g:5575:4: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) { // InternalXcore.g:5578:1: (lv_memberCallArguments_23_0= ruleXClosure ) // InternalXcore.g:5579:3: lv_memberCallArguments_23_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); } pushFollow(FollowSets000.FOLLOW_92); lv_memberCallArguments_23_0=ruleXClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXMemberFeatureCallRule()); } add( current, "memberCallArguments", lv_memberCallArguments_23_0, "org.eclipse.xtext.xbase.Xbase.XClosure"); afterParserOrEnumRuleCall(); } } } break; } } } break; default : break loop112; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXMemberFeatureCall" // $ANTLR start "entryRuleXPrimaryExpression" // InternalXcore.g:5603:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ; public final EObject entryRuleXPrimaryExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXPrimaryExpression = null; try { // InternalXcore.g:5604:2: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ) // InternalXcore.g:5605:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXPrimaryExpression=ruleXPrimaryExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXPrimaryExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXPrimaryExpression" // $ANTLR start "ruleXPrimaryExpression" // InternalXcore.g:5612:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ; public final EObject ruleXPrimaryExpression() throws RecognitionException { EObject current = null; EObject this_XConstructorCall_0 = null; EObject this_XBlockExpression_1 = null; EObject this_XSwitchExpression_2 = null; EObject this_XSynchronizedExpression_3 = null; EObject this_XFeatureCall_4 = null; EObject this_XLiteral_5 = null; EObject this_XIfExpression_6 = null; EObject this_XForLoopExpression_7 = null; EObject this_XBasicForLoopExpression_8 = null; EObject this_XWhileExpression_9 = null; EObject this_XDoWhileExpression_10 = null; EObject this_XThrowExpression_11 = null; EObject this_XReturnExpression_12 = null; EObject this_XTryCatchFinallyExpression_13 = null; EObject this_XParenthesizedExpression_14 = null; enterRule(); try { // InternalXcore.g:5615:28: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ) // InternalXcore.g:5616:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) { // InternalXcore.g:5616:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) int alt113=15; alt113 = dfa113.predict(input); switch (alt113) { case 1 : // InternalXcore.g:5617:5: this_XConstructorCall_0= ruleXConstructorCall { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_XConstructorCall_0=ruleXConstructorCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XConstructorCall_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:5627:5: this_XBlockExpression_1= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_2); this_XBlockExpression_1=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XBlockExpression_1; afterParserOrEnumRuleCall(); } } break; case 3 : // InternalXcore.g:5637:5: this_XSwitchExpression_2= ruleXSwitchExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_2); this_XSwitchExpression_2=ruleXSwitchExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XSwitchExpression_2; afterParserOrEnumRuleCall(); } } break; case 4 : // InternalXcore.g:5646:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) { // InternalXcore.g:5646:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) // InternalXcore.g:5646:7: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_2); this_XSynchronizedExpression_3=ruleXSynchronizedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XSynchronizedExpression_3; afterParserOrEnumRuleCall(); } } } break; case 5 : // InternalXcore.g:5660:5: this_XFeatureCall_4= ruleXFeatureCall { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); } pushFollow(FollowSets000.FOLLOW_2); this_XFeatureCall_4=ruleXFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XFeatureCall_4; afterParserOrEnumRuleCall(); } } break; case 6 : // InternalXcore.g:5670:5: this_XLiteral_5= ruleXLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); } pushFollow(FollowSets000.FOLLOW_2); this_XLiteral_5=ruleXLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XLiteral_5; afterParserOrEnumRuleCall(); } } break; case 7 : // InternalXcore.g:5680:5: this_XIfExpression_6= ruleXIfExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); } pushFollow(FollowSets000.FOLLOW_2); this_XIfExpression_6=ruleXIfExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XIfExpression_6; afterParserOrEnumRuleCall(); } } break; case 8 : // InternalXcore.g:5689:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) { // InternalXcore.g:5689:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) // InternalXcore.g:5689:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); } pushFollow(FollowSets000.FOLLOW_2); this_XForLoopExpression_7=ruleXForLoopExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XForLoopExpression_7; afterParserOrEnumRuleCall(); } } } break; case 9 : // InternalXcore.g:5708:5: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); } pushFollow(FollowSets000.FOLLOW_2); this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XBasicForLoopExpression_8; afterParserOrEnumRuleCall(); } } break; case 10 : // InternalXcore.g:5718:5: this_XWhileExpression_9= ruleXWhileExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); } pushFollow(FollowSets000.FOLLOW_2); this_XWhileExpression_9=ruleXWhileExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XWhileExpression_9; afterParserOrEnumRuleCall(); } } break; case 11 : // InternalXcore.g:5728:5: this_XDoWhileExpression_10= ruleXDoWhileExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); } pushFollow(FollowSets000.FOLLOW_2); this_XDoWhileExpression_10=ruleXDoWhileExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XDoWhileExpression_10; afterParserOrEnumRuleCall(); } } break; case 12 : // InternalXcore.g:5738:5: this_XThrowExpression_11= ruleXThrowExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); } pushFollow(FollowSets000.FOLLOW_2); this_XThrowExpression_11=ruleXThrowExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XThrowExpression_11; afterParserOrEnumRuleCall(); } } break; case 13 : // InternalXcore.g:5748:5: this_XReturnExpression_12= ruleXReturnExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); } pushFollow(FollowSets000.FOLLOW_2); this_XReturnExpression_12=ruleXReturnExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XReturnExpression_12; afterParserOrEnumRuleCall(); } } break; case 14 : // InternalXcore.g:5758:5: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); } pushFollow(FollowSets000.FOLLOW_2); this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XTryCatchFinallyExpression_13; afterParserOrEnumRuleCall(); } } break; case 15 : // InternalXcore.g:5768:5: this_XParenthesizedExpression_14= ruleXParenthesizedExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); } pushFollow(FollowSets000.FOLLOW_2); this_XParenthesizedExpression_14=ruleXParenthesizedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XParenthesizedExpression_14; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXPrimaryExpression" // $ANTLR start "entryRuleXLiteral" // InternalXcore.g:5784:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ; public final EObject entryRuleXLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXLiteral = null; try { // InternalXcore.g:5785:2: (iv_ruleXLiteral= ruleXLiteral EOF ) // InternalXcore.g:5786:2: iv_ruleXLiteral= ruleXLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXLiteral=ruleXLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXLiteral; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXLiteral" // $ANTLR start "ruleXLiteral" // InternalXcore.g:5793:1: ruleXLiteral returns [EObject current=null] : (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ; public final EObject ruleXLiteral() throws RecognitionException { EObject current = null; EObject this_XCollectionLiteral_0 = null; EObject this_XClosure_1 = null; EObject this_XBooleanLiteral_2 = null; EObject this_XNumberLiteral_3 = null; EObject this_XNullLiteral_4 = null; EObject this_XStringLiteral_5 = null; EObject this_XTypeLiteral_6 = null; enterRule(); try { // InternalXcore.g:5796:28: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ) // InternalXcore.g:5797:1: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) { // InternalXcore.g:5797:1: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) int alt114=7; int LA114_0 = input.LA(1); if ( (LA114_0==96) ) { alt114=1; } else if ( (LA114_0==59) && (synpred24_InternalXcore())) { alt114=2; } else if ( ((LA114_0>=110 && LA114_0<=111)) ) { alt114=3; } else if ( ((LA114_0>=RULE_INT && LA114_0<=RULE_DECIMAL)) ) { alt114=4; } else if ( (LA114_0==112) ) { alt114=5; } else if ( (LA114_0==RULE_STRING) ) { alt114=6; } else if ( (LA114_0==113) ) { alt114=7; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 114, 0, input); throw nvae; } switch (alt114) { case 1 : // InternalXcore.g:5798:5: this_XCollectionLiteral_0= ruleXCollectionLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_XCollectionLiteral_0=ruleXCollectionLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XCollectionLiteral_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:5807:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) { // InternalXcore.g:5807:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) // InternalXcore.g:5807:7: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_2); this_XClosure_1=ruleXClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XClosure_1; afterParserOrEnumRuleCall(); } } } break; case 3 : // InternalXcore.g:5820:5: this_XBooleanLiteral_2= ruleXBooleanLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_2); this_XBooleanLiteral_2=ruleXBooleanLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XBooleanLiteral_2; afterParserOrEnumRuleCall(); } } break; case 4 : // InternalXcore.g:5830:5: this_XNumberLiteral_3= ruleXNumberLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_2); this_XNumberLiteral_3=ruleXNumberLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XNumberLiteral_3; afterParserOrEnumRuleCall(); } } break; case 5 : // InternalXcore.g:5840:5: this_XNullLiteral_4= ruleXNullLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); } pushFollow(FollowSets000.FOLLOW_2); this_XNullLiteral_4=ruleXNullLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XNullLiteral_4; afterParserOrEnumRuleCall(); } } break; case 6 : // InternalXcore.g:5850:5: this_XStringLiteral_5= ruleXStringLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); } pushFollow(FollowSets000.FOLLOW_2); this_XStringLiteral_5=ruleXStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XStringLiteral_5; afterParserOrEnumRuleCall(); } } break; case 7 : // InternalXcore.g:5860:5: this_XTypeLiteral_6= ruleXTypeLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); } pushFollow(FollowSets000.FOLLOW_2); this_XTypeLiteral_6=ruleXTypeLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XTypeLiteral_6; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXLiteral" // $ANTLR start "entryRuleXCollectionLiteral" // InternalXcore.g:5876:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ; public final EObject entryRuleXCollectionLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXCollectionLiteral = null; try { // InternalXcore.g:5877:2: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ) // InternalXcore.g:5878:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCollectionLiteralRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXCollectionLiteral=ruleXCollectionLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCollectionLiteral; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCollectionLiteral" // $ANTLR start "ruleXCollectionLiteral" // InternalXcore.g:5885:1: ruleXCollectionLiteral returns [EObject current=null] : (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ; public final EObject ruleXCollectionLiteral() throws RecognitionException { EObject current = null; EObject this_XSetLiteral_0 = null; EObject this_XListLiteral_1 = null; enterRule(); try { // InternalXcore.g:5888:28: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ) // InternalXcore.g:5889:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) { // InternalXcore.g:5889:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) int alt115=2; int LA115_0 = input.LA(1); if ( (LA115_0==96) ) { int LA115_1 = input.LA(2); if ( (LA115_1==59) ) { alt115=2; } else if ( (LA115_1==29) ) { alt115=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 115, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 115, 0, input); throw nvae; } switch (alt115) { case 1 : // InternalXcore.g:5890:5: this_XSetLiteral_0= ruleXSetLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_XSetLiteral_0=ruleXSetLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XSetLiteral_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:5900:5: this_XListLiteral_1= ruleXListLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_2); this_XListLiteral_1=ruleXListLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XListLiteral_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXCollectionLiteral" // $ANTLR start "entryRuleXSetLiteral" // InternalXcore.g:5916:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ; public final EObject entryRuleXSetLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXSetLiteral = null; try { // InternalXcore.g:5917:2: (iv_ruleXSetLiteral= ruleXSetLiteral EOF ) // InternalXcore.g:5918:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXSetLiteral=ruleXSetLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXSetLiteral; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXSetLiteral" // $ANTLR start "ruleXSetLiteral" // InternalXcore.g:5925:1: ruleXSetLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ; public final EObject ruleXSetLiteral() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_elements_3_0 = null; EObject lv_elements_5_0 = null; enterRule(); try { // InternalXcore.g:5928:28: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ) // InternalXcore.g:5929:1: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) { // InternalXcore.g:5929:1: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) // InternalXcore.g:5929:2: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' { // InternalXcore.g:5929:2: () // InternalXcore.g:5930:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(), current); } } otherlv_1=(Token)match(input,96,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); } otherlv_2=(Token)match(input,29,FollowSets000.FOLLOW_69); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); } // InternalXcore.g:5943:1: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? int alt117=2; int LA117_0 = input.LA(1); if ( ((LA117_0>=RULE_STRING && LA117_0<=RULE_DECIMAL)||LA117_0==13||LA117_0==15||(LA117_0>=19 && LA117_0<=21)||LA117_0==23||(LA117_0>=25 && LA117_0<=29)||(LA117_0>=31 && LA117_0<=57)||LA117_0==59||LA117_0==62||LA117_0==66||(LA117_0>=68 && LA117_0<=69)||LA117_0==91||LA117_0==96||LA117_0==98||LA117_0==100||(LA117_0>=104 && LA117_0<=106)||(LA117_0>=109 && LA117_0<=116)||LA117_0==118) ) { alt117=1; } switch (alt117) { case 1 : // InternalXcore.g:5943:2: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* { // InternalXcore.g:5943:2: ( (lv_elements_3_0= ruleXExpression ) ) // InternalXcore.g:5944:1: (lv_elements_3_0= ruleXExpression ) { // InternalXcore.g:5944:1: (lv_elements_3_0= ruleXExpression ) // InternalXcore.g:5945:3: lv_elements_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } pushFollow(FollowSets000.FOLLOW_100); lv_elements_3_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); } add( current, "elements", lv_elements_3_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:5961:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* loop116: do { int alt116=2; int LA116_0 = input.LA(1); if ( (LA116_0==16) ) { alt116=1; } switch (alt116) { case 1 : // InternalXcore.g:5961:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); } // InternalXcore.g:5965:1: ( (lv_elements_5_0= ruleXExpression ) ) // InternalXcore.g:5966:1: (lv_elements_5_0= ruleXExpression ) { // InternalXcore.g:5966:1: (lv_elements_5_0= ruleXExpression ) // InternalXcore.g:5967:3: lv_elements_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } pushFollow(FollowSets000.FOLLOW_100); lv_elements_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSetLiteralRule()); } add( current, "elements", lv_elements_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop116; } } while (true); } break; } otherlv_6=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXSetLiteralAccess().getRightCurlyBracketKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXSetLiteral" // $ANTLR start "entryRuleXListLiteral" // InternalXcore.g:5995:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ; public final EObject entryRuleXListLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXListLiteral = null; try { // InternalXcore.g:5996:2: (iv_ruleXListLiteral= ruleXListLiteral EOF ) // InternalXcore.g:5997:2: iv_ruleXListLiteral= ruleXListLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXListLiteral=ruleXListLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXListLiteral; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXListLiteral" // $ANTLR start "ruleXListLiteral" // InternalXcore.g:6004:1: ruleXListLiteral returns [EObject current=null] : ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ; public final EObject ruleXListLiteral() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_elements_3_0 = null; EObject lv_elements_5_0 = null; enterRule(); try { // InternalXcore.g:6007:28: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ) // InternalXcore.g:6008:1: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) { // InternalXcore.g:6008:1: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) // InternalXcore.g:6008:2: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' { // InternalXcore.g:6008:2: () // InternalXcore.g:6009:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(), current); } } otherlv_1=(Token)match(input,96,FollowSets000.FOLLOW_101); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); } otherlv_2=(Token)match(input,59,FollowSets000.FOLLOW_102); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); } // InternalXcore.g:6022:1: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? int alt119=2; int LA119_0 = input.LA(1); if ( ((LA119_0>=RULE_STRING && LA119_0<=RULE_DECIMAL)||LA119_0==13||LA119_0==15||(LA119_0>=19 && LA119_0<=21)||LA119_0==23||(LA119_0>=25 && LA119_0<=29)||(LA119_0>=31 && LA119_0<=57)||LA119_0==59||LA119_0==62||LA119_0==66||(LA119_0>=68 && LA119_0<=69)||LA119_0==91||LA119_0==96||LA119_0==98||LA119_0==100||(LA119_0>=104 && LA119_0<=106)||(LA119_0>=109 && LA119_0<=116)||LA119_0==118) ) { alt119=1; } switch (alt119) { case 1 : // InternalXcore.g:6022:2: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* { // InternalXcore.g:6022:2: ( (lv_elements_3_0= ruleXExpression ) ) // InternalXcore.g:6023:1: (lv_elements_3_0= ruleXExpression ) { // InternalXcore.g:6023:1: (lv_elements_3_0= ruleXExpression ) // InternalXcore.g:6024:3: lv_elements_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } pushFollow(FollowSets000.FOLLOW_103); lv_elements_3_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXListLiteralRule()); } add( current, "elements", lv_elements_3_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:6040:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* loop118: do { int alt118=2; int LA118_0 = input.LA(1); if ( (LA118_0==16) ) { alt118=1; } switch (alt118) { case 1 : // InternalXcore.g:6040:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); } // InternalXcore.g:6044:1: ( (lv_elements_5_0= ruleXExpression ) ) // InternalXcore.g:6045:1: (lv_elements_5_0= ruleXExpression ) { // InternalXcore.g:6045:1: (lv_elements_5_0= ruleXExpression ) // InternalXcore.g:6046:3: lv_elements_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } pushFollow(FollowSets000.FOLLOW_103); lv_elements_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXListLiteralRule()); } add( current, "elements", lv_elements_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop118; } } while (true); } break; } otherlv_6=(Token)match(input,64,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXListLiteralAccess().getRightSquareBracketKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXListLiteral" // $ANTLR start "entryRuleXClosure" // InternalXcore.g:6074:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ; public final EObject entryRuleXClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXClosure = null; try { // InternalXcore.g:6075:2: (iv_ruleXClosure= ruleXClosure EOF ) // InternalXcore.g:6076:2: iv_ruleXClosure= ruleXClosure EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXClosure=ruleXClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXClosure; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXClosure" // $ANTLR start "ruleXClosure" // InternalXcore.g:6083:1: ruleXClosure returns [EObject current=null] : ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ; public final EObject ruleXClosure() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token lv_explicitSyntax_5_0=null; Token otherlv_7=null; EObject lv_declaredFormalParameters_2_0 = null; EObject lv_declaredFormalParameters_4_0 = null; EObject lv_expression_6_0 = null; enterRule(); try { // InternalXcore.g:6086:28: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ) // InternalXcore.g:6087:1: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) { // InternalXcore.g:6087:1: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) // InternalXcore.g:6087:2: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' { // InternalXcore.g:6087:2: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) // InternalXcore.g:6087:3: ( ( () '[' ) )=> ( () otherlv_1= '[' ) { // InternalXcore.g:6089:5: ( () otherlv_1= '[' ) // InternalXcore.g:6089:6: () otherlv_1= '[' { // InternalXcore.g:6089:6: () // InternalXcore.g:6090:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(), current); } } otherlv_1=(Token)match(input,59,FollowSets000.FOLLOW_104); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); } } } // InternalXcore.g:6099:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? int alt122=2; alt122 = dfa122.predict(input); switch (alt122) { case 1 : // InternalXcore.g:6099:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) { // InternalXcore.g:6114:6: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) // InternalXcore.g:6114:7: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) { // InternalXcore.g:6114:7: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? int alt121=2; int LA121_0 = input.LA(1); if ( (LA121_0==RULE_ID||LA121_0==15||(LA121_0>=44 && LA121_0<=47)||LA121_0==56||LA121_0==85) ) { alt121=1; } switch (alt121) { case 1 : // InternalXcore.g:6114:8: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* { // InternalXcore.g:6114:8: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) // InternalXcore.g:6115:1: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) { // InternalXcore.g:6115:1: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) // InternalXcore.g:6116:3: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); } pushFollow(FollowSets000.FOLLOW_105); lv_declaredFormalParameters_2_0=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXClosureRule()); } add( current, "declaredFormalParameters", lv_declaredFormalParameters_2_0, "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:6132:2: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* loop120: do { int alt120=2; int LA120_0 = input.LA(1); if ( (LA120_0==16) ) { alt120=1; } switch (alt120) { case 1 : // InternalXcore.g:6132:4: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) { otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); } // InternalXcore.g:6136:1: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) // InternalXcore.g:6137:1: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) { // InternalXcore.g:6137:1: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) // InternalXcore.g:6138:3: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_105); lv_declaredFormalParameters_4_0=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXClosureRule()); } add( current, "declaredFormalParameters", lv_declaredFormalParameters_4_0, "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop120; } } while (true); } break; } // InternalXcore.g:6154:6: ( (lv_explicitSyntax_5_0= '|' ) ) // InternalXcore.g:6155:1: (lv_explicitSyntax_5_0= '|' ) { // InternalXcore.g:6155:1: (lv_explicitSyntax_5_0= '|' ) // InternalXcore.g:6156:3: lv_explicitSyntax_5_0= '|' { lv_explicitSyntax_5_0=(Token)match(input,97,FollowSets000.FOLLOW_102); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_explicitSyntax_5_0, grammarAccess.getXClosureAccess().getExplicitSyntaxVerticalLineKeyword_1_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXClosureRule()); } setWithLastConsumed(current, "explicitSyntax", true, "|"); } } } } } break; } // InternalXcore.g:6169:5: ( (lv_expression_6_0= ruleXExpressionInClosure ) ) // InternalXcore.g:6170:1: (lv_expression_6_0= ruleXExpressionInClosure ) { // InternalXcore.g:6170:1: (lv_expression_6_0= ruleXExpressionInClosure ) // InternalXcore.g:6171:3: lv_expression_6_0= ruleXExpressionInClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_66); lv_expression_6_0=ruleXExpressionInClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXClosureRule()); } set( current, "expression", lv_expression_6_0, "org.eclipse.xtext.xbase.Xbase.XExpressionInClosure"); afterParserOrEnumRuleCall(); } } } otherlv_7=(Token)match(input,64,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getXClosureAccess().getRightSquareBracketKeyword_3()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXClosure" // $ANTLR start "entryRuleXExpressionInClosure" // InternalXcore.g:6199:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ; public final EObject entryRuleXExpressionInClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXExpressionInClosure = null; try { // InternalXcore.g:6200:2: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ) // InternalXcore.g:6201:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionInClosureRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXExpressionInClosure=ruleXExpressionInClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXExpressionInClosure; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXExpressionInClosure" // $ANTLR start "ruleXExpressionInClosure" // InternalXcore.g:6208:1: ruleXExpressionInClosure returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ; public final EObject ruleXExpressionInClosure() throws RecognitionException { EObject current = null; Token otherlv_2=null; EObject lv_expressions_1_0 = null; enterRule(); try { // InternalXcore.g:6211:28: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ) // InternalXcore.g:6212:1: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) { // InternalXcore.g:6212:1: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) // InternalXcore.g:6212:2: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* { // InternalXcore.g:6212:2: () // InternalXcore.g:6213:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(), current); } } // InternalXcore.g:6218:2: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* loop124: do { int alt124=2; int LA124_0 = input.LA(1); if ( ((LA124_0>=RULE_STRING && LA124_0<=RULE_DECIMAL)||LA124_0==13||LA124_0==15||(LA124_0>=19 && LA124_0<=21)||LA124_0==23||(LA124_0>=25 && LA124_0<=29)||(LA124_0>=31 && LA124_0<=57)||LA124_0==59||LA124_0==62||LA124_0==66||(LA124_0>=68 && LA124_0<=69)||LA124_0==91||LA124_0==96||LA124_0==98||LA124_0==100||(LA124_0>=104 && LA124_0<=116)||LA124_0==118) ) { alt124=1; } switch (alt124) { case 1 : // InternalXcore.g:6218:3: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? { // InternalXcore.g:6218:3: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) // InternalXcore.g:6219:1: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) { // InternalXcore.g:6219:1: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) // InternalXcore.g:6220:3: lv_expressions_1_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); } pushFollow(FollowSets000.FOLLOW_106); lv_expressions_1_0=ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXExpressionInClosureRule()); } add( current, "expressions", lv_expressions_1_0, "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:6236:2: (otherlv_2= ';' )? int alt123=2; int LA123_0 = input.LA(1); if ( (LA123_0==65) ) { alt123=1; } switch (alt123) { case 1 : // InternalXcore.g:6236:4: otherlv_2= ';' { otherlv_2=(Token)match(input,65,FollowSets000.FOLLOW_107); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); } } break; } } break; default : break loop124; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXExpressionInClosure" // $ANTLR start "entryRuleXShortClosure" // InternalXcore.g:6248:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ; public final EObject entryRuleXShortClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXShortClosure = null; try { // InternalXcore.g:6249:2: (iv_ruleXShortClosure= ruleXShortClosure EOF ) // InternalXcore.g:6250:2: iv_ruleXShortClosure= ruleXShortClosure EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXShortClosure=ruleXShortClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXShortClosure; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXShortClosure" // $ANTLR start "ruleXShortClosure" // InternalXcore.g:6257:1: ruleXShortClosure returns [EObject current=null] : ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ; public final EObject ruleXShortClosure() throws RecognitionException { EObject current = null; Token otherlv_2=null; Token lv_explicitSyntax_4_0=null; EObject lv_declaredFormalParameters_1_0 = null; EObject lv_declaredFormalParameters_3_0 = null; EObject lv_expression_5_0 = null; enterRule(); try { // InternalXcore.g:6260:28: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ) // InternalXcore.g:6261:1: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) { // InternalXcore.g:6261:1: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) // InternalXcore.g:6261:2: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) { // InternalXcore.g:6261:2: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) // InternalXcore.g:6261:3: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) { // InternalXcore.g:6277:6: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) // InternalXcore.g:6277:7: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) { // InternalXcore.g:6277:7: () // InternalXcore.g:6278:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(), current); } } // InternalXcore.g:6283:2: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? int alt126=2; int LA126_0 = input.LA(1); if ( (LA126_0==RULE_ID||LA126_0==15||(LA126_0>=44 && LA126_0<=47)||LA126_0==56||LA126_0==85) ) { alt126=1; } switch (alt126) { case 1 : // InternalXcore.g:6283:3: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* { // InternalXcore.g:6283:3: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) // InternalXcore.g:6284:1: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) { // InternalXcore.g:6284:1: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) // InternalXcore.g:6285:3: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_105); lv_declaredFormalParameters_1_0=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXShortClosureRule()); } add( current, "declaredFormalParameters", lv_declaredFormalParameters_1_0, "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:6301:2: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* loop125: do { int alt125=2; int LA125_0 = input.LA(1); if ( (LA125_0==16) ) { alt125=1; } switch (alt125) { case 1 : // InternalXcore.g:6301:4: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) { otherlv_2=(Token)match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); } // InternalXcore.g:6305:1: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) // InternalXcore.g:6306:1: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) { // InternalXcore.g:6306:1: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) // InternalXcore.g:6307:3: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_105); lv_declaredFormalParameters_3_0=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXShortClosureRule()); } add( current, "declaredFormalParameters", lv_declaredFormalParameters_3_0, "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop125; } } while (true); } break; } // InternalXcore.g:6323:6: ( (lv_explicitSyntax_4_0= '|' ) ) // InternalXcore.g:6324:1: (lv_explicitSyntax_4_0= '|' ) { // InternalXcore.g:6324:1: (lv_explicitSyntax_4_0= '|' ) // InternalXcore.g:6325:3: lv_explicitSyntax_4_0= '|' { lv_explicitSyntax_4_0=(Token)match(input,97,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_explicitSyntax_4_0, grammarAccess.getXShortClosureAccess().getExplicitSyntaxVerticalLineKeyword_0_0_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXShortClosureRule()); } setWithLastConsumed(current, "explicitSyntax", true, "|"); } } } } } // InternalXcore.g:6338:4: ( (lv_expression_5_0= ruleXExpression ) ) // InternalXcore.g:6339:1: (lv_expression_5_0= ruleXExpression ) { // InternalXcore.g:6339:1: (lv_expression_5_0= ruleXExpression ) // InternalXcore.g:6340:3: lv_expression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_expression_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXShortClosureRule()); } set( current, "expression", lv_expression_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXShortClosure" // $ANTLR start "entryRuleXParenthesizedExpression" // InternalXcore.g:6364:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ; public final EObject entryRuleXParenthesizedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXParenthesizedExpression = null; try { // InternalXcore.g:6365:2: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ) // InternalXcore.g:6366:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXParenthesizedExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXParenthesizedExpression" // $ANTLR start "ruleXParenthesizedExpression" // InternalXcore.g:6373:1: ruleXParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ; public final EObject ruleXParenthesizedExpression() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; EObject this_XExpression_1 = null; enterRule(); try { // InternalXcore.g:6376:28: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ) // InternalXcore.g:6377:1: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) { // InternalXcore.g:6377:1: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) // InternalXcore.g:6377:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' { otherlv_0=(Token)match(input,15,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_98); this_XExpression_1=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XExpression_1; afterParserOrEnumRuleCall(); } otherlv_2=(Token)match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXParenthesizedExpressionAccess().getRightParenthesisKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXParenthesizedExpression" // $ANTLR start "entryRuleXIfExpression" // InternalXcore.g:6402:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ; public final EObject entryRuleXIfExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXIfExpression = null; try { // InternalXcore.g:6403:2: (iv_ruleXIfExpression= ruleXIfExpression EOF ) // InternalXcore.g:6404:2: iv_ruleXIfExpression= ruleXIfExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXIfExpression=ruleXIfExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXIfExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXIfExpression" // $ANTLR start "ruleXIfExpression" // InternalXcore.g:6411:1: ruleXIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ; public final EObject ruleXIfExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_if_3_0 = null; EObject lv_then_5_0 = null; EObject lv_else_7_0 = null; enterRule(); try { // InternalXcore.g:6414:28: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ) // InternalXcore.g:6415:1: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) { // InternalXcore.g:6415:1: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) // InternalXcore.g:6415:2: () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? { // InternalXcore.g:6415:2: () // InternalXcore.g:6416:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(), current); } } otherlv_1=(Token)match(input,98,FollowSets000.FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); } otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); } // InternalXcore.g:6429:1: ( (lv_if_3_0= ruleXExpression ) ) // InternalXcore.g:6430:1: (lv_if_3_0= ruleXExpression ) { // InternalXcore.g:6430:1: (lv_if_3_0= ruleXExpression ) // InternalXcore.g:6431:3: lv_if_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_98); lv_if_3_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); } set( current, "if", lv_if_3_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); } // InternalXcore.g:6451:1: ( (lv_then_5_0= ruleXExpression ) ) // InternalXcore.g:6452:1: (lv_then_5_0= ruleXExpression ) { // InternalXcore.g:6452:1: (lv_then_5_0= ruleXExpression ) // InternalXcore.g:6453:3: lv_then_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_108); lv_then_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); } set( current, "then", lv_then_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:6469:2: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? int alt127=2; int LA127_0 = input.LA(1); if ( (LA127_0==99) ) { int LA127_1 = input.LA(2); if ( (synpred28_InternalXcore()) ) { alt127=1; } } switch (alt127) { case 1 : // InternalXcore.g:6469:3: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) { // InternalXcore.g:6469:3: ( ( 'else' )=>otherlv_6= 'else' ) // InternalXcore.g:6469:4: ( 'else' )=>otherlv_6= 'else' { otherlv_6=(Token)match(input,99,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); } } // InternalXcore.g:6474:2: ( (lv_else_7_0= ruleXExpression ) ) // InternalXcore.g:6475:1: (lv_else_7_0= ruleXExpression ) { // InternalXcore.g:6475:1: (lv_else_7_0= ruleXExpression ) // InternalXcore.g:6476:3: lv_else_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_else_7_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXIfExpressionRule()); } set( current, "else", lv_else_7_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXIfExpression" // $ANTLR start "entryRuleXSwitchExpression" // InternalXcore.g:6500:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ; public final EObject entryRuleXSwitchExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXSwitchExpression = null; try { // InternalXcore.g:6501:2: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ) // InternalXcore.g:6502:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXSwitchExpression=ruleXSwitchExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXSwitchExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXSwitchExpression" // $ANTLR start "ruleXSwitchExpression" // InternalXcore.g:6509:1: ruleXSwitchExpression returns [EObject current=null] : ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ; public final EObject ruleXSwitchExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_8=null; Token otherlv_10=null; Token otherlv_12=null; Token otherlv_13=null; Token otherlv_15=null; EObject lv_declaredParam_3_0 = null; EObject lv_switch_5_0 = null; EObject lv_declaredParam_7_0 = null; EObject lv_switch_9_0 = null; EObject lv_cases_11_0 = null; EObject lv_default_14_0 = null; enterRule(); try { // InternalXcore.g:6512:28: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ) // InternalXcore.g:6513:1: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) { // InternalXcore.g:6513:1: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) // InternalXcore.g:6513:2: () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' { // InternalXcore.g:6513:2: () // InternalXcore.g:6514:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(), current); } } otherlv_1=(Token)match(input,100,FollowSets000.FOLLOW_109); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); } // InternalXcore.g:6523:1: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) int alt129=2; alt129 = dfa129.predict(input); switch (alt129) { case 1 : // InternalXcore.g:6523:2: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) { // InternalXcore.g:6523:2: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) // InternalXcore.g:6523:3: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' { // InternalXcore.g:6523:3: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) // InternalXcore.g:6523:4: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) { // InternalXcore.g:6529:5: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) // InternalXcore.g:6529:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' { otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); } // InternalXcore.g:6533:1: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) // InternalXcore.g:6534:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) { // InternalXcore.g:6534:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) // InternalXcore.g:6535:3: lv_declaredParam_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_110); lv_declaredParam_3_0=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); } set( current, "declaredParam", lv_declaredParam_3_0, "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,101,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); } } } // InternalXcore.g:6555:3: ( (lv_switch_5_0= ruleXExpression ) ) // InternalXcore.g:6556:1: (lv_switch_5_0= ruleXExpression ) { // InternalXcore.g:6556:1: (lv_switch_5_0= ruleXExpression ) // InternalXcore.g:6557:3: lv_switch_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); } pushFollow(FollowSets000.FOLLOW_98); lv_switch_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); } set( current, "switch", lv_switch_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); } } } break; case 2 : // InternalXcore.g:6578:6: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) { // InternalXcore.g:6578:6: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) // InternalXcore.g:6578:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) { // InternalXcore.g:6578:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? int alt128=2; alt128 = dfa128.predict(input); switch (alt128) { case 1 : // InternalXcore.g:6578:8: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) { // InternalXcore.g:6583:5: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) // InternalXcore.g:6583:6: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' { // InternalXcore.g:6583:6: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) // InternalXcore.g:6584:1: (lv_declaredParam_7_0= ruleJvmFormalParameter ) { // InternalXcore.g:6584:1: (lv_declaredParam_7_0= ruleJvmFormalParameter ) // InternalXcore.g:6585:3: lv_declaredParam_7_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); } pushFollow(FollowSets000.FOLLOW_110); lv_declaredParam_7_0=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); } set( current, "declaredParam", lv_declaredParam_7_0, "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_8=(Token)match(input,101,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); } } } break; } // InternalXcore.g:6605:4: ( (lv_switch_9_0= ruleXExpression ) ) // InternalXcore.g:6606:1: (lv_switch_9_0= ruleXExpression ) { // InternalXcore.g:6606:1: (lv_switch_9_0= ruleXExpression ) // InternalXcore.g:6607:3: lv_switch_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_22); lv_switch_9_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); } set( current, "switch", lv_switch_9_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } break; } otherlv_10=(Token)match(input,29,FollowSets000.FOLLOW_111); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); } // InternalXcore.g:6627:1: ( (lv_cases_11_0= ruleXCasePart ) )* loop130: do { int alt130=2; int LA130_0 = input.LA(1); if ( (LA130_0==RULE_ID||(LA130_0>=15 && LA130_0<=16)||(LA130_0>=44 && LA130_0<=47)||LA130_0==56||LA130_0==85||LA130_0==101||LA130_0==103) ) { alt130=1; } switch (alt130) { case 1 : // InternalXcore.g:6628:1: (lv_cases_11_0= ruleXCasePart ) { // InternalXcore.g:6628:1: (lv_cases_11_0= ruleXCasePart ) // InternalXcore.g:6629:3: lv_cases_11_0= ruleXCasePart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_111); lv_cases_11_0=ruleXCasePart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); } add( current, "cases", lv_cases_11_0, "org.eclipse.xtext.xbase.Xbase.XCasePart"); afterParserOrEnumRuleCall(); } } } break; default : break loop130; } } while (true); // InternalXcore.g:6645:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? int alt131=2; int LA131_0 = input.LA(1); if ( (LA131_0==102) ) { alt131=1; } switch (alt131) { case 1 : // InternalXcore.g:6645:5: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) { otherlv_12=(Token)match(input,102,FollowSets000.FOLLOW_110); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); } otherlv_13=(Token)match(input,101,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); } // InternalXcore.g:6653:1: ( (lv_default_14_0= ruleXExpression ) ) // InternalXcore.g:6654:1: (lv_default_14_0= ruleXExpression ) { // InternalXcore.g:6654:1: (lv_default_14_0= ruleXExpression ) // InternalXcore.g:6655:3: lv_default_14_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); } pushFollow(FollowSets000.FOLLOW_112); lv_default_14_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); } set( current, "default", lv_default_14_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_15=(Token)match(input,30,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXSwitchExpression" // $ANTLR start "entryRuleXCasePart" // InternalXcore.g:6683:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ; public final EObject entryRuleXCasePart() throws RecognitionException { EObject current = null; EObject iv_ruleXCasePart = null; try { // InternalXcore.g:6684:2: (iv_ruleXCasePart= ruleXCasePart EOF ) // InternalXcore.g:6685:2: iv_ruleXCasePart= ruleXCasePart EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXCasePart=ruleXCasePart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCasePart; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCasePart" // $ANTLR start "ruleXCasePart" // InternalXcore.g:6692:1: ruleXCasePart returns [EObject current=null] : ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ; public final EObject ruleXCasePart() throws RecognitionException { EObject current = null; Token otherlv_2=null; Token otherlv_4=null; Token lv_fallThrough_6_0=null; EObject lv_typeGuard_1_0 = null; EObject lv_case_3_0 = null; EObject lv_then_5_0 = null; enterRule(); try { // InternalXcore.g:6695:28: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ) // InternalXcore.g:6696:1: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) { // InternalXcore.g:6696:1: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) // InternalXcore.g:6696:2: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) { // InternalXcore.g:6696:2: () // InternalXcore.g:6697:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXCasePartAccess().getXCasePartAction_0(), current); } } // InternalXcore.g:6702:2: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? int alt132=2; int LA132_0 = input.LA(1); if ( (LA132_0==RULE_ID||LA132_0==15||(LA132_0>=44 && LA132_0<=47)||LA132_0==56||LA132_0==85) ) { alt132=1; } switch (alt132) { case 1 : // InternalXcore.g:6703:1: (lv_typeGuard_1_0= ruleJvmTypeReference ) { // InternalXcore.g:6703:1: (lv_typeGuard_1_0= ruleJvmTypeReference ) // InternalXcore.g:6704:3: lv_typeGuard_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_113); lv_typeGuard_1_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXCasePartRule()); } set( current, "typeGuard", lv_typeGuard_1_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } break; } // InternalXcore.g:6720:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? int alt133=2; int LA133_0 = input.LA(1); if ( (LA133_0==103) ) { alt133=1; } switch (alt133) { case 1 : // InternalXcore.g:6720:5: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) { otherlv_2=(Token)match(input,103,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); } // InternalXcore.g:6724:1: ( (lv_case_3_0= ruleXExpression ) ) // InternalXcore.g:6725:1: (lv_case_3_0= ruleXExpression ) { // InternalXcore.g:6725:1: (lv_case_3_0= ruleXExpression ) // InternalXcore.g:6726:3: lv_case_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_114); lv_case_3_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXCasePartRule()); } set( current, "case", lv_case_3_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } // InternalXcore.g:6742:4: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) int alt134=2; int LA134_0 = input.LA(1); if ( (LA134_0==101) ) { alt134=1; } else if ( (LA134_0==16) ) { alt134=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 134, 0, input); throw nvae; } switch (alt134) { case 1 : // InternalXcore.g:6742:5: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) { // InternalXcore.g:6742:5: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) // InternalXcore.g:6742:7: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,101,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); } // InternalXcore.g:6746:1: ( (lv_then_5_0= ruleXExpression ) ) // InternalXcore.g:6747:1: (lv_then_5_0= ruleXExpression ) { // InternalXcore.g:6747:1: (lv_then_5_0= ruleXExpression ) // InternalXcore.g:6748:3: lv_then_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_then_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXCasePartRule()); } set( current, "then", lv_then_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalXcore.g:6765:6: ( (lv_fallThrough_6_0= ',' ) ) { // InternalXcore.g:6765:6: ( (lv_fallThrough_6_0= ',' ) ) // InternalXcore.g:6766:1: (lv_fallThrough_6_0= ',' ) { // InternalXcore.g:6766:1: (lv_fallThrough_6_0= ',' ) // InternalXcore.g:6767:3: lv_fallThrough_6_0= ',' { lv_fallThrough_6_0=(Token)match(input,16,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXCasePartRule()); } setWithLastConsumed(current, "fallThrough", true, ","); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXCasePart" // $ANTLR start "entryRuleXForLoopExpression" // InternalXcore.g:6788:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ; public final EObject entryRuleXForLoopExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXForLoopExpression = null; try { // InternalXcore.g:6789:2: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ) // InternalXcore.g:6790:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXForLoopExpression=ruleXForLoopExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXForLoopExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXForLoopExpression" // $ANTLR start "ruleXForLoopExpression" // InternalXcore.g:6797:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ; public final EObject ruleXForLoopExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_declaredParam_3_0 = null; EObject lv_forExpression_5_0 = null; EObject lv_eachExpression_7_0 = null; enterRule(); try { // InternalXcore.g:6800:28: ( ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ) // InternalXcore.g:6801:1: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) { // InternalXcore.g:6801:1: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) // InternalXcore.g:6801:2: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) { // InternalXcore.g:6801:2: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) // InternalXcore.g:6801:3: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) { // InternalXcore.g:6809:5: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) // InternalXcore.g:6809:6: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' { // InternalXcore.g:6809:6: () // InternalXcore.g:6810:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(), current); } } otherlv_1=(Token)match(input,104,FollowSets000.FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); } otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } // InternalXcore.g:6823:1: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) // InternalXcore.g:6824:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) { // InternalXcore.g:6824:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) // InternalXcore.g:6825:3: lv_declaredParam_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); } pushFollow(FollowSets000.FOLLOW_110); lv_declaredParam_3_0=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); } set( current, "declaredParam", lv_declaredParam_3_0, "org.eclipse.xtext.xbase.Xbase.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,101,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); } } } // InternalXcore.g:6845:3: ( (lv_forExpression_5_0= ruleXExpression ) ) // InternalXcore.g:6846:1: (lv_forExpression_5_0= ruleXExpression ) { // InternalXcore.g:6846:1: (lv_forExpression_5_0= ruleXExpression ) // InternalXcore.g:6847:3: lv_forExpression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_98); lv_forExpression_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); } set( current, "forExpression", lv_forExpression_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); } // InternalXcore.g:6867:1: ( (lv_eachExpression_7_0= ruleXExpression ) ) // InternalXcore.g:6868:1: (lv_eachExpression_7_0= ruleXExpression ) { // InternalXcore.g:6868:1: (lv_eachExpression_7_0= ruleXExpression ) // InternalXcore.g:6869:3: lv_eachExpression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_eachExpression_7_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); } set( current, "eachExpression", lv_eachExpression_7_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXForLoopExpression" // $ANTLR start "entryRuleXBasicForLoopExpression" // InternalXcore.g:6893:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ; public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXBasicForLoopExpression = null; try { // InternalXcore.g:6894:2: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ) // InternalXcore.g:6895:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXBasicForLoopExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXBasicForLoopExpression" // $ANTLR start "ruleXBasicForLoopExpression" // InternalXcore.g:6902:1: ruleXBasicForLoopExpression returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ; public final EObject ruleXBasicForLoopExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_8=null; Token otherlv_10=null; Token otherlv_12=null; EObject lv_initExpressions_3_0 = null; EObject lv_initExpressions_5_0 = null; EObject lv_expression_7_0 = null; EObject lv_updateExpressions_9_0 = null; EObject lv_updateExpressions_11_0 = null; EObject lv_eachExpression_13_0 = null; enterRule(); try { // InternalXcore.g:6905:28: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ) // InternalXcore.g:6906:1: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) { // InternalXcore.g:6906:1: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) // InternalXcore.g:6906:2: () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) { // InternalXcore.g:6906:2: () // InternalXcore.g:6907:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(), current); } } otherlv_1=(Token)match(input,104,FollowSets000.FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); } otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_115); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); } // InternalXcore.g:6920:1: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? int alt136=2; int LA136_0 = input.LA(1); if ( ((LA136_0>=RULE_STRING && LA136_0<=RULE_DECIMAL)||LA136_0==13||LA136_0==15||(LA136_0>=19 && LA136_0<=21)||LA136_0==23||(LA136_0>=25 && LA136_0<=29)||(LA136_0>=31 && LA136_0<=57)||LA136_0==59||LA136_0==62||LA136_0==66||(LA136_0>=68 && LA136_0<=69)||LA136_0==91||LA136_0==96||LA136_0==98||LA136_0==100||(LA136_0>=104 && LA136_0<=116)||LA136_0==118) ) { alt136=1; } switch (alt136) { case 1 : // InternalXcore.g:6920:2: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* { // InternalXcore.g:6920:2: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) // InternalXcore.g:6921:1: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) { // InternalXcore.g:6921:1: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) // InternalXcore.g:6922:3: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); } pushFollow(FollowSets000.FOLLOW_116); lv_initExpressions_3_0=ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); } add( current, "initExpressions", lv_initExpressions_3_0, "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:6938:2: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* loop135: do { int alt135=2; int LA135_0 = input.LA(1); if ( (LA135_0==16) ) { alt135=1; } switch (alt135) { case 1 : // InternalXcore.g:6938:4: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) { otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); } // InternalXcore.g:6942:1: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) // InternalXcore.g:6943:1: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) { // InternalXcore.g:6943:1: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) // InternalXcore.g:6944:3: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); } pushFollow(FollowSets000.FOLLOW_116); lv_initExpressions_5_0=ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); } add( current, "initExpressions", lv_initExpressions_5_0, "org.eclipse.xtext.xbase.Xbase.XExpressionOrVarDeclaration"); afterParserOrEnumRuleCall(); } } } } break; default : break loop135; } } while (true); } break; } otherlv_6=(Token)match(input,65,FollowSets000.FOLLOW_115); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); } // InternalXcore.g:6964:1: ( (lv_expression_7_0= ruleXExpression ) )? int alt137=2; int LA137_0 = input.LA(1); if ( ((LA137_0>=RULE_STRING && LA137_0<=RULE_DECIMAL)||LA137_0==13||LA137_0==15||(LA137_0>=19 && LA137_0<=21)||LA137_0==23||(LA137_0>=25 && LA137_0<=29)||(LA137_0>=31 && LA137_0<=57)||LA137_0==59||LA137_0==62||LA137_0==66||(LA137_0>=68 && LA137_0<=69)||LA137_0==91||LA137_0==96||LA137_0==98||LA137_0==100||(LA137_0>=104 && LA137_0<=106)||(LA137_0>=109 && LA137_0<=116)||LA137_0==118) ) { alt137=1; } switch (alt137) { case 1 : // InternalXcore.g:6965:1: (lv_expression_7_0= ruleXExpression ) { // InternalXcore.g:6965:1: (lv_expression_7_0= ruleXExpression ) // InternalXcore.g:6966:3: lv_expression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_117); lv_expression_7_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); } set( current, "expression", lv_expression_7_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } break; } otherlv_8=(Token)match(input,65,FollowSets000.FOLLOW_118); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); } // InternalXcore.g:6986:1: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? int alt139=2; int LA139_0 = input.LA(1); if ( ((LA139_0>=RULE_STRING && LA139_0<=RULE_DECIMAL)||LA139_0==13||LA139_0==15||(LA139_0>=19 && LA139_0<=21)||LA139_0==23||(LA139_0>=25 && LA139_0<=29)||(LA139_0>=31 && LA139_0<=57)||LA139_0==59||LA139_0==62||LA139_0==66||(LA139_0>=68 && LA139_0<=69)||LA139_0==91||LA139_0==96||LA139_0==98||LA139_0==100||(LA139_0>=104 && LA139_0<=106)||(LA139_0>=109 && LA139_0<=116)||LA139_0==118) ) { alt139=1; } switch (alt139) { case 1 : // InternalXcore.g:6986:2: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* { // InternalXcore.g:6986:2: ( (lv_updateExpressions_9_0= ruleXExpression ) ) // InternalXcore.g:6987:1: (lv_updateExpressions_9_0= ruleXExpression ) { // InternalXcore.g:6987:1: (lv_updateExpressions_9_0= ruleXExpression ) // InternalXcore.g:6988:3: lv_updateExpressions_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_updateExpressions_9_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); } add( current, "updateExpressions", lv_updateExpressions_9_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:7004:2: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* loop138: do { int alt138=2; int LA138_0 = input.LA(1); if ( (LA138_0==16) ) { alt138=1; } switch (alt138) { case 1 : // InternalXcore.g:7004:4: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) { otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); } // InternalXcore.g:7008:1: ( (lv_updateExpressions_11_0= ruleXExpression ) ) // InternalXcore.g:7009:1: (lv_updateExpressions_11_0= ruleXExpression ) { // InternalXcore.g:7009:1: (lv_updateExpressions_11_0= ruleXExpression ) // InternalXcore.g:7010:3: lv_updateExpressions_11_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_updateExpressions_11_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); } add( current, "updateExpressions", lv_updateExpressions_11_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop138; } } while (true); } break; } otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); } // InternalXcore.g:7030:1: ( (lv_eachExpression_13_0= ruleXExpression ) ) // InternalXcore.g:7031:1: (lv_eachExpression_13_0= ruleXExpression ) { // InternalXcore.g:7031:1: (lv_eachExpression_13_0= ruleXExpression ) // InternalXcore.g:7032:3: lv_eachExpression_13_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_eachExpression_13_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXBasicForLoopExpressionRule()); } set( current, "eachExpression", lv_eachExpression_13_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXBasicForLoopExpression" // $ANTLR start "entryRuleXWhileExpression" // InternalXcore.g:7056:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ; public final EObject entryRuleXWhileExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXWhileExpression = null; try { // InternalXcore.g:7057:2: (iv_ruleXWhileExpression= ruleXWhileExpression EOF ) // InternalXcore.g:7058:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXWhileExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXWhileExpression=ruleXWhileExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXWhileExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXWhileExpression" // $ANTLR start "ruleXWhileExpression" // InternalXcore.g:7065:1: ruleXWhileExpression returns [EObject current=null] : ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ; public final EObject ruleXWhileExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; EObject lv_predicate_3_0 = null; EObject lv_body_5_0 = null; enterRule(); try { // InternalXcore.g:7068:28: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ) // InternalXcore.g:7069:1: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) { // InternalXcore.g:7069:1: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) // InternalXcore.g:7069:2: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) { // InternalXcore.g:7069:2: () // InternalXcore.g:7070:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(), current); } } otherlv_1=(Token)match(input,105,FollowSets000.FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); } otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); } // InternalXcore.g:7083:1: ( (lv_predicate_3_0= ruleXExpression ) ) // InternalXcore.g:7084:1: (lv_predicate_3_0= ruleXExpression ) { // InternalXcore.g:7084:1: (lv_predicate_3_0= ruleXExpression ) // InternalXcore.g:7085:3: lv_predicate_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_98); lv_predicate_3_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); } set( current, "predicate", lv_predicate_3_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); } // InternalXcore.g:7105:1: ( (lv_body_5_0= ruleXExpression ) ) // InternalXcore.g:7106:1: (lv_body_5_0= ruleXExpression ) { // InternalXcore.g:7106:1: (lv_body_5_0= ruleXExpression ) // InternalXcore.g:7107:3: lv_body_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_body_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXWhileExpressionRule()); } set( current, "body", lv_body_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXWhileExpression" // $ANTLR start "entryRuleXDoWhileExpression" // InternalXcore.g:7131:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ; public final EObject entryRuleXDoWhileExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXDoWhileExpression = null; try { // InternalXcore.g:7132:2: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ) // InternalXcore.g:7133:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXDoWhileExpression=ruleXDoWhileExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXDoWhileExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXDoWhileExpression" // $ANTLR start "ruleXDoWhileExpression" // InternalXcore.g:7140:1: ruleXDoWhileExpression returns [EObject current=null] : ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ; public final EObject ruleXDoWhileExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_body_2_0 = null; EObject lv_predicate_5_0 = null; enterRule(); try { // InternalXcore.g:7143:28: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ) // InternalXcore.g:7144:1: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) { // InternalXcore.g:7144:1: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) // InternalXcore.g:7144:2: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' { // InternalXcore.g:7144:2: () // InternalXcore.g:7145:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(), current); } } otherlv_1=(Token)match(input,106,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); } // InternalXcore.g:7154:1: ( (lv_body_2_0= ruleXExpression ) ) // InternalXcore.g:7155:1: (lv_body_2_0= ruleXExpression ) { // InternalXcore.g:7155:1: (lv_body_2_0= ruleXExpression ) // InternalXcore.g:7156:3: lv_body_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_119); lv_body_2_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); } set( current, "body", lv_body_2_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,105,FollowSets000.FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); } otherlv_4=(Token)match(input,15,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); } // InternalXcore.g:7180:1: ( (lv_predicate_5_0= ruleXExpression ) ) // InternalXcore.g:7181:1: (lv_predicate_5_0= ruleXExpression ) { // InternalXcore.g:7181:1: (lv_predicate_5_0= ruleXExpression ) // InternalXcore.g:7182:3: lv_predicate_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_98); lv_predicate_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXDoWhileExpressionRule()); } set( current, "predicate", lv_predicate_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_6=(Token)match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXDoWhileExpressionAccess().getRightParenthesisKeyword_6()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXDoWhileExpression" // $ANTLR start "entryRuleXExpressionOrVarDeclaration" // InternalXcore.g:7210:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ; public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXExpressionOrVarDeclaration = null; try { // InternalXcore.g:7211:2: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ) // InternalXcore.g:7212:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXExpressionOrVarDeclaration; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXExpressionOrVarDeclaration" // $ANTLR start "ruleXExpressionOrVarDeclaration" // InternalXcore.g:7219:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ; public final EObject ruleXExpressionOrVarDeclaration() throws RecognitionException { EObject current = null; EObject this_XVariableDeclaration_0 = null; EObject this_XExpression_1 = null; enterRule(); try { // InternalXcore.g:7222:28: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ) // InternalXcore.g:7223:1: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) { // InternalXcore.g:7223:1: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) int alt140=2; int LA140_0 = input.LA(1); if ( ((LA140_0>=107 && LA140_0<=108)) ) { alt140=1; } else if ( ((LA140_0>=RULE_STRING && LA140_0<=RULE_DECIMAL)||LA140_0==13||LA140_0==15||(LA140_0>=19 && LA140_0<=21)||LA140_0==23||(LA140_0>=25 && LA140_0<=29)||(LA140_0>=31 && LA140_0<=57)||LA140_0==59||LA140_0==62||LA140_0==66||(LA140_0>=68 && LA140_0<=69)||LA140_0==91||LA140_0==96||LA140_0==98||LA140_0==100||(LA140_0>=104 && LA140_0<=106)||(LA140_0>=109 && LA140_0<=116)||LA140_0==118) ) { alt140=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 140, 0, input); throw nvae; } switch (alt140) { case 1 : // InternalXcore.g:7224:5: this_XVariableDeclaration_0= ruleXVariableDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_XVariableDeclaration_0=ruleXVariableDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XVariableDeclaration_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:7234:5: this_XExpression_1= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_2); this_XExpression_1=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XExpression_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXExpressionOrVarDeclaration" // $ANTLR start "entryRuleXVariableDeclaration" // InternalXcore.g:7250:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ; public final EObject entryRuleXVariableDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXVariableDeclaration = null; try { // InternalXcore.g:7251:2: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ) // InternalXcore.g:7252:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXVariableDeclaration=ruleXVariableDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXVariableDeclaration; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXVariableDeclaration" // $ANTLR start "ruleXVariableDeclaration" // InternalXcore.g:7259:1: ruleXVariableDeclaration returns [EObject current=null] : ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ; public final EObject ruleXVariableDeclaration() throws RecognitionException { EObject current = null; Token lv_writeable_1_0=null; Token otherlv_2=null; Token otherlv_6=null; EObject lv_type_3_0 = null; AntlrDatatypeRuleToken lv_name_4_0 = null; AntlrDatatypeRuleToken lv_name_5_0 = null; EObject lv_right_7_0 = null; enterRule(); try { // InternalXcore.g:7262:28: ( ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ) // InternalXcore.g:7263:1: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) { // InternalXcore.g:7263:1: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) // InternalXcore.g:7263:2: () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? { // InternalXcore.g:7263:2: () // InternalXcore.g:7264:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(), current); } } // InternalXcore.g:7269:2: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) int alt141=2; int LA141_0 = input.LA(1); if ( (LA141_0==107) ) { alt141=1; } else if ( (LA141_0==108) ) { alt141=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 141, 0, input); throw nvae; } switch (alt141) { case 1 : // InternalXcore.g:7269:3: ( (lv_writeable_1_0= 'var' ) ) { // InternalXcore.g:7269:3: ( (lv_writeable_1_0= 'var' ) ) // InternalXcore.g:7270:1: (lv_writeable_1_0= 'var' ) { // InternalXcore.g:7270:1: (lv_writeable_1_0= 'var' ) // InternalXcore.g:7271:3: lv_writeable_1_0= 'var' { lv_writeable_1_0=(Token)match(input,107,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXVariableDeclarationRule()); } setWithLastConsumed(current, "writeable", true, "var"); } } } } break; case 2 : // InternalXcore.g:7285:7: otherlv_2= 'val' { otherlv_2=(Token)match(input,108,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); } } break; } // InternalXcore.g:7289:2: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) int alt142=2; alt142 = dfa142.predict(input); switch (alt142) { case 1 : // InternalXcore.g:7289:3: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) { // InternalXcore.g:7289:3: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) // InternalXcore.g:7289:4: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) { // InternalXcore.g:7297:6: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) // InternalXcore.g:7297:7: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) { // InternalXcore.g:7297:7: ( (lv_type_3_0= ruleJvmTypeReference ) ) // InternalXcore.g:7298:1: (lv_type_3_0= ruleJvmTypeReference ) { // InternalXcore.g:7298:1: (lv_type_3_0= ruleJvmTypeReference ) // InternalXcore.g:7299:3: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); } pushFollow(FollowSets000.FOLLOW_4); lv_type_3_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); } set( current, "type", lv_type_3_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:7315:2: ( (lv_name_4_0= ruleValidID ) ) // InternalXcore.g:7316:1: (lv_name_4_0= ruleValidID ) { // InternalXcore.g:7316:1: (lv_name_4_0= ruleValidID ) // InternalXcore.g:7317:3: lv_name_4_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_27); lv_name_4_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); } set( current, "name", lv_name_4_0, "org.eclipse.emf.ecore.xcore.Xcore.ValidID"); afterParserOrEnumRuleCall(); } } } } } } break; case 2 : // InternalXcore.g:7334:6: ( (lv_name_5_0= ruleValidID ) ) { // InternalXcore.g:7334:6: ( (lv_name_5_0= ruleValidID ) ) // InternalXcore.g:7335:1: (lv_name_5_0= ruleValidID ) { // InternalXcore.g:7335:1: (lv_name_5_0= ruleValidID ) // InternalXcore.g:7336:3: lv_name_5_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_27); lv_name_5_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); } set( current, "name", lv_name_5_0, "org.eclipse.emf.ecore.xcore.Xcore.ValidID"); afterParserOrEnumRuleCall(); } } } } break; } // InternalXcore.g:7352:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? int alt143=2; int LA143_0 = input.LA(1); if ( (LA143_0==18) ) { alt143=1; } switch (alt143) { case 1 : // InternalXcore.g:7352:5: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) { otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); } // InternalXcore.g:7356:1: ( (lv_right_7_0= ruleXExpression ) ) // InternalXcore.g:7357:1: (lv_right_7_0= ruleXExpression ) { // InternalXcore.g:7357:1: (lv_right_7_0= ruleXExpression ) // InternalXcore.g:7358:3: lv_right_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_right_7_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); } set( current, "right", lv_right_7_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXVariableDeclaration" // $ANTLR start "entryRuleJvmFormalParameter" // InternalXcore.g:7382:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ; public final EObject entryRuleJvmFormalParameter() throws RecognitionException { EObject current = null; EObject iv_ruleJvmFormalParameter = null; try { // InternalXcore.g:7383:2: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ) // InternalXcore.g:7384:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleJvmFormalParameter=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmFormalParameter; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmFormalParameter" // $ANTLR start "ruleJvmFormalParameter" // InternalXcore.g:7391:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ; public final EObject ruleJvmFormalParameter() throws RecognitionException { EObject current = null; EObject lv_parameterType_0_0 = null; AntlrDatatypeRuleToken lv_name_1_0 = null; enterRule(); try { // InternalXcore.g:7394:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ) // InternalXcore.g:7395:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) { // InternalXcore.g:7395:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) // InternalXcore.g:7395:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) { // InternalXcore.g:7395:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? int alt144=2; switch ( input.LA(1) ) { case RULE_ID: { int LA144_1 = input.LA(2); if ( (LA144_1==RULE_ID||LA144_1==23||(LA144_1>=44 && LA144_1<=47)||LA144_1==56||LA144_1==59||LA144_1==67) ) { alt144=1; } } break; case 44: { int LA144_2 = input.LA(2); if ( (LA144_2==RULE_ID||LA144_2==23||(LA144_2>=44 && LA144_2<=47)||LA144_2==56||LA144_2==59||LA144_2==67) ) { alt144=1; } } break; case 46: { int LA144_3 = input.LA(2); if ( (LA144_3==RULE_ID||LA144_3==23||(LA144_3>=44 && LA144_3<=47)||LA144_3==56||LA144_3==59||LA144_3==67) ) { alt144=1; } } break; case 45: { int LA144_4 = input.LA(2); if ( (LA144_4==RULE_ID||LA144_4==23||(LA144_4>=44 && LA144_4<=47)||LA144_4==56||LA144_4==59||LA144_4==67) ) { alt144=1; } } break; case 47: { int LA144_5 = input.LA(2); if ( (LA144_5==RULE_ID||LA144_5==23||(LA144_5>=44 && LA144_5<=47)||LA144_5==56||LA144_5==59||LA144_5==67) ) { alt144=1; } } break; case 56: { int LA144_6 = input.LA(2); if ( (LA144_6==RULE_ID||LA144_6==23||(LA144_6>=44 && LA144_6<=47)||LA144_6==56||LA144_6==59||LA144_6==67) ) { alt144=1; } } break; case 15: case 85: { alt144=1; } break; } switch (alt144) { case 1 : // InternalXcore.g:7396:1: (lv_parameterType_0_0= ruleJvmTypeReference ) { // InternalXcore.g:7396:1: (lv_parameterType_0_0= ruleJvmTypeReference ) // InternalXcore.g:7397:3: lv_parameterType_0_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_4); lv_parameterType_0_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); } set( current, "parameterType", lv_parameterType_0_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } break; } // InternalXcore.g:7413:3: ( (lv_name_1_0= ruleValidID ) ) // InternalXcore.g:7414:1: (lv_name_1_0= ruleValidID ) { // InternalXcore.g:7414:1: (lv_name_1_0= ruleValidID ) // InternalXcore.g:7415:3: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_name_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); } set( current, "name", lv_name_1_0, "org.eclipse.emf.ecore.xcore.Xcore.ValidID"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmFormalParameter" // $ANTLR start "entryRuleFullJvmFormalParameter" // InternalXcore.g:7439:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ; public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException { EObject current = null; EObject iv_ruleFullJvmFormalParameter = null; try { // InternalXcore.g:7440:2: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ) // InternalXcore.g:7441:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFullJvmFormalParameter; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFullJvmFormalParameter" // $ANTLR start "ruleFullJvmFormalParameter" // InternalXcore.g:7448:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ; public final EObject ruleFullJvmFormalParameter() throws RecognitionException { EObject current = null; EObject lv_parameterType_0_0 = null; AntlrDatatypeRuleToken lv_name_1_0 = null; enterRule(); try { // InternalXcore.g:7451:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ) // InternalXcore.g:7452:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) { // InternalXcore.g:7452:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) // InternalXcore.g:7452:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) { // InternalXcore.g:7452:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) // InternalXcore.g:7453:1: (lv_parameterType_0_0= ruleJvmTypeReference ) { // InternalXcore.g:7453:1: (lv_parameterType_0_0= ruleJvmTypeReference ) // InternalXcore.g:7454:3: lv_parameterType_0_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_4); lv_parameterType_0_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); } set( current, "parameterType", lv_parameterType_0_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:7470:2: ( (lv_name_1_0= ruleValidID ) ) // InternalXcore.g:7471:1: (lv_name_1_0= ruleValidID ) { // InternalXcore.g:7471:1: (lv_name_1_0= ruleValidID ) // InternalXcore.g:7472:3: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_name_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); } set( current, "name", lv_name_1_0, "org.eclipse.emf.ecore.xcore.Xcore.ValidID"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFullJvmFormalParameter" // $ANTLR start "entryRuleXFeatureCall" // InternalXcore.g:7496:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ; public final EObject entryRuleXFeatureCall() throws RecognitionException { EObject current = null; EObject iv_ruleXFeatureCall = null; try { // InternalXcore.g:7497:2: (iv_ruleXFeatureCall= ruleXFeatureCall EOF ) // InternalXcore.g:7498:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXFeatureCall=ruleXFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXFeatureCall; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXFeatureCall" // $ANTLR start "ruleXFeatureCall" // InternalXcore.g:7505:1: ruleXFeatureCall returns [EObject current=null] : ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ; public final EObject ruleXFeatureCall() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; Token lv_explicitOperationCall_7_0=null; Token otherlv_10=null; Token otherlv_12=null; EObject lv_typeArguments_2_0 = null; EObject lv_typeArguments_4_0 = null; EObject lv_featureCallArguments_8_0 = null; EObject lv_featureCallArguments_9_0 = null; EObject lv_featureCallArguments_11_0 = null; EObject lv_featureCallArguments_13_0 = null; enterRule(); try { // InternalXcore.g:7508:28: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ) // InternalXcore.g:7509:1: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) { // InternalXcore.g:7509:1: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) // InternalXcore.g:7509:2: () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? { // InternalXcore.g:7509:2: () // InternalXcore.g:7510:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(), current); } } // InternalXcore.g:7515:2: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? int alt146=2; int LA146_0 = input.LA(1); if ( (LA146_0==23) ) { alt146=1; } switch (alt146) { case 1 : // InternalXcore.g:7515:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' { otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); } // InternalXcore.g:7519:1: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) // InternalXcore.g:7520:1: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) { // InternalXcore.g:7520:1: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) // InternalXcore.g:7521:3: lv_typeArguments_2_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeArguments_2_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); } add( current, "typeArguments", lv_typeArguments_2_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:7537:2: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* loop145: do { int alt145=2; int LA145_0 = input.LA(1); if ( (LA145_0==16) ) { alt145=1; } switch (alt145) { case 1 : // InternalXcore.g:7537:4: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) { otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_95); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); } // InternalXcore.g:7541:1: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) // InternalXcore.g:7542:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) { // InternalXcore.g:7542:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) // InternalXcore.g:7543:3: lv_typeArguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeArguments_4_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); } add( current, "typeArguments", lv_typeArguments_4_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop145; } } while (true); otherlv_5=(Token)match(input,24,FollowSets000.FOLLOW_94); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); } } break; } // InternalXcore.g:7563:3: ( ( ruleIdOrSuper ) ) // InternalXcore.g:7564:1: ( ruleIdOrSuper ) { // InternalXcore.g:7564:1: ( ruleIdOrSuper ) // InternalXcore.g:7565:3: ruleIdOrSuper { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXFeatureCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); } pushFollow(FollowSets000.FOLLOW_120); ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:7578:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? int alt149=2; alt149 = dfa149.predict(input); switch (alt149) { case 1 : // InternalXcore.g:7578:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' { // InternalXcore.g:7578:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) // InternalXcore.g:7578:4: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) { // InternalXcore.g:7585:1: (lv_explicitOperationCall_7_0= '(' ) // InternalXcore.g:7586:3: lv_explicitOperationCall_7_0= '(' { lv_explicitOperationCall_7_0=(Token)match(input,15,FollowSets000.FOLLOW_97); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_explicitOperationCall_7_0, grammarAccess.getXFeatureCallAccess().getExplicitOperationCallLeftParenthesisKeyword_3_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXFeatureCallRule()); } setWithLastConsumed(current, "explicitOperationCall", true, "("); } } } // InternalXcore.g:7599:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? int alt148=3; alt148 = dfa148.predict(input); switch (alt148) { case 1 : // InternalXcore.g:7599:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) { // InternalXcore.g:7599:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) // InternalXcore.g:7599:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) { // InternalXcore.g:7616:1: (lv_featureCallArguments_8_0= ruleXShortClosure ) // InternalXcore.g:7617:3: lv_featureCallArguments_8_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); } pushFollow(FollowSets000.FOLLOW_98); lv_featureCallArguments_8_0=ruleXShortClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); } add( current, "featureCallArguments", lv_featureCallArguments_8_0, "org.eclipse.xtext.xbase.Xbase.XShortClosure"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalXcore.g:7634:6: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) { // InternalXcore.g:7634:6: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) // InternalXcore.g:7634:7: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* { // InternalXcore.g:7634:7: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) // InternalXcore.g:7635:1: (lv_featureCallArguments_9_0= ruleXExpression ) { // InternalXcore.g:7635:1: (lv_featureCallArguments_9_0= ruleXExpression ) // InternalXcore.g:7636:3: lv_featureCallArguments_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_featureCallArguments_9_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); } add( current, "featureCallArguments", lv_featureCallArguments_9_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:7652:2: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* loop147: do { int alt147=2; int LA147_0 = input.LA(1); if ( (LA147_0==16) ) { alt147=1; } switch (alt147) { case 1 : // InternalXcore.g:7652:4: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) { otherlv_10=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); } // InternalXcore.g:7656:1: ( (lv_featureCallArguments_11_0= ruleXExpression ) ) // InternalXcore.g:7657:1: (lv_featureCallArguments_11_0= ruleXExpression ) { // InternalXcore.g:7657:1: (lv_featureCallArguments_11_0= ruleXExpression ) // InternalXcore.g:7658:3: lv_featureCallArguments_11_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_featureCallArguments_11_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); } add( current, "featureCallArguments", lv_featureCallArguments_11_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop147; } } while (true); } } break; } otherlv_12=(Token)match(input,17,FollowSets000.FOLLOW_121); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); } } break; } // InternalXcore.g:7678:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? int alt150=2; alt150 = dfa150.predict(input); switch (alt150) { case 1 : // InternalXcore.g:7678:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) { // InternalXcore.g:7681:1: (lv_featureCallArguments_13_0= ruleXClosure ) // InternalXcore.g:7682:3: lv_featureCallArguments_13_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_featureCallArguments_13_0=ruleXClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFeatureCallRule()); } add( current, "featureCallArguments", lv_featureCallArguments_13_0, "org.eclipse.xtext.xbase.Xbase.XClosure"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXFeatureCall" // $ANTLR start "entryRuleIdOrSuper" // InternalXcore.g:7706:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ; public final String entryRuleIdOrSuper() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleIdOrSuper = null; try { // InternalXcore.g:7707:2: (iv_ruleIdOrSuper= ruleIdOrSuper EOF ) // InternalXcore.g:7708:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIdOrSuperRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleIdOrSuper=ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleIdOrSuper.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleIdOrSuper" // $ANTLR start "ruleIdOrSuper" // InternalXcore.g:7715:1: ruleIdOrSuper returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ; public final AntlrDatatypeRuleToken ruleIdOrSuper() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_FeatureCallID_0 = null; enterRule(); try { // InternalXcore.g:7718:28: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ) // InternalXcore.g:7719:1: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) { // InternalXcore.g:7719:1: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) int alt151=2; int LA151_0 = input.LA(1); if ( (LA151_0==RULE_ID||LA151_0==13||(LA151_0>=19 && LA151_0<=21)||(LA151_0>=25 && LA151_0<=28)||(LA151_0>=32 && LA151_0<=57)||(LA151_0>=68 && LA151_0<=69)) ) { alt151=1; } else if ( (LA151_0==66) ) { alt151=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 151, 0, input); throw nvae; } switch (alt151) { case 1 : // InternalXcore.g:7720:5: this_FeatureCallID_0= ruleFeatureCallID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_FeatureCallID_0=ruleFeatureCallID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_FeatureCallID_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:7732:2: kw= 'super' { kw=(Token)match(input,66,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleIdOrSuper" // $ANTLR start "entryRuleXConstructorCall" // InternalXcore.g:7745:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ; public final EObject entryRuleXConstructorCall() throws RecognitionException { EObject current = null; EObject iv_ruleXConstructorCall = null; try { // InternalXcore.g:7746:2: (iv_ruleXConstructorCall= ruleXConstructorCall EOF ) // InternalXcore.g:7747:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXConstructorCall=ruleXConstructorCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXConstructorCall; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXConstructorCall" // $ANTLR start "ruleXConstructorCall" // InternalXcore.g:7754:1: ruleXConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ; public final EObject ruleXConstructorCall() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Token lv_explicitConstructorCall_8_0=null; Token otherlv_11=null; Token otherlv_13=null; EObject lv_typeArguments_4_0 = null; EObject lv_typeArguments_6_0 = null; EObject lv_arguments_9_0 = null; EObject lv_arguments_10_0 = null; EObject lv_arguments_12_0 = null; EObject lv_arguments_14_0 = null; enterRule(); try { // InternalXcore.g:7757:28: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ) // InternalXcore.g:7758:1: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) { // InternalXcore.g:7758:1: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) // InternalXcore.g:7758:2: () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? { // InternalXcore.g:7758:2: () // InternalXcore.g:7759:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(), current); } } otherlv_1=(Token)match(input,109,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); } // InternalXcore.g:7768:1: ( ( ruleQualifiedName ) ) // InternalXcore.g:7769:1: ( ruleQualifiedName ) { // InternalXcore.g:7769:1: ( ruleQualifiedName ) // InternalXcore.g:7770:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXConstructorCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); } pushFollow(FollowSets000.FOLLOW_122); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:7783:2: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? int alt153=2; alt153 = dfa153.predict(input); switch (alt153) { case 1 : // InternalXcore.g:7783:3: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' { // InternalXcore.g:7783:3: ( ( '<' )=>otherlv_3= '<' ) // InternalXcore.g:7783:4: ( '<' )=>otherlv_3= '<' { otherlv_3=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); } } // InternalXcore.g:7788:2: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) // InternalXcore.g:7789:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) { // InternalXcore.g:7789:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) // InternalXcore.g:7790:3: lv_typeArguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeArguments_4_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "typeArguments", lv_typeArguments_4_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:7806:2: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* loop152: do { int alt152=2; int LA152_0 = input.LA(1); if ( (LA152_0==16) ) { alt152=1; } switch (alt152) { case 1 : // InternalXcore.g:7806:4: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) { otherlv_5=(Token)match(input,16,FollowSets000.FOLLOW_95); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); } // InternalXcore.g:7810:1: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) // InternalXcore.g:7811:1: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) { // InternalXcore.g:7811:1: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) // InternalXcore.g:7812:3: lv_typeArguments_6_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_typeArguments_6_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "typeArguments", lv_typeArguments_6_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop152; } } while (true); otherlv_7=(Token)match(input,24,FollowSets000.FOLLOW_120); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); } } break; } // InternalXcore.g:7832:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? int alt156=2; alt156 = dfa156.predict(input); switch (alt156) { case 1 : // InternalXcore.g:7832:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' { // InternalXcore.g:7832:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) // InternalXcore.g:7832:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) { // InternalXcore.g:7839:1: (lv_explicitConstructorCall_8_0= '(' ) // InternalXcore.g:7840:3: lv_explicitConstructorCall_8_0= '(' { lv_explicitConstructorCall_8_0=(Token)match(input,15,FollowSets000.FOLLOW_97); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXConstructorCallRule()); } setWithLastConsumed(current, "explicitConstructorCall", true, "("); } } } // InternalXcore.g:7853:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? int alt155=3; alt155 = dfa155.predict(input); switch (alt155) { case 1 : // InternalXcore.g:7853:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) { // InternalXcore.g:7853:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) // InternalXcore.g:7853:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) { // InternalXcore.g:7870:1: (lv_arguments_9_0= ruleXShortClosure ) // InternalXcore.g:7871:3: lv_arguments_9_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); } pushFollow(FollowSets000.FOLLOW_98); lv_arguments_9_0=ruleXShortClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "arguments", lv_arguments_9_0, "org.eclipse.xtext.xbase.Xbase.XShortClosure"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalXcore.g:7888:6: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) { // InternalXcore.g:7888:6: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) // InternalXcore.g:7888:7: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* { // InternalXcore.g:7888:7: ( (lv_arguments_10_0= ruleXExpression ) ) // InternalXcore.g:7889:1: (lv_arguments_10_0= ruleXExpression ) { // InternalXcore.g:7889:1: (lv_arguments_10_0= ruleXExpression ) // InternalXcore.g:7890:3: lv_arguments_10_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_arguments_10_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "arguments", lv_arguments_10_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:7906:2: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* loop154: do { int alt154=2; int LA154_0 = input.LA(1); if ( (LA154_0==16) ) { alt154=1; } switch (alt154) { case 1 : // InternalXcore.g:7906:4: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) { otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); } // InternalXcore.g:7910:1: ( (lv_arguments_12_0= ruleXExpression ) ) // InternalXcore.g:7911:1: (lv_arguments_12_0= ruleXExpression ) { // InternalXcore.g:7911:1: (lv_arguments_12_0= ruleXExpression ) // InternalXcore.g:7912:3: lv_arguments_12_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_arguments_12_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "arguments", lv_arguments_12_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop154; } } while (true); } } break; } otherlv_13=(Token)match(input,17,FollowSets000.FOLLOW_121); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); } } break; } // InternalXcore.g:7932:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? int alt157=2; alt157 = dfa157.predict(input); switch (alt157) { case 1 : // InternalXcore.g:7932:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) { // InternalXcore.g:7935:1: (lv_arguments_14_0= ruleXClosure ) // InternalXcore.g:7936:3: lv_arguments_14_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_arguments_14_0=ruleXClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "arguments", lv_arguments_14_0, "org.eclipse.xtext.xbase.Xbase.XClosure"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXConstructorCall" // $ANTLR start "entryRuleXBooleanLiteral" // InternalXcore.g:7960:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ; public final EObject entryRuleXBooleanLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXBooleanLiteral = null; try { // InternalXcore.g:7961:2: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ) // InternalXcore.g:7962:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBooleanLiteralRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXBooleanLiteral=ruleXBooleanLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXBooleanLiteral; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXBooleanLiteral" // $ANTLR start "ruleXBooleanLiteral" // InternalXcore.g:7969:1: ruleXBooleanLiteral returns [EObject current=null] : ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ; public final EObject ruleXBooleanLiteral() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token lv_isTrue_2_0=null; enterRule(); try { // InternalXcore.g:7972:28: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ) // InternalXcore.g:7973:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) { // InternalXcore.g:7973:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) // InternalXcore.g:7973:2: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) { // InternalXcore.g:7973:2: () // InternalXcore.g:7974:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(), current); } } // InternalXcore.g:7979:2: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) int alt158=2; int LA158_0 = input.LA(1); if ( (LA158_0==110) ) { alt158=1; } else if ( (LA158_0==111) ) { alt158=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 158, 0, input); throw nvae; } switch (alt158) { case 1 : // InternalXcore.g:7979:4: otherlv_1= 'false' { otherlv_1=(Token)match(input,110,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); } } break; case 2 : // InternalXcore.g:7984:6: ( (lv_isTrue_2_0= 'true' ) ) { // InternalXcore.g:7984:6: ( (lv_isTrue_2_0= 'true' ) ) // InternalXcore.g:7985:1: (lv_isTrue_2_0= 'true' ) { // InternalXcore.g:7985:1: (lv_isTrue_2_0= 'true' ) // InternalXcore.g:7986:3: lv_isTrue_2_0= 'true' { lv_isTrue_2_0=(Token)match(input,111,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_isTrue_2_0, grammarAccess.getXBooleanLiteralAccess().getIsTrueTrueKeyword_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXBooleanLiteralRule()); } setWithLastConsumed(current, "isTrue", true, "true"); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXBooleanLiteral" // $ANTLR start "entryRuleXNullLiteral" // InternalXcore.g:8007:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ; public final EObject entryRuleXNullLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXNullLiteral = null; try { // InternalXcore.g:8008:2: (iv_ruleXNullLiteral= ruleXNullLiteral EOF ) // InternalXcore.g:8009:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXNullLiteralRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXNullLiteral=ruleXNullLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXNullLiteral; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXNullLiteral" // $ANTLR start "ruleXNullLiteral" // InternalXcore.g:8016:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ; public final EObject ruleXNullLiteral() throws RecognitionException { EObject current = null; Token otherlv_1=null; enterRule(); try { // InternalXcore.g:8019:28: ( ( () otherlv_1= 'null' ) ) // InternalXcore.g:8020:1: ( () otherlv_1= 'null' ) { // InternalXcore.g:8020:1: ( () otherlv_1= 'null' ) // InternalXcore.g:8020:2: () otherlv_1= 'null' { // InternalXcore.g:8020:2: () // InternalXcore.g:8021:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(), current); } } otherlv_1=(Token)match(input,112,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXNullLiteralAccess().getNullKeyword_1()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXNullLiteral" // $ANTLR start "entryRuleXNumberLiteral" // InternalXcore.g:8038:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ; public final EObject entryRuleXNumberLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXNumberLiteral = null; try { // InternalXcore.g:8039:2: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ) // InternalXcore.g:8040:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXNumberLiteralRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXNumberLiteral=ruleXNumberLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXNumberLiteral; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXNumberLiteral" // $ANTLR start "ruleXNumberLiteral" // InternalXcore.g:8047:1: ruleXNumberLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= ruleNumber ) ) ) ; public final EObject ruleXNumberLiteral() throws RecognitionException { EObject current = null; AntlrDatatypeRuleToken lv_value_1_0 = null; enterRule(); try { // InternalXcore.g:8050:28: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) ) // InternalXcore.g:8051:1: ( () ( (lv_value_1_0= ruleNumber ) ) ) { // InternalXcore.g:8051:1: ( () ( (lv_value_1_0= ruleNumber ) ) ) // InternalXcore.g:8051:2: () ( (lv_value_1_0= ruleNumber ) ) { // InternalXcore.g:8051:2: () // InternalXcore.g:8052:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(), current); } } // InternalXcore.g:8057:2: ( (lv_value_1_0= ruleNumber ) ) // InternalXcore.g:8058:1: (lv_value_1_0= ruleNumber ) { // InternalXcore.g:8058:1: (lv_value_1_0= ruleNumber ) // InternalXcore.g:8059:3: lv_value_1_0= ruleNumber { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_value_1_0=ruleNumber(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXNumberLiteralRule()); } set( current, "value", lv_value_1_0, "org.eclipse.xtext.xbase.Xbase.Number"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXNumberLiteral" // $ANTLR start "entryRuleXStringLiteral" // InternalXcore.g:8083:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ; public final EObject entryRuleXStringLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXStringLiteral = null; try { // InternalXcore.g:8084:2: (iv_ruleXStringLiteral= ruleXStringLiteral EOF ) // InternalXcore.g:8085:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXStringLiteralRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXStringLiteral=ruleXStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXStringLiteral; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXStringLiteral" // $ANTLR start "ruleXStringLiteral" // InternalXcore.g:8092:1: ruleXStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ; public final EObject ruleXStringLiteral() throws RecognitionException { EObject current = null; Token lv_value_1_0=null; enterRule(); try { // InternalXcore.g:8095:28: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) ) // InternalXcore.g:8096:1: ( () ( (lv_value_1_0= RULE_STRING ) ) ) { // InternalXcore.g:8096:1: ( () ( (lv_value_1_0= RULE_STRING ) ) ) // InternalXcore.g:8096:2: () ( (lv_value_1_0= RULE_STRING ) ) { // InternalXcore.g:8096:2: () // InternalXcore.g:8097:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(), current); } } // InternalXcore.g:8102:2: ( (lv_value_1_0= RULE_STRING ) ) // InternalXcore.g:8103:1: (lv_value_1_0= RULE_STRING ) { // InternalXcore.g:8103:1: (lv_value_1_0= RULE_STRING ) // InternalXcore.g:8104:3: lv_value_1_0= RULE_STRING { lv_value_1_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXStringLiteralRule()); } setWithLastConsumed( current, "value", lv_value_1_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXStringLiteral" // $ANTLR start "entryRuleXTypeLiteral" // InternalXcore.g:8128:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ; public final EObject entryRuleXTypeLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXTypeLiteral = null; try { // InternalXcore.g:8129:2: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ) // InternalXcore.g:8130:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXTypeLiteral=ruleXTypeLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXTypeLiteral; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXTypeLiteral" // $ANTLR start "ruleXTypeLiteral" // InternalXcore.g:8137:1: ruleXTypeLiteral returns [EObject current=null] : ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ; public final EObject ruleXTypeLiteral() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_5=null; AntlrDatatypeRuleToken lv_arrayDimensions_4_0 = null; enterRule(); try { // InternalXcore.g:8140:28: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ) // InternalXcore.g:8141:1: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) { // InternalXcore.g:8141:1: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) // InternalXcore.g:8141:2: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' { // InternalXcore.g:8141:2: () // InternalXcore.g:8142:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(), current); } } otherlv_1=(Token)match(input,113,FollowSets000.FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); } otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); } // InternalXcore.g:8155:1: ( ( ruleQualifiedName ) ) // InternalXcore.g:8156:1: ( ruleQualifiedName ) { // InternalXcore.g:8156:1: ( ruleQualifiedName ) // InternalXcore.g:8157:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXTypeLiteralRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); } pushFollow(FollowSets000.FOLLOW_123); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:8170:2: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* loop159: do { int alt159=2; int LA159_0 = input.LA(1); if ( (LA159_0==59) ) { alt159=1; } switch (alt159) { case 1 : // InternalXcore.g:8171:1: (lv_arrayDimensions_4_0= ruleArrayBrackets ) { // InternalXcore.g:8171:1: (lv_arrayDimensions_4_0= ruleArrayBrackets ) // InternalXcore.g:8172:3: lv_arrayDimensions_4_0= ruleArrayBrackets { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_123); lv_arrayDimensions_4_0=ruleArrayBrackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXTypeLiteralRule()); } add( current, "arrayDimensions", lv_arrayDimensions_4_0, "org.eclipse.xtext.xbase.Xtype.ArrayBrackets"); afterParserOrEnumRuleCall(); } } } break; default : break loop159; } } while (true); otherlv_5=(Token)match(input,17,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXTypeLiteral" // $ANTLR start "entryRuleXThrowExpression" // InternalXcore.g:8200:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ; public final EObject entryRuleXThrowExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXThrowExpression = null; try { // InternalXcore.g:8201:2: (iv_ruleXThrowExpression= ruleXThrowExpression EOF ) // InternalXcore.g:8202:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXThrowExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXThrowExpression=ruleXThrowExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXThrowExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXThrowExpression" // $ANTLR start "ruleXThrowExpression" // InternalXcore.g:8209:1: ruleXThrowExpression returns [EObject current=null] : ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ; public final EObject ruleXThrowExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject lv_expression_2_0 = null; enterRule(); try { // InternalXcore.g:8212:28: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ) // InternalXcore.g:8213:1: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) { // InternalXcore.g:8213:1: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) // InternalXcore.g:8213:2: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) { // InternalXcore.g:8213:2: () // InternalXcore.g:8214:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(), current); } } otherlv_1=(Token)match(input,114,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); } // InternalXcore.g:8223:1: ( (lv_expression_2_0= ruleXExpression ) ) // InternalXcore.g:8224:1: (lv_expression_2_0= ruleXExpression ) { // InternalXcore.g:8224:1: (lv_expression_2_0= ruleXExpression ) // InternalXcore.g:8225:3: lv_expression_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_expression_2_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXThrowExpressionRule()); } set( current, "expression", lv_expression_2_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXThrowExpression" // $ANTLR start "entryRuleXReturnExpression" // InternalXcore.g:8249:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ; public final EObject entryRuleXReturnExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXReturnExpression = null; try { // InternalXcore.g:8250:2: (iv_ruleXReturnExpression= ruleXReturnExpression EOF ) // InternalXcore.g:8251:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReturnExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXReturnExpression=ruleXReturnExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXReturnExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXReturnExpression" // $ANTLR start "ruleXReturnExpression" // InternalXcore.g:8258:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ; public final EObject ruleXReturnExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject lv_expression_2_0 = null; enterRule(); try { // InternalXcore.g:8261:28: ( ( () otherlv_1= 'return' ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ) // InternalXcore.g:8262:1: ( () otherlv_1= 'return' ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) { // InternalXcore.g:8262:1: ( () otherlv_1= 'return' ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) // InternalXcore.g:8262:2: () otherlv_1= 'return' ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? { // InternalXcore.g:8262:2: () // InternalXcore.g:8263:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(), current); } } otherlv_1=(Token)match(input,115,FollowSets000.FOLLOW_107); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); } // InternalXcore.g:8272:1: ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? int alt160=2; alt160 = dfa160.predict(input); switch (alt160) { case 1 : // InternalXcore.g:8272:2: ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) { // InternalXcore.g:8332:1: (lv_expression_2_0= ruleXExpression ) // InternalXcore.g:8333:3: lv_expression_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_expression_2_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXReturnExpressionRule()); } set( current, "expression", lv_expression_2_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXReturnExpression" // $ANTLR start "entryRuleXTryCatchFinallyExpression" // InternalXcore.g:8357:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ; public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXTryCatchFinallyExpression = null; try { // InternalXcore.g:8358:2: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ) // InternalXcore.g:8359:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXTryCatchFinallyExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXTryCatchFinallyExpression" // $ANTLR start "ruleXTryCatchFinallyExpression" // InternalXcore.g:8366:1: ruleXTryCatchFinallyExpression returns [EObject current=null] : ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ; public final EObject ruleXTryCatchFinallyExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_expression_2_0 = null; EObject lv_catchClauses_3_0 = null; EObject lv_finallyExpression_5_0 = null; EObject lv_finallyExpression_7_0 = null; enterRule(); try { // InternalXcore.g:8369:28: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ) // InternalXcore.g:8370:1: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) { // InternalXcore.g:8370:1: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) // InternalXcore.g:8370:2: () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) { // InternalXcore.g:8370:2: () // InternalXcore.g:8371:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(), current); } } otherlv_1=(Token)match(input,116,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); } // InternalXcore.g:8380:1: ( (lv_expression_2_0= ruleXExpression ) ) // InternalXcore.g:8381:1: (lv_expression_2_0= ruleXExpression ) { // InternalXcore.g:8381:1: (lv_expression_2_0= ruleXExpression ) // InternalXcore.g:8382:3: lv_expression_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_124); lv_expression_2_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); } set( current, "expression", lv_expression_2_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:8398:2: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) int alt163=2; int LA163_0 = input.LA(1); if ( (LA163_0==119) ) { alt163=1; } else if ( (LA163_0==117) ) { alt163=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 163, 0, input); throw nvae; } switch (alt163) { case 1 : // InternalXcore.g:8398:3: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) { // InternalXcore.g:8398:3: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) // InternalXcore.g:8398:4: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? { // InternalXcore.g:8398:4: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ int cnt161=0; loop161: do { int alt161=2; int LA161_0 = input.LA(1); if ( (LA161_0==119) ) { int LA161_2 = input.LA(2); if ( (synpred41_InternalXcore()) ) { alt161=1; } } switch (alt161) { case 1 : // InternalXcore.g:8398:5: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) { // InternalXcore.g:8400:1: (lv_catchClauses_3_0= ruleXCatchClause ) // InternalXcore.g:8401:3: lv_catchClauses_3_0= ruleXCatchClause { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); } pushFollow(FollowSets000.FOLLOW_125); lv_catchClauses_3_0=ruleXCatchClause(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); } add( current, "catchClauses", lv_catchClauses_3_0, "org.eclipse.xtext.xbase.Xbase.XCatchClause"); afterParserOrEnumRuleCall(); } } } break; default : if ( cnt161 >= 1 ) break loop161; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(161, input); throw eee; } cnt161++; } while (true); // InternalXcore.g:8417:3: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? int alt162=2; int LA162_0 = input.LA(1); if ( (LA162_0==117) ) { int LA162_1 = input.LA(2); if ( (synpred42_InternalXcore()) ) { alt162=1; } } switch (alt162) { case 1 : // InternalXcore.g:8417:4: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) { // InternalXcore.g:8417:4: ( ( 'finally' )=>otherlv_4= 'finally' ) // InternalXcore.g:8417:5: ( 'finally' )=>otherlv_4= 'finally' { otherlv_4=(Token)match(input,117,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); } } // InternalXcore.g:8422:2: ( (lv_finallyExpression_5_0= ruleXExpression ) ) // InternalXcore.g:8423:1: (lv_finallyExpression_5_0= ruleXExpression ) { // InternalXcore.g:8423:1: (lv_finallyExpression_5_0= ruleXExpression ) // InternalXcore.g:8424:3: lv_finallyExpression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_finallyExpression_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); } set( current, "finallyExpression", lv_finallyExpression_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } } } break; case 2 : // InternalXcore.g:8441:6: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) { // InternalXcore.g:8441:6: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) // InternalXcore.g:8441:8: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) { otherlv_6=(Token)match(input,117,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); } // InternalXcore.g:8445:1: ( (lv_finallyExpression_7_0= ruleXExpression ) ) // InternalXcore.g:8446:1: (lv_finallyExpression_7_0= ruleXExpression ) { // InternalXcore.g:8446:1: (lv_finallyExpression_7_0= ruleXExpression ) // InternalXcore.g:8447:3: lv_finallyExpression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_finallyExpression_7_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXTryCatchFinallyExpressionRule()); } set( current, "finallyExpression", lv_finallyExpression_7_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXTryCatchFinallyExpression" // $ANTLR start "entryRuleXSynchronizedExpression" // InternalXcore.g:8471:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ; public final EObject entryRuleXSynchronizedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXSynchronizedExpression = null; try { // InternalXcore.g:8472:2: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ) // InternalXcore.g:8473:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXSynchronizedExpression; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXSynchronizedExpression" // $ANTLR start "ruleXSynchronizedExpression" // InternalXcore.g:8480:1: ruleXSynchronizedExpression returns [EObject current=null] : ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ; public final EObject ruleXSynchronizedExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; EObject lv_param_3_0 = null; EObject lv_expression_5_0 = null; enterRule(); try { // InternalXcore.g:8483:28: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ) // InternalXcore.g:8484:1: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) { // InternalXcore.g:8484:1: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) // InternalXcore.g:8484:2: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) { // InternalXcore.g:8484:2: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) // InternalXcore.g:8484:3: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) { // InternalXcore.g:8487:5: ( () otherlv_1= 'synchronized' otherlv_2= '(' ) // InternalXcore.g:8487:6: () otherlv_1= 'synchronized' otherlv_2= '(' { // InternalXcore.g:8487:6: () // InternalXcore.g:8488:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(), current); } } otherlv_1=(Token)match(input,118,FollowSets000.FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); } otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } } } // InternalXcore.g:8501:3: ( (lv_param_3_0= ruleXExpression ) ) // InternalXcore.g:8502:1: (lv_param_3_0= ruleXExpression ) { // InternalXcore.g:8502:1: (lv_param_3_0= ruleXExpression ) // InternalXcore.g:8503:3: lv_param_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_98); lv_param_3_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); } set( current, "param", lv_param_3_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); } // InternalXcore.g:8523:1: ( (lv_expression_5_0= ruleXExpression ) ) // InternalXcore.g:8524:1: (lv_expression_5_0= ruleXExpression ) { // InternalXcore.g:8524:1: (lv_expression_5_0= ruleXExpression ) // InternalXcore.g:8525:3: lv_expression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_expression_5_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSynchronizedExpressionRule()); } set( current, "expression", lv_expression_5_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXSynchronizedExpression" // $ANTLR start "entryRuleXCatchClause" // InternalXcore.g:8549:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ; public final EObject entryRuleXCatchClause() throws RecognitionException { EObject current = null; EObject iv_ruleXCatchClause = null; try { // InternalXcore.g:8550:2: (iv_ruleXCatchClause= ruleXCatchClause EOF ) // InternalXcore.g:8551:2: iv_ruleXCatchClause= ruleXCatchClause EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCatchClauseRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXCatchClause=ruleXCatchClause(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCatchClause; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCatchClause" // $ANTLR start "ruleXCatchClause" // InternalXcore.g:8558:1: ruleXCatchClause returns [EObject current=null] : ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ; public final EObject ruleXCatchClause() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_3=null; EObject lv_declaredParam_2_0 = null; EObject lv_expression_4_0 = null; enterRule(); try { // InternalXcore.g:8561:28: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ) // InternalXcore.g:8562:1: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) { // InternalXcore.g:8562:1: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) // InternalXcore.g:8562:2: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) { // InternalXcore.g:8562:2: ( ( 'catch' )=>otherlv_0= 'catch' ) // InternalXcore.g:8562:3: ( 'catch' )=>otherlv_0= 'catch' { otherlv_0=(Token)match(input,119,FollowSets000.FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); } } otherlv_1=(Token)match(input,15,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); } // InternalXcore.g:8571:1: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) // InternalXcore.g:8572:1: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) { // InternalXcore.g:8572:1: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) // InternalXcore.g:8573:3: lv_declaredParam_2_0= ruleFullJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_98); lv_declaredParam_2_0=ruleFullJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); } set( current, "declaredParam", lv_declaredParam_2_0, "org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,17,FollowSets000.FOLLOW_75); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); } // InternalXcore.g:8593:1: ( (lv_expression_4_0= ruleXExpression ) ) // InternalXcore.g:8594:1: (lv_expression_4_0= ruleXExpression ) { // InternalXcore.g:8594:1: (lv_expression_4_0= ruleXExpression ) // InternalXcore.g:8595:3: lv_expression_4_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_expression_4_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXCatchClauseRule()); } set( current, "expression", lv_expression_4_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXCatchClause" // $ANTLR start "entryRuleQualifiedName" // InternalXcore.g:8619:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; public final String entryRuleQualifiedName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedName = null; try { // InternalXcore.g:8620:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) // InternalXcore.g:8621:2: iv_ruleQualifiedName= ruleQualifiedName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleQualifiedName=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedName.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedName" // $ANTLR start "ruleQualifiedName" // InternalXcore.g:8628:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ; public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_ValidID_0 = null; AntlrDatatypeRuleToken this_ValidID_2 = null; enterRule(); try { // InternalXcore.g:8631:28: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ) // InternalXcore.g:8632:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) { // InternalXcore.g:8632:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) // InternalXcore.g:8633:5: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_74); this_ValidID_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_ValidID_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } // InternalXcore.g:8643:1: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* loop164: do { int alt164=2; alt164 = dfa164.predict(input); switch (alt164) { case 1 : // InternalXcore.g:8643:2: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID { // InternalXcore.g:8643:2: ( ( '.' )=>kw= '.' ) // InternalXcore.g:8643:3: ( '.' )=>kw= '.' { kw=(Token)match(input,67,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); } pushFollow(FollowSets000.FOLLOW_74); this_ValidID_2=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_ValidID_2); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; default : break loop164; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedName" // $ANTLR start "entryRuleNumber" // InternalXcore.g:8670:1: entryRuleNumber returns [String current=null] : iv_ruleNumber= ruleNumber EOF ; public final String entryRuleNumber() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleNumber = null; HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { // InternalXcore.g:8674:2: (iv_ruleNumber= ruleNumber EOF ) // InternalXcore.g:8675:2: iv_ruleNumber= ruleNumber EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNumberRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleNumber=ruleNumber(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNumber.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { myHiddenTokenState.restore(); } return current; } // $ANTLR end "entryRuleNumber" // $ANTLR start "ruleNumber" // InternalXcore.g:8685:1: ruleNumber returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ; public final AntlrDatatypeRuleToken ruleNumber() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_HEX_0=null; Token this_INT_1=null; Token this_DECIMAL_2=null; Token kw=null; Token this_INT_4=null; Token this_DECIMAL_5=null; enterRule(); HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens(); try { // InternalXcore.g:8689:28: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ) // InternalXcore.g:8690:1: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) { // InternalXcore.g:8690:1: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) int alt168=2; int LA168_0 = input.LA(1); if ( (LA168_0==RULE_HEX) ) { alt168=1; } else if ( (LA168_0==RULE_INT||LA168_0==RULE_DECIMAL) ) { alt168=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 168, 0, input); throw nvae; } switch (alt168) { case 1 : // InternalXcore.g:8690:6: this_HEX_0= RULE_HEX { this_HEX_0=(Token)match(input,RULE_HEX,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_HEX_0); } if ( state.backtracking==0 ) { newLeafNode(this_HEX_0, grammarAccess.getNumberAccess().getHEXTerminalRuleCall_0()); } } break; case 2 : // InternalXcore.g:8698:6: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) { // InternalXcore.g:8698:6: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) // InternalXcore.g:8698:7: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? { // InternalXcore.g:8698:7: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) int alt165=2; int LA165_0 = input.LA(1); if ( (LA165_0==RULE_INT) ) { alt165=1; } else if ( (LA165_0==RULE_DECIMAL) ) { alt165=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 165, 0, input); throw nvae; } switch (alt165) { case 1 : // InternalXcore.g:8698:12: this_INT_1= RULE_INT { this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_74); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_INT_1); } if ( state.backtracking==0 ) { newLeafNode(this_INT_1, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_0_0()); } } break; case 2 : // InternalXcore.g:8706:10: this_DECIMAL_2= RULE_DECIMAL { this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FollowSets000.FOLLOW_74); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_DECIMAL_2); } if ( state.backtracking==0 ) { newLeafNode(this_DECIMAL_2, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_0_1()); } } break; } // InternalXcore.g:8713:2: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? int alt167=2; int LA167_0 = input.LA(1); if ( (LA167_0==67) ) { int LA167_1 = input.LA(2); if ( (LA167_1==RULE_INT||LA167_1==RULE_DECIMAL) ) { alt167=1; } } switch (alt167) { case 1 : // InternalXcore.g:8714:2: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) { kw=(Token)match(input,67,FollowSets000.FOLLOW_126); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); } // InternalXcore.g:8719:1: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) int alt166=2; int LA166_0 = input.LA(1); if ( (LA166_0==RULE_INT) ) { alt166=1; } else if ( (LA166_0==RULE_DECIMAL) ) { alt166=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 166, 0, input); throw nvae; } switch (alt166) { case 1 : // InternalXcore.g:8719:6: this_INT_4= RULE_INT { this_INT_4=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_INT_4); } if ( state.backtracking==0 ) { newLeafNode(this_INT_4, grammarAccess.getNumberAccess().getINTTerminalRuleCall_1_1_1_0()); } } break; case 2 : // InternalXcore.g:8727:10: this_DECIMAL_5= RULE_DECIMAL { this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_DECIMAL_5); } if ( state.backtracking==0 ) { newLeafNode(this_DECIMAL_5, grammarAccess.getNumberAccess().getDECIMALTerminalRuleCall_1_1_1_1()); } } break; } } break; } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { myHiddenTokenState.restore(); } return current; } // $ANTLR end "ruleNumber" // $ANTLR start "entryRuleJvmTypeReference" // InternalXcore.g:8747:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ; public final EObject entryRuleJvmTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmTypeReference = null; try { // InternalXcore.g:8748:2: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ) // InternalXcore.g:8749:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleJvmTypeReference=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmTypeReference; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmTypeReference" // $ANTLR start "ruleJvmTypeReference" // InternalXcore.g:8756:1: ruleJvmTypeReference returns [EObject current=null] : ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ; public final EObject ruleJvmTypeReference() throws RecognitionException { EObject current = null; EObject this_JvmParameterizedTypeReference_0 = null; EObject this_XFunctionTypeRef_3 = null; enterRule(); try { // InternalXcore.g:8759:28: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ) // InternalXcore.g:8760:1: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) { // InternalXcore.g:8760:1: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) int alt170=2; int LA170_0 = input.LA(1); if ( (LA170_0==RULE_ID||(LA170_0>=44 && LA170_0<=47)||LA170_0==56) ) { alt170=1; } else if ( (LA170_0==15||LA170_0==85) ) { 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 : // InternalXcore.g:8760:2: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) { // InternalXcore.g:8760:2: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) // InternalXcore.g:8761:5: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_121); this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_JvmParameterizedTypeReference_0; afterParserOrEnumRuleCall(); } // InternalXcore.g:8769:1: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* loop169: do { int alt169=2; int LA169_0 = input.LA(1); if ( (LA169_0==59) ) { int LA169_2 = input.LA(2); if ( (LA169_2==64) ) { int LA169_3 = input.LA(3); if ( (synpred46_InternalXcore()) ) { alt169=1; } } } switch (alt169) { case 1 : // InternalXcore.g:8769:2: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) { // InternalXcore.g:8770:24: ( () ruleArrayBrackets ) // InternalXcore.g:8770:25: () ruleArrayBrackets { // InternalXcore.g:8770:25: () // InternalXcore.g:8771:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(), current); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); } pushFollow(FollowSets000.FOLLOW_121); ruleArrayBrackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } break; default : break loop169; } } while (true); } } break; case 2 : // InternalXcore.g:8786:5: this_XFunctionTypeRef_3= ruleXFunctionTypeRef { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_2); this_XFunctionTypeRef_3=ruleXFunctionTypeRef(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XFunctionTypeRef_3; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmTypeReference" // $ANTLR start "entryRuleArrayBrackets" // InternalXcore.g:8802:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ; public final String entryRuleArrayBrackets() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleArrayBrackets = null; try { // InternalXcore.g:8803:2: (iv_ruleArrayBrackets= ruleArrayBrackets EOF ) // InternalXcore.g:8804:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getArrayBracketsRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleArrayBrackets=ruleArrayBrackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleArrayBrackets.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleArrayBrackets" // $ANTLR start "ruleArrayBrackets" // InternalXcore.g:8811:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ; public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalXcore.g:8814:28: ( (kw= '[' kw= ']' ) ) // InternalXcore.g:8815:1: (kw= '[' kw= ']' ) { // InternalXcore.g:8815:1: (kw= '[' kw= ']' ) // InternalXcore.g:8816:2: kw= '[' kw= ']' { kw=(Token)match(input,59,FollowSets000.FOLLOW_66); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); } kw=(Token)match(input,64,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getRightSquareBracketKeyword_1()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleArrayBrackets" // $ANTLR start "entryRuleXFunctionTypeRef" // InternalXcore.g:8835:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ; public final EObject entryRuleXFunctionTypeRef() throws RecognitionException { EObject current = null; EObject iv_ruleXFunctionTypeRef = null; try { // InternalXcore.g:8836:2: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ) // InternalXcore.g:8837:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXFunctionTypeRef; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXFunctionTypeRef" // $ANTLR start "ruleXFunctionTypeRef" // InternalXcore.g:8844:1: ruleXFunctionTypeRef returns [EObject current=null] : ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ; public final EObject ruleXFunctionTypeRef() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_5=null; EObject lv_paramTypes_1_0 = null; EObject lv_paramTypes_3_0 = null; EObject lv_returnType_6_0 = null; enterRule(); try { // InternalXcore.g:8847:28: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ) // InternalXcore.g:8848:1: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) { // InternalXcore.g:8848:1: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) // InternalXcore.g:8848:2: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) { // InternalXcore.g:8848:2: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? int alt173=2; int LA173_0 = input.LA(1); if ( (LA173_0==15) ) { alt173=1; } switch (alt173) { case 1 : // InternalXcore.g:8848:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' { otherlv_0=(Token)match(input,15,FollowSets000.FOLLOW_127); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); } // InternalXcore.g:8852:1: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? int alt172=2; int LA172_0 = input.LA(1); if ( (LA172_0==RULE_ID||LA172_0==15||(LA172_0>=44 && LA172_0<=47)||LA172_0==56||LA172_0==85) ) { alt172=1; } switch (alt172) { case 1 : // InternalXcore.g:8852:2: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* { // InternalXcore.g:8852:2: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) // InternalXcore.g:8853:1: (lv_paramTypes_1_0= ruleJvmTypeReference ) { // InternalXcore.g:8853:1: (lv_paramTypes_1_0= ruleJvmTypeReference ) // InternalXcore.g:8854:3: lv_paramTypes_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_paramTypes_1_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); } add( current, "paramTypes", lv_paramTypes_1_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:8870:2: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* loop171: do { int alt171=2; int LA171_0 = input.LA(1); if ( (LA171_0==16) ) { alt171=1; } switch (alt171) { case 1 : // InternalXcore.g:8870:4: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) { otherlv_2=(Token)match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); } // InternalXcore.g:8874:1: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) // InternalXcore.g:8875:1: (lv_paramTypes_3_0= ruleJvmTypeReference ) { // InternalXcore.g:8875:1: (lv_paramTypes_3_0= ruleJvmTypeReference ) // InternalXcore.g:8876:3: lv_paramTypes_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_10); lv_paramTypes_3_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); } add( current, "paramTypes", lv_paramTypes_3_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop171; } } while (true); } break; } otherlv_4=(Token)match(input,17,FollowSets000.FOLLOW_128); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); } } break; } otherlv_5=(Token)match(input,85,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } // InternalXcore.g:8900:1: ( (lv_returnType_6_0= ruleJvmTypeReference ) ) // InternalXcore.g:8901:1: (lv_returnType_6_0= ruleJvmTypeReference ) { // InternalXcore.g:8901:1: (lv_returnType_6_0= ruleJvmTypeReference ) // InternalXcore.g:8902:3: lv_returnType_6_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_returnType_6_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFunctionTypeRefRule()); } set( current, "returnType", lv_returnType_6_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXFunctionTypeRef" // $ANTLR start "entryRuleJvmParameterizedTypeReference" // InternalXcore.g:8926:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ; public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmParameterizedTypeReference = null; try { // InternalXcore.g:8927:2: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ) // InternalXcore.g:8928:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmParameterizedTypeReference; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmParameterizedTypeReference" // $ANTLR start "ruleJvmParameterizedTypeReference" // InternalXcore.g:8935:1: ruleJvmParameterizedTypeReference returns [EObject current=null] : ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ; public final EObject ruleJvmParameterizedTypeReference() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Token otherlv_9=null; Token otherlv_11=null; Token otherlv_13=null; EObject lv_arguments_2_0 = null; EObject lv_arguments_4_0 = null; EObject lv_arguments_10_0 = null; EObject lv_arguments_12_0 = null; enterRule(); try { // InternalXcore.g:8938:28: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ) // InternalXcore.g:8939:1: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) { // InternalXcore.g:8939:1: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) // InternalXcore.g:8939:2: ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? { // InternalXcore.g:8939:2: ( ( ruleQualifiedName ) ) // InternalXcore.g:8940:1: ( ruleQualifiedName ) { // InternalXcore.g:8940:1: ( ruleQualifiedName ) // InternalXcore.g:8941:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); } pushFollow(FollowSets000.FOLLOW_71); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:8954:2: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? int alt178=2; alt178 = dfa178.predict(input); switch (alt178) { case 1 : // InternalXcore.g:8954:3: ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* { // InternalXcore.g:8954:3: ( ( '<' )=>otherlv_1= '<' ) // InternalXcore.g:8954:4: ( '<' )=>otherlv_1= '<' { otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); } } // InternalXcore.g:8959:2: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) // InternalXcore.g:8960:1: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) { // InternalXcore.g:8960:1: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) // InternalXcore.g:8961:3: lv_arguments_2_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_arguments_2_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); } add( current, "arguments", lv_arguments_2_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:8977:2: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* loop174: do { int alt174=2; int LA174_0 = input.LA(1); if ( (LA174_0==16) ) { alt174=1; } switch (alt174) { case 1 : // InternalXcore.g:8977:4: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) { otherlv_3=(Token)match(input,16,FollowSets000.FOLLOW_95); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); } // InternalXcore.g:8981:1: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) // InternalXcore.g:8982:1: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) { // InternalXcore.g:8982:1: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) // InternalXcore.g:8983:3: lv_arguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_arguments_4_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); } add( current, "arguments", lv_arguments_4_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop174; } } while (true); otherlv_5=(Token)match(input,24,FollowSets000.FOLLOW_74); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); } // InternalXcore.g:9003:1: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* loop177: do { int alt177=2; alt177 = dfa177.predict(input); switch (alt177) { case 1 : // InternalXcore.g:9003:2: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? { // InternalXcore.g:9003:2: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) // InternalXcore.g:9003:3: ( ( () '.' ) )=> ( () otherlv_7= '.' ) { // InternalXcore.g:9005:5: ( () otherlv_7= '.' ) // InternalXcore.g:9005:6: () otherlv_7= '.' { // InternalXcore.g:9005:6: () // InternalXcore.g:9006:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), current); } } otherlv_7=(Token)match(input,67,FollowSets000.FOLLOW_4); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); } } } // InternalXcore.g:9015:3: ( ( ruleValidID ) ) // InternalXcore.g:9016:1: ( ruleValidID ) { // InternalXcore.g:9016:1: ( ruleValidID ) // InternalXcore.g:9017:3: ruleValidID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); } pushFollow(FollowSets000.FOLLOW_129); ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:9030:2: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? int alt176=2; alt176 = dfa176.predict(input); switch (alt176) { case 1 : // InternalXcore.g:9030:3: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' { // InternalXcore.g:9030:3: ( ( '<' )=>otherlv_9= '<' ) // InternalXcore.g:9030:4: ( '<' )=>otherlv_9= '<' { otherlv_9=(Token)match(input,23,FollowSets000.FOLLOW_95); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); } } // InternalXcore.g:9035:2: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) // InternalXcore.g:9036:1: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) { // InternalXcore.g:9036:1: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) // InternalXcore.g:9037:3: lv_arguments_10_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_arguments_10_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); } add( current, "arguments", lv_arguments_10_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:9053:2: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* loop175: do { int alt175=2; int LA175_0 = input.LA(1); if ( (LA175_0==16) ) { alt175=1; } switch (alt175) { case 1 : // InternalXcore.g:9053:4: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) { otherlv_11=(Token)match(input,16,FollowSets000.FOLLOW_95); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); } // InternalXcore.g:9057:1: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) // InternalXcore.g:9058:1: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) { // InternalXcore.g:9058:1: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) // InternalXcore.g:9059:3: lv_arguments_12_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } pushFollow(FollowSets000.FOLLOW_18); lv_arguments_12_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmParameterizedTypeReferenceRule()); } add( current, "arguments", lv_arguments_12_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop175; } } while (true); otherlv_13=(Token)match(input,24,FollowSets000.FOLLOW_74); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); } } break; } } break; default : break loop177; } } while (true); } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmParameterizedTypeReference" // $ANTLR start "entryRuleJvmArgumentTypeReference" // InternalXcore.g:9087:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ; public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmArgumentTypeReference = null; try { // InternalXcore.g:9088:2: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ) // InternalXcore.g:9089:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmArgumentTypeReference; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmArgumentTypeReference" // $ANTLR start "ruleJvmArgumentTypeReference" // InternalXcore.g:9096:1: ruleJvmArgumentTypeReference returns [EObject current=null] : (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ; public final EObject ruleJvmArgumentTypeReference() throws RecognitionException { EObject current = null; EObject this_JvmTypeReference_0 = null; EObject this_JvmWildcardTypeReference_1 = null; enterRule(); try { // InternalXcore.g:9099:28: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ) // InternalXcore.g:9100:1: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) { // InternalXcore.g:9100:1: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) int alt179=2; int LA179_0 = input.LA(1); if ( (LA179_0==RULE_ID||LA179_0==15||(LA179_0>=44 && LA179_0<=47)||LA179_0==56||LA179_0==85) ) { alt179=1; } else if ( (LA179_0==60) ) { alt179=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 179, 0, input); throw nvae; } switch (alt179) { case 1 : // InternalXcore.g:9101:5: this_JvmTypeReference_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_2); this_JvmTypeReference_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_JvmTypeReference_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalXcore.g:9111:5: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_2); this_JvmWildcardTypeReference_1=ruleJvmWildcardTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_JvmWildcardTypeReference_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmArgumentTypeReference" // $ANTLR start "entryRuleJvmWildcardTypeReference" // InternalXcore.g:9127:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ; public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmWildcardTypeReference = null; try { // InternalXcore.g:9128:2: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ) // InternalXcore.g:9129:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmWildcardTypeReference; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmWildcardTypeReference" // $ANTLR start "ruleJvmWildcardTypeReference" // InternalXcore.g:9136:1: ruleJvmWildcardTypeReference returns [EObject current=null] : ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ; public final EObject ruleJvmWildcardTypeReference() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject lv_constraints_2_0 = null; EObject lv_constraints_3_0 = null; EObject lv_constraints_4_0 = null; EObject lv_constraints_5_0 = null; enterRule(); try { // InternalXcore.g:9139:28: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ) // InternalXcore.g:9140:1: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) { // InternalXcore.g:9140:1: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) // InternalXcore.g:9140:2: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? { // InternalXcore.g:9140:2: () // InternalXcore.g:9141:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(), current); } } otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_73); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); } // InternalXcore.g:9150:1: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? int alt182=3; int LA182_0 = input.LA(1); if ( (LA182_0==35) ) { alt182=1; } else if ( (LA182_0==66) ) { alt182=2; } switch (alt182) { case 1 : // InternalXcore.g:9150:2: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) { // InternalXcore.g:9150:2: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) // InternalXcore.g:9150:3: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* { // InternalXcore.g:9150:3: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) // InternalXcore.g:9151:1: (lv_constraints_2_0= ruleJvmUpperBound ) { // InternalXcore.g:9151:1: (lv_constraints_2_0= ruleJvmUpperBound ) // InternalXcore.g:9152:3: lv_constraints_2_0= ruleJvmUpperBound { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); } pushFollow(FollowSets000.FOLLOW_64); lv_constraints_2_0=ruleJvmUpperBound(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); } add( current, "constraints", lv_constraints_2_0, "org.eclipse.xtext.xbase.Xtype.JvmUpperBound"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:9168:2: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* loop180: do { int alt180=2; int LA180_0 = input.LA(1); if ( (LA180_0==58) ) { alt180=1; } switch (alt180) { case 1 : // InternalXcore.g:9169:1: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) { // InternalXcore.g:9169:1: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) // InternalXcore.g:9170:3: lv_constraints_3_0= ruleJvmUpperBoundAnded { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); } pushFollow(FollowSets000.FOLLOW_64); lv_constraints_3_0=ruleJvmUpperBoundAnded(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); } add( current, "constraints", lv_constraints_3_0, "org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded"); afterParserOrEnumRuleCall(); } } } break; default : break loop180; } } while (true); } } break; case 2 : // InternalXcore.g:9187:6: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) { // InternalXcore.g:9187:6: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) // InternalXcore.g:9187:7: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* { // InternalXcore.g:9187:7: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) // InternalXcore.g:9188:1: (lv_constraints_4_0= ruleJvmLowerBound ) { // InternalXcore.g:9188:1: (lv_constraints_4_0= ruleJvmLowerBound ) // InternalXcore.g:9189:3: lv_constraints_4_0= ruleJvmLowerBound { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); } pushFollow(FollowSets000.FOLLOW_64); lv_constraints_4_0=ruleJvmLowerBound(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); } add( current, "constraints", lv_constraints_4_0, "org.eclipse.xtext.xbase.Xtype.JvmLowerBound"); afterParserOrEnumRuleCall(); } } } // InternalXcore.g:9205:2: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* loop181: do { int alt181=2; int LA181_0 = input.LA(1); if ( (LA181_0==58) ) { alt181=1; } switch (alt181) { case 1 : // InternalXcore.g:9206:1: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) { // InternalXcore.g:9206:1: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) // InternalXcore.g:9207:3: lv_constraints_5_0= ruleJvmLowerBoundAnded { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_64); lv_constraints_5_0=ruleJvmLowerBoundAnded(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmWildcardTypeReferenceRule()); } add( current, "constraints", lv_constraints_5_0, "org.eclipse.xtext.xbase.Xtype.JvmLowerBoundAnded"); afterParserOrEnumRuleCall(); } } } break; default : break loop181; } } while (true); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmWildcardTypeReference" // $ANTLR start "entryRuleJvmUpperBound" // InternalXcore.g:9231:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ; public final EObject entryRuleJvmUpperBound() throws RecognitionException { EObject current = null; EObject iv_ruleJvmUpperBound = null; try { // InternalXcore.g:9232:2: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ) // InternalXcore.g:9233:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleJvmUpperBound=ruleJvmUpperBound(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmUpperBound; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmUpperBound" // $ANTLR start "ruleJvmUpperBound" // InternalXcore.g:9240:1: ruleJvmUpperBound returns [EObject current=null] : (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; public final EObject ruleJvmUpperBound() throws RecognitionException { EObject current = null; Token otherlv_0=null; EObject lv_typeReference_1_0 = null; enterRule(); try { // InternalXcore.g:9243:28: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalXcore.g:9244:1: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalXcore.g:9244:1: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalXcore.g:9244:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,35,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); } // InternalXcore.g:9248:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalXcore.g:9249:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalXcore.g:9249:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalXcore.g:9250:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_typeReference_1_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmUpperBoundRule()); } set( current, "typeReference", lv_typeReference_1_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmUpperBound" // $ANTLR start "entryRuleJvmUpperBoundAnded" // InternalXcore.g:9274:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ; public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException { EObject current = null; EObject iv_ruleJvmUpperBoundAnded = null; try { // InternalXcore.g:9275:2: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ) // InternalXcore.g:9276:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmUpperBoundAnded; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmUpperBoundAnded" // $ANTLR start "ruleJvmUpperBoundAnded" // InternalXcore.g:9283:1: ruleJvmUpperBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; public final EObject ruleJvmUpperBoundAnded() throws RecognitionException { EObject current = null; Token otherlv_0=null; EObject lv_typeReference_1_0 = null; enterRule(); try { // InternalXcore.g:9286:28: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalXcore.g:9287:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalXcore.g:9287:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalXcore.g:9287:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,58,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); } // InternalXcore.g:9291:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalXcore.g:9292:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalXcore.g:9292:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalXcore.g:9293:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_typeReference_1_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmUpperBoundAndedRule()); } set( current, "typeReference", lv_typeReference_1_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmUpperBoundAnded" // $ANTLR start "entryRuleJvmLowerBound" // InternalXcore.g:9317:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ; public final EObject entryRuleJvmLowerBound() throws RecognitionException { EObject current = null; EObject iv_ruleJvmLowerBound = null; try { // InternalXcore.g:9318:2: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ) // InternalXcore.g:9319:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleJvmLowerBound=ruleJvmLowerBound(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmLowerBound; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmLowerBound" // $ANTLR start "ruleJvmLowerBound" // InternalXcore.g:9326:1: ruleJvmLowerBound returns [EObject current=null] : (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; public final EObject ruleJvmLowerBound() throws RecognitionException { EObject current = null; Token otherlv_0=null; EObject lv_typeReference_1_0 = null; enterRule(); try { // InternalXcore.g:9329:28: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalXcore.g:9330:1: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalXcore.g:9330:1: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalXcore.g:9330:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,66,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); } // InternalXcore.g:9334:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalXcore.g:9335:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalXcore.g:9335:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalXcore.g:9336:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_typeReference_1_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmLowerBoundRule()); } set( current, "typeReference", lv_typeReference_1_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmLowerBound" // $ANTLR start "entryRuleJvmLowerBoundAnded" // InternalXcore.g:9360:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ; public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException { EObject current = null; EObject iv_ruleJvmLowerBoundAnded = null; try { // InternalXcore.g:9361:2: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ) // InternalXcore.g:9362:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmLowerBoundAnded; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmLowerBoundAnded" // $ANTLR start "ruleJvmLowerBoundAnded" // InternalXcore.g:9369:1: ruleJvmLowerBoundAnded returns [EObject current=null] : (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ; public final EObject ruleJvmLowerBoundAnded() throws RecognitionException { EObject current = null; Token otherlv_0=null; EObject lv_typeReference_1_0 = null; enterRule(); try { // InternalXcore.g:9372:28: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalXcore.g:9373:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalXcore.g:9373:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalXcore.g:9373:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,58,FollowSets000.FOLLOW_20); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); } // InternalXcore.g:9377:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalXcore.g:9378:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalXcore.g:9378:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalXcore.g:9379:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_2); lv_typeReference_1_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmLowerBoundAndedRule()); } set( current, "typeReference", lv_typeReference_1_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmLowerBoundAnded" // $ANTLR start "entryRuleQualifiedNameWithWildcard" // InternalXcore.g:9405:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null; try { // InternalXcore.g:9406:2: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) // InternalXcore.g:9407:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedNameWithWildcard.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedNameWithWildcard" // $ANTLR start "ruleQualifiedNameWithWildcard" // InternalXcore.g:9414:1: ruleQualifiedNameWithWildcard returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ; public final AntlrDatatypeRuleToken ruleQualifiedNameWithWildcard() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_QualifiedName_0 = null; enterRule(); try { // InternalXcore.g:9417:28: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ) // InternalXcore.g:9418:1: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) { // InternalXcore.g:9418:1: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) // InternalXcore.g:9419:5: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_130); this_QualifiedName_0=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_QualifiedName_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } kw=(Token)match(input,67,FollowSets000.FOLLOW_131); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); } kw=(Token)match(input,61,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedNameWithWildcard" // $ANTLR start "entryRuleXImportDeclaration" // InternalXcore.g:9451:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ; public final EObject entryRuleXImportDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXImportDeclaration = null; try { // InternalXcore.g:9452:2: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ) // InternalXcore.g:9453:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleXImportDeclaration=ruleXImportDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXImportDeclaration; } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXImportDeclaration" // $ANTLR start "ruleXImportDeclaration" // InternalXcore.g:9460:1: ruleXImportDeclaration returns [EObject current=null] : (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ; public final EObject ruleXImportDeclaration() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token lv_static_1_0=null; Token lv_extension_2_0=null; Token lv_wildcard_4_0=null; Token otherlv_8=null; AntlrDatatypeRuleToken lv_memberName_5_0 = null; AntlrDatatypeRuleToken lv_importedNamespace_7_0 = null; enterRule(); try { // InternalXcore.g:9463:28: ( (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ) // InternalXcore.g:9464:1: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) { // InternalXcore.g:9464:1: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) // InternalXcore.g:9464:3: otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? { otherlv_0=(Token)match(input,19,FollowSets000.FOLLOW_132); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); } // InternalXcore.g:9468:1: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) int alt185=3; alt185 = dfa185.predict(input); switch (alt185) { case 1 : // InternalXcore.g:9468:2: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) { // InternalXcore.g:9468:2: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) // InternalXcore.g:9468:3: ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) { // InternalXcore.g:9468:3: ( (lv_static_1_0= 'static' ) ) // InternalXcore.g:9469:1: (lv_static_1_0= 'static' ) { // InternalXcore.g:9469:1: (lv_static_1_0= 'static' ) // InternalXcore.g:9470:3: lv_static_1_0= 'static' { lv_static_1_0=(Token)match(input,69,FollowSets000.FOLLOW_133); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_static_1_0, grammarAccess.getXImportDeclarationAccess().getStaticStaticKeyword_1_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXImportDeclarationRule()); } setWithLastConsumed(current, "static", true, "static"); } } } // InternalXcore.g:9483:2: ( (lv_extension_2_0= 'extension' ) )? int alt183=2; int LA183_0 = input.LA(1); if ( (LA183_0==68) ) { alt183=1; } switch (alt183) { case 1 : // InternalXcore.g:9484:1: (lv_extension_2_0= 'extension' ) { // InternalXcore.g:9484:1: (lv_extension_2_0= 'extension' ) // InternalXcore.g:9485:3: lv_extension_2_0= 'extension' { lv_extension_2_0=(Token)match(input,68,FollowSets000.FOLLOW_133); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_extension_2_0, grammarAccess.getXImportDeclarationAccess().getExtensionExtensionKeyword_1_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXImportDeclarationRule()); } setWithLastConsumed(current, "extension", true, "extension"); } } } break; } // InternalXcore.g:9498:3: ( ( ruleQualifiedNameInStaticImport ) ) // InternalXcore.g:9499:1: ( ruleQualifiedNameInStaticImport ) { // InternalXcore.g:9499:1: ( ruleQualifiedNameInStaticImport ) // InternalXcore.g:9500:3: ruleQualifiedNameInStaticImport { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXImportDeclarationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); } pushFollow(FollowSets000.FOLLOW_134); ruleQualifiedNameInStaticImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalXcore.g:9513:2: ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) int alt184=2; int LA184_0 = input.LA(1); if ( (LA184_0==61) ) { alt184=1; } else if ( (LA184_0==RULE_ID||(LA184_0>=44 && LA184_0<=47)||LA184_0==56) ) { alt184=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 184, 0, input); throw nvae; } switch (alt184) { case 1 : // InternalXcore.g:9513:3: ( (lv_wildcard_4_0= '*' ) ) { // InternalXcore.g:9513:3: ( (lv_wildcard_4_0= '*' ) ) // InternalXcore.g:9514:1: (lv_wildcard_4_0= '*' ) { // InternalXcore.g:9514:1: (lv_wildcard_4_0= '*' ) // InternalXcore.g:9515:3: lv_wildcard_4_0= '*' { lv_wildcard_4_0=(Token)match(input,61,FollowSets000.FOLLOW_135); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_wildcard_4_0, grammarAccess.getXImportDeclarationAccess().getWildcardAsteriskKeyword_1_0_3_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXImportDeclarationRule()); } setWithLastConsumed(current, "wildcard", true, "*"); } } } } break; case 2 : // InternalXcore.g:9529:6: ( (lv_memberName_5_0= ruleValidID ) ) { // InternalXcore.g:9529:6: ( (lv_memberName_5_0= ruleValidID ) ) // InternalXcore.g:9530:1: (lv_memberName_5_0= ruleValidID ) { // InternalXcore.g:9530:1: (lv_memberName_5_0= ruleValidID ) // InternalXcore.g:9531:3: lv_memberName_5_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); } pushFollow(FollowSets000.FOLLOW_135); lv_memberName_5_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); } set( current, "memberName", lv_memberName_5_0, "org.eclipse.emf.ecore.xcore.Xcore.ValidID"); afterParserOrEnumRuleCall(); } } } } break; } } } break; case 2 : // InternalXcore.g:9548:6: ( ( ruleQualifiedName ) ) { // InternalXcore.g:9548:6: ( ( ruleQualifiedName ) ) // InternalXcore.g:9549:1: ( ruleQualifiedName ) { // InternalXcore.g:9549:1: ( ruleQualifiedName ) // InternalXcore.g:9550:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXImportDeclarationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); } pushFollow(FollowSets000.FOLLOW_135); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; case 3 : // InternalXcore.g:9564:6: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) { // InternalXcore.g:9564:6: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) // InternalXcore.g:9565:1: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) { // InternalXcore.g:9565:1: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) // InternalXcore.g:9566:3: lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); } pushFollow(FollowSets000.FOLLOW_135); lv_importedNamespace_7_0=ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXImportDeclarationRule()); } set( current, "importedNamespace", lv_importedNamespace_7_0, "org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard"); afterParserOrEnumRuleCall(); } } } } break; } // InternalXcore.g:9582:3: (otherlv_8= ';' )? int alt186=2; int LA186_0 = input.LA(1); if ( (LA186_0==65) ) { alt186=1; } switch (alt186) { case 1 : // InternalXcore.g:9582:5: otherlv_8= ';' { otherlv_8=(Token)match(input,65,FollowSets000.FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXImportDeclarationAccess().getSemicolonKeyword_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXImportDeclaration" // $ANTLR start "entryRuleQualifiedNameInStaticImport" // InternalXcore.g:9594:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ; public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null; try { // InternalXcore.g:9595:2: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ) // InternalXcore.g:9596:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); } pushFollow(FollowSets000.FOLLOW_1); iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedNameInStaticImport.getText(); } match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedNameInStaticImport" // $ANTLR start "ruleQualifiedNameInStaticImport" // InternalXcore.g:9603:1: ruleQualifiedNameInStaticImport returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID kw= '.' )+ ; public final AntlrDatatypeRuleToken ruleQualifiedNameInStaticImport() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_ValidID_0 = null; enterRule(); try { // InternalXcore.g:9606:28: ( (this_ValidID_0= ruleValidID kw= '.' )+ ) // InternalXcore.g:9607:1: (this_ValidID_0= ruleValidID kw= '.' )+ { // InternalXcore.g:9607:1: (this_ValidID_0= ruleValidID kw= '.' )+ int cnt187=0; loop187: do { int alt187=2; switch ( input.LA(1) ) { case RULE_ID: { int LA187_2 = input.LA(2); if ( (LA187_2==67) ) { alt187=1; } } break; case 44: { int LA187_3 = input.LA(2); if ( (LA187_3==67) ) { alt187=1; } } break; case 46: { int LA187_4 = input.LA(2); if ( (LA187_4==67) ) { alt187=1; } } break; case 45: { int LA187_5 = input.LA(2); if ( (LA187_5==67) ) { alt187=1; } } break; case 47: { int LA187_6 = input.LA(2); if ( (LA187_6==67) ) { alt187=1; } } break; case 56: { int LA187_7 = input.LA(2); if ( (LA187_7==67) ) { alt187=1; } } break; } switch (alt187) { case 1 : // InternalXcore.g:9608:5: this_ValidID_0= ruleValidID kw= '.' { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_130); this_ValidID_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_ValidID_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } kw=(Token)match(input,67,FollowSets000.FOLLOW_136); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); } } break; default : if ( cnt187 >= 1 ) break loop187; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(187, input); throw eee; } cnt187++; } while (true); } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedNameInStaticImport" // $ANTLR start synpred1_InternalXcore public final void synpred1_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:144:4: ( ( 'annotation' ( ( RULE_STRING ) ) ) ) // InternalXcore.g:144:5: ( 'annotation' ( ( RULE_STRING ) ) ) { // InternalXcore.g:144:5: ( 'annotation' ( ( RULE_STRING ) ) ) // InternalXcore.g:144:7: 'annotation' ( ( RULE_STRING ) ) { match(input,20,FollowSets000.FOLLOW_12); if (state.failed) return ; // InternalXcore.g:145:1: ( ( RULE_STRING ) ) // InternalXcore.g:146:1: ( RULE_STRING ) { // InternalXcore.g:146:1: ( RULE_STRING ) // InternalXcore.g:147:1: RULE_STRING { match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred1_InternalXcore // $ANTLR start synpred3_InternalXcore public final void synpred3_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:3223:4: ( '<' ) // InternalXcore.g:3223:6: '<' { match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred3_InternalXcore // $ANTLR start synpred4_InternalXcore public final void synpred4_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:3889:3: ( ( () ( ( ruleOpMultiAssign ) ) ) ) // InternalXcore.g:3889:4: ( () ( ( ruleOpMultiAssign ) ) ) { // InternalXcore.g:3889:4: ( () ( ( ruleOpMultiAssign ) ) ) // InternalXcore.g:3889:5: () ( ( ruleOpMultiAssign ) ) { // InternalXcore.g:3889:5: () // InternalXcore.g:3890:1: { } // InternalXcore.g:3890:2: ( ( ruleOpMultiAssign ) ) // InternalXcore.g:3891:1: ( ruleOpMultiAssign ) { // InternalXcore.g:3891:1: ( ruleOpMultiAssign ) // InternalXcore.g:3892:3: ruleOpMultiAssign { pushFollow(FollowSets000.FOLLOW_2); ruleOpMultiAssign(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred4_InternalXcore // $ANTLR start synpred5_InternalXcore public final void synpred5_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:4083:3: ( ( () ( ( ruleOpOr ) ) ) ) // InternalXcore.g:4083:4: ( () ( ( ruleOpOr ) ) ) { // InternalXcore.g:4083:4: ( () ( ( ruleOpOr ) ) ) // InternalXcore.g:4083:5: () ( ( ruleOpOr ) ) { // InternalXcore.g:4083:5: () // InternalXcore.g:4084:1: { } // InternalXcore.g:4084:2: ( ( ruleOpOr ) ) // InternalXcore.g:4085:1: ( ruleOpOr ) { // InternalXcore.g:4085:1: ( ruleOpOr ) // InternalXcore.g:4086:3: ruleOpOr { pushFollow(FollowSets000.FOLLOW_2); ruleOpOr(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred5_InternalXcore // $ANTLR start synpred6_InternalXcore public final void synpred6_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:4184:3: ( ( () ( ( ruleOpAnd ) ) ) ) // InternalXcore.g:4184:4: ( () ( ( ruleOpAnd ) ) ) { // InternalXcore.g:4184:4: ( () ( ( ruleOpAnd ) ) ) // InternalXcore.g:4184:5: () ( ( ruleOpAnd ) ) { // InternalXcore.g:4184:5: () // InternalXcore.g:4185:1: { } // InternalXcore.g:4185:2: ( ( ruleOpAnd ) ) // InternalXcore.g:4186:1: ( ruleOpAnd ) { // InternalXcore.g:4186:1: ( ruleOpAnd ) // InternalXcore.g:4187:3: ruleOpAnd { pushFollow(FollowSets000.FOLLOW_2); ruleOpAnd(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred6_InternalXcore // $ANTLR start synpred7_InternalXcore public final void synpred7_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:4285:3: ( ( () ( ( ruleOpEquality ) ) ) ) // InternalXcore.g:4285:4: ( () ( ( ruleOpEquality ) ) ) { // InternalXcore.g:4285:4: ( () ( ( ruleOpEquality ) ) ) // InternalXcore.g:4285:5: () ( ( ruleOpEquality ) ) { // InternalXcore.g:4285:5: () // InternalXcore.g:4286:1: { } // InternalXcore.g:4286:2: ( ( ruleOpEquality ) ) // InternalXcore.g:4287:1: ( ruleOpEquality ) { // InternalXcore.g:4287:1: ( ruleOpEquality ) // InternalXcore.g:4288:3: ruleOpEquality { pushFollow(FollowSets000.FOLLOW_2); ruleOpEquality(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred7_InternalXcore // $ANTLR start synpred8_InternalXcore public final void synpred8_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:4407:4: ( ( () 'instanceof' ) ) // InternalXcore.g:4407:5: ( () 'instanceof' ) { // InternalXcore.g:4407:5: ( () 'instanceof' ) // InternalXcore.g:4407:6: () 'instanceof' { // InternalXcore.g:4407:6: () // InternalXcore.g:4408:1: { } match(input,82,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred8_InternalXcore // $ANTLR start synpred9_InternalXcore public final void synpred9_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:4438:8: ( ( () ( ( ruleOpCompare ) ) ) ) // InternalXcore.g:4438:9: ( () ( ( ruleOpCompare ) ) ) { // InternalXcore.g:4438:9: ( () ( ( ruleOpCompare ) ) ) // InternalXcore.g:4438:10: () ( ( ruleOpCompare ) ) { // InternalXcore.g:4438:10: () // InternalXcore.g:4439:1: { } // InternalXcore.g:4439:2: ( ( ruleOpCompare ) ) // InternalXcore.g:4440:1: ( ruleOpCompare ) { // InternalXcore.g:4440:1: ( ruleOpCompare ) // InternalXcore.g:4441:3: ruleOpCompare { pushFollow(FollowSets000.FOLLOW_2); ruleOpCompare(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred9_InternalXcore // $ANTLR start synpred10_InternalXcore public final void synpred10_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:4566:3: ( ( () ( ( ruleOpOther ) ) ) ) // InternalXcore.g:4566:4: ( () ( ( ruleOpOther ) ) ) { // InternalXcore.g:4566:4: ( () ( ( ruleOpOther ) ) ) // InternalXcore.g:4566:5: () ( ( ruleOpOther ) ) { // InternalXcore.g:4566:5: () // InternalXcore.g:4567:1: { } // InternalXcore.g:4567:2: ( ( ruleOpOther ) ) // InternalXcore.g:4568:1: ( ruleOpOther ) { // InternalXcore.g:4568:1: ( ruleOpOther ) // InternalXcore.g:4569:3: ruleOpOther { pushFollow(FollowSets000.FOLLOW_2); ruleOpOther(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred10_InternalXcore // $ANTLR start synpred11_InternalXcore public final void synpred11_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:4678:3: ( ( '>' '>' ) ) // InternalXcore.g:4678:4: ( '>' '>' ) { // InternalXcore.g:4678:4: ( '>' '>' ) // InternalXcore.g:4679:2: '>' '>' { match(input,24,FollowSets000.FOLLOW_86); if (state.failed) return ; match(input,24,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred11_InternalXcore // $ANTLR start synpred12_InternalXcore public final void synpred12_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:4708:3: ( ( '<' '<' ) ) // InternalXcore.g:4708:4: ( '<' '<' ) { // InternalXcore.g:4708:4: ( '<' '<' ) // InternalXcore.g:4709:2: '<' '<' { match(input,23,FollowSets000.FOLLOW_77); if (state.failed) return ; match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred12_InternalXcore // $ANTLR start synpred13_InternalXcore public final void synpred13_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:4782:3: ( ( () ( ( ruleOpAdd ) ) ) ) // InternalXcore.g:4782:4: ( () ( ( ruleOpAdd ) ) ) { // InternalXcore.g:4782:4: ( () ( ( ruleOpAdd ) ) ) // InternalXcore.g:4782:5: () ( ( ruleOpAdd ) ) { // InternalXcore.g:4782:5: () // InternalXcore.g:4783:1: { } // InternalXcore.g:4783:2: ( ( ruleOpAdd ) ) // InternalXcore.g:4784:1: ( ruleOpAdd ) { // InternalXcore.g:4784:1: ( ruleOpAdd ) // InternalXcore.g:4785:3: ruleOpAdd { pushFollow(FollowSets000.FOLLOW_2); ruleOpAdd(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred13_InternalXcore // $ANTLR start synpred14_InternalXcore public final void synpred14_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:4890:3: ( ( () ( ( ruleOpMulti ) ) ) ) // InternalXcore.g:4890:4: ( () ( ( ruleOpMulti ) ) ) { // InternalXcore.g:4890:4: ( () ( ( ruleOpMulti ) ) ) // InternalXcore.g:4890:5: () ( ( ruleOpMulti ) ) { // InternalXcore.g:4890:5: () // InternalXcore.g:4891:1: { } // InternalXcore.g:4891:2: ( ( ruleOpMulti ) ) // InternalXcore.g:4892:1: ( ruleOpMulti ) { // InternalXcore.g:4892:1: ( ruleOpMulti ) // InternalXcore.g:4893:3: ruleOpMulti { pushFollow(FollowSets000.FOLLOW_2); ruleOpMulti(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred14_InternalXcore // $ANTLR start synpred15_InternalXcore public final void synpred15_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:5123:3: ( ( () 'as' ) ) // InternalXcore.g:5123:4: ( () 'as' ) { // InternalXcore.g:5123:4: ( () 'as' ) // InternalXcore.g:5123:5: () 'as' { // InternalXcore.g:5123:5: () // InternalXcore.g:5124:1: { } match(input,21,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred15_InternalXcore // $ANTLR start synpred16_InternalXcore public final void synpred16_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:5183:2: ( ( () ( ( ruleOpPostfix ) ) ) ) // InternalXcore.g:5183:3: ( () ( ( ruleOpPostfix ) ) ) { // InternalXcore.g:5183:3: ( () ( ( ruleOpPostfix ) ) ) // InternalXcore.g:5183:4: () ( ( ruleOpPostfix ) ) { // InternalXcore.g:5183:4: () // InternalXcore.g:5184:1: { } // InternalXcore.g:5184:2: ( ( ruleOpPostfix ) ) // InternalXcore.g:5185:1: ( ruleOpPostfix ) { // InternalXcore.g:5185:1: ( ruleOpPostfix ) // InternalXcore.g:5186:3: ruleOpPostfix { pushFollow(FollowSets000.FOLLOW_2); ruleOpPostfix(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred16_InternalXcore // $ANTLR start synpred17_InternalXcore public final void synpred17_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:5273:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) // InternalXcore.g:5273:5: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) { // InternalXcore.g:5273:5: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) // InternalXcore.g:5273:6: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign { // InternalXcore.g:5273:6: () // InternalXcore.g:5274:1: { } // InternalXcore.g:5274:2: ( '.' | ( ( '::' ) ) ) int alt188=2; int LA188_0 = input.LA(1); if ( (LA188_0==67) ) { alt188=1; } else if ( (LA188_0==94) ) { alt188=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 188, 0, input); throw nvae; } switch (alt188) { case 1 : // InternalXcore.g:5274:4: '.' { match(input,67,FollowSets000.FOLLOW_93); if (state.failed) return ; } break; case 2 : // InternalXcore.g:5276:6: ( ( '::' ) ) { // InternalXcore.g:5276:6: ( ( '::' ) ) // InternalXcore.g:5277:1: ( '::' ) { // InternalXcore.g:5277:1: ( '::' ) // InternalXcore.g:5278:2: '::' { match(input,94,FollowSets000.FOLLOW_93); if (state.failed) return ; } } } break; } // InternalXcore.g:5282:3: ( ( ruleFeatureCallID ) ) // InternalXcore.g:5283:1: ( ruleFeatureCallID ) { // InternalXcore.g:5283:1: ( ruleFeatureCallID ) // InternalXcore.g:5284:3: ruleFeatureCallID { pushFollow(FollowSets000.FOLLOW_11); ruleFeatureCallID(); state._fsp--; if (state.failed) return ; } } pushFollow(FollowSets000.FOLLOW_2); ruleOpSingleAssign(); state._fsp--; if (state.failed) return ; } } } // $ANTLR end synpred17_InternalXcore // $ANTLR start synpred18_InternalXcore public final void synpred18_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:5354:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) ) // InternalXcore.g:5354:9: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) { // InternalXcore.g:5354:9: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) // InternalXcore.g:5354:10: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) { // InternalXcore.g:5354:10: () // InternalXcore.g:5355:1: { } // InternalXcore.g:5355:2: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) int alt189=3; switch ( input.LA(1) ) { case 67: { alt189=1; } break; case 95: { alt189=2; } break; case 94: { alt189=3; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 189, 0, input); throw nvae; } switch (alt189) { case 1 : // InternalXcore.g:5355:4: '.' { match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return ; } break; case 2 : // InternalXcore.g:5357:6: ( ( '?.' ) ) { // InternalXcore.g:5357:6: ( ( '?.' ) ) // InternalXcore.g:5358:1: ( '?.' ) { // InternalXcore.g:5358:1: ( '?.' ) // InternalXcore.g:5359:2: '?.' { match(input,95,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } break; case 3 : // InternalXcore.g:5364:6: ( ( '::' ) ) { // InternalXcore.g:5364:6: ( ( '::' ) ) // InternalXcore.g:5365:1: ( '::' ) { // InternalXcore.g:5365:1: ( '::' ) // InternalXcore.g:5366:2: '::' { match(input,94,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } break; } } } } // $ANTLR end synpred18_InternalXcore // $ANTLR start synpred19_InternalXcore public final void synpred19_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:5475:4: ( ( '(' ) ) // InternalXcore.g:5476:1: ( '(' ) { // InternalXcore.g:5476:1: ( '(' ) // InternalXcore.g:5477:2: '(' { match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred19_InternalXcore // $ANTLR start synpred20_InternalXcore public final void synpred20_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:5496:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalXcore.g:5496:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalXcore.g:5496:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalXcore.g:5496:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalXcore.g:5496:6: () // InternalXcore.g:5497:1: { } // InternalXcore.g:5497:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt191=2; int LA191_0 = input.LA(1); if ( (LA191_0==RULE_ID||LA191_0==15||(LA191_0>=44 && LA191_0<=47)||LA191_0==56||LA191_0==85) ) { alt191=1; } switch (alt191) { case 1 : // InternalXcore.g:5497:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalXcore.g:5497:3: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:5498:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:5498:1: ( ruleJvmFormalParameter ) // InternalXcore.g:5499:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_105); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalXcore.g:5501:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop190: do { int alt190=2; int LA190_0 = input.LA(1); if ( (LA190_0==16) ) { alt190=1; } switch (alt190) { case 1 : // InternalXcore.g:5501:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return ; // InternalXcore.g:5502:1: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:5503:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:5503:1: ( ruleJvmFormalParameter ) // InternalXcore.g:5504:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_105); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop190; } } while (true); } break; } // InternalXcore.g:5506:6: ( ( '|' ) ) // InternalXcore.g:5507:1: ( '|' ) { // InternalXcore.g:5507:1: ( '|' ) // InternalXcore.g:5508:2: '|' { match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred20_InternalXcore // $ANTLR start synpred21_InternalXcore public final void synpred21_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:5575:4: ( ( () '[' ) ) // InternalXcore.g:5575:5: ( () '[' ) { // InternalXcore.g:5575:5: ( () '[' ) // InternalXcore.g:5575:6: () '[' { // InternalXcore.g:5575:6: () // InternalXcore.g:5576:1: { } match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred21_InternalXcore // $ANTLR start synpred22_InternalXcore public final void synpred22_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:5646:7: ( ( () 'synchronized' '(' ) ) // InternalXcore.g:5646:8: ( () 'synchronized' '(' ) { // InternalXcore.g:5646:8: ( () 'synchronized' '(' ) // InternalXcore.g:5646:9: () 'synchronized' '(' { // InternalXcore.g:5646:9: () // InternalXcore.g:5647:1: { } match(input,118,FollowSets000.FOLLOW_56); if (state.failed) return ; match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred22_InternalXcore // $ANTLR start synpred23_InternalXcore public final void synpred23_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:5689:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) // InternalXcore.g:5689:8: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) { // InternalXcore.g:5689:8: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) // InternalXcore.g:5689:9: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' { // InternalXcore.g:5689:9: () // InternalXcore.g:5690:1: { } match(input,104,FollowSets000.FOLLOW_56); if (state.failed) return ; match(input,15,FollowSets000.FOLLOW_20); if (state.failed) return ; // InternalXcore.g:5692:1: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:5693:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:5693:1: ( ruleJvmFormalParameter ) // InternalXcore.g:5694:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_110); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,101,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred23_InternalXcore // $ANTLR start synpred24_InternalXcore public final void synpred24_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:5807:7: ( ( () '[' ) ) // InternalXcore.g:5807:8: ( () '[' ) { // InternalXcore.g:5807:8: ( () '[' ) // InternalXcore.g:5807:9: () '[' { // InternalXcore.g:5807:9: () // InternalXcore.g:5808:1: { } match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred24_InternalXcore // $ANTLR start synpred26_InternalXcore public final void synpred26_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:6099:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalXcore.g:6099:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalXcore.g:6099:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalXcore.g:6099:6: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalXcore.g:6099:6: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt193=2; int LA193_0 = input.LA(1); if ( (LA193_0==RULE_ID||LA193_0==15||(LA193_0>=44 && LA193_0<=47)||LA193_0==56||LA193_0==85) ) { alt193=1; } switch (alt193) { case 1 : // InternalXcore.g:6099:7: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalXcore.g:6099:7: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:6100:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:6100:1: ( ruleJvmFormalParameter ) // InternalXcore.g:6101:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_105); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalXcore.g:6103:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop192: do { int alt192=2; int LA192_0 = input.LA(1); if ( (LA192_0==16) ) { alt192=1; } switch (alt192) { case 1 : // InternalXcore.g:6103:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return ; // InternalXcore.g:6104:1: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:6105:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:6105:1: ( ruleJvmFormalParameter ) // InternalXcore.g:6106:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_105); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop192; } } while (true); } break; } // InternalXcore.g:6108:6: ( ( '|' ) ) // InternalXcore.g:6109:1: ( '|' ) { // InternalXcore.g:6109:1: ( '|' ) // InternalXcore.g:6110:2: '|' { match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred26_InternalXcore // $ANTLR start synpred28_InternalXcore public final void synpred28_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:6469:4: ( 'else' ) // InternalXcore.g:6469:6: 'else' { match(input,99,FollowSets000.FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred28_InternalXcore // $ANTLR start synpred29_InternalXcore public final void synpred29_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:6523:4: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) // InternalXcore.g:6523:5: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) { // InternalXcore.g:6523:5: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) // InternalXcore.g:6523:7: '(' ( ( ruleJvmFormalParameter ) ) ':' { match(input,15,FollowSets000.FOLLOW_20); if (state.failed) return ; // InternalXcore.g:6524:1: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:6525:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:6525:1: ( ruleJvmFormalParameter ) // InternalXcore.g:6526:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_110); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,101,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred29_InternalXcore // $ANTLR start synpred30_InternalXcore public final void synpred30_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:6578:8: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) ) // InternalXcore.g:6578:9: ( ( ( ruleJvmFormalParameter ) ) ':' ) { // InternalXcore.g:6578:9: ( ( ( ruleJvmFormalParameter ) ) ':' ) // InternalXcore.g:6578:10: ( ( ruleJvmFormalParameter ) ) ':' { // InternalXcore.g:6578:10: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:6579:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:6579:1: ( ruleJvmFormalParameter ) // InternalXcore.g:6580:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_110); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,101,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred30_InternalXcore // $ANTLR start synpred32_InternalXcore public final void synpred32_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:7289:4: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) ) // InternalXcore.g:7289:5: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) { // InternalXcore.g:7289:5: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) // InternalXcore.g:7289:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) { // InternalXcore.g:7289:6: ( ( ruleJvmTypeReference ) ) // InternalXcore.g:7290:1: ( ruleJvmTypeReference ) { // InternalXcore.g:7290:1: ( ruleJvmTypeReference ) // InternalXcore.g:7291:1: ruleJvmTypeReference { pushFollow(FollowSets000.FOLLOW_4); ruleJvmTypeReference(); state._fsp--; if (state.failed) return ; } } // InternalXcore.g:7293:2: ( ( ruleValidID ) ) // InternalXcore.g:7294:1: ( ruleValidID ) { // InternalXcore.g:7294:1: ( ruleValidID ) // InternalXcore.g:7295:1: ruleValidID { pushFollow(FollowSets000.FOLLOW_2); ruleValidID(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred32_InternalXcore // $ANTLR start synpred33_InternalXcore public final void synpred33_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:7578:4: ( ( '(' ) ) // InternalXcore.g:7579:1: ( '(' ) { // InternalXcore.g:7579:1: ( '(' ) // InternalXcore.g:7580:2: '(' { match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred33_InternalXcore // $ANTLR start synpred34_InternalXcore public final void synpred34_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:7599:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalXcore.g:7599:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalXcore.g:7599:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalXcore.g:7599:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalXcore.g:7599:6: () // InternalXcore.g:7600:1: { } // InternalXcore.g:7600:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt197=2; int LA197_0 = input.LA(1); if ( (LA197_0==RULE_ID||LA197_0==15||(LA197_0>=44 && LA197_0<=47)||LA197_0==56||LA197_0==85) ) { alt197=1; } switch (alt197) { case 1 : // InternalXcore.g:7600:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalXcore.g:7600:3: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:7601:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:7601:1: ( ruleJvmFormalParameter ) // InternalXcore.g:7602:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_105); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalXcore.g:7604:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop196: do { int alt196=2; int LA196_0 = input.LA(1); if ( (LA196_0==16) ) { alt196=1; } switch (alt196) { case 1 : // InternalXcore.g:7604:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return ; // InternalXcore.g:7605:1: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:7606:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:7606:1: ( ruleJvmFormalParameter ) // InternalXcore.g:7607:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_105); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop196; } } while (true); } break; } // InternalXcore.g:7609:6: ( ( '|' ) ) // InternalXcore.g:7610:1: ( '|' ) { // InternalXcore.g:7610:1: ( '|' ) // InternalXcore.g:7611:2: '|' { match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred34_InternalXcore // $ANTLR start synpred35_InternalXcore public final void synpred35_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:7678:4: ( ( () '[' ) ) // InternalXcore.g:7678:5: ( () '[' ) { // InternalXcore.g:7678:5: ( () '[' ) // InternalXcore.g:7678:6: () '[' { // InternalXcore.g:7678:6: () // InternalXcore.g:7679:1: { } match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred35_InternalXcore // $ANTLR start synpred36_InternalXcore public final void synpred36_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:7783:4: ( '<' ) // InternalXcore.g:7783:6: '<' { match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred36_InternalXcore // $ANTLR start synpred37_InternalXcore public final void synpred37_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:7832:5: ( ( '(' ) ) // InternalXcore.g:7833:1: ( '(' ) { // InternalXcore.g:7833:1: ( '(' ) // InternalXcore.g:7834:2: '(' { match(input,15,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred37_InternalXcore // $ANTLR start synpred38_InternalXcore public final void synpred38_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:7853:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalXcore.g:7853:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalXcore.g:7853:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalXcore.g:7853:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalXcore.g:7853:6: () // InternalXcore.g:7854:1: { } // InternalXcore.g:7854:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt199=2; int LA199_0 = input.LA(1); if ( (LA199_0==RULE_ID||LA199_0==15||(LA199_0>=44 && LA199_0<=47)||LA199_0==56||LA199_0==85) ) { alt199=1; } switch (alt199) { case 1 : // InternalXcore.g:7854:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalXcore.g:7854:3: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:7855:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:7855:1: ( ruleJvmFormalParameter ) // InternalXcore.g:7856:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_105); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalXcore.g:7858:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop198: do { int alt198=2; int LA198_0 = input.LA(1); if ( (LA198_0==16) ) { alt198=1; } switch (alt198) { case 1 : // InternalXcore.g:7858:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,16,FollowSets000.FOLLOW_20); if (state.failed) return ; // InternalXcore.g:7859:1: ( ( ruleJvmFormalParameter ) ) // InternalXcore.g:7860:1: ( ruleJvmFormalParameter ) { // InternalXcore.g:7860:1: ( ruleJvmFormalParameter ) // InternalXcore.g:7861:1: ruleJvmFormalParameter { pushFollow(FollowSets000.FOLLOW_105); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop198; } } while (true); } break; } // InternalXcore.g:7863:6: ( ( '|' ) ) // InternalXcore.g:7864:1: ( '|' ) { // InternalXcore.g:7864:1: ( '|' ) // InternalXcore.g:7865:2: '|' { match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred38_InternalXcore // $ANTLR start synpred39_InternalXcore public final void synpred39_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:7932:4: ( ( () '[' ) ) // InternalXcore.g:7932:5: ( () '[' ) { // InternalXcore.g:7932:5: ( () '[' ) // InternalXcore.g:7932:6: () '[' { // InternalXcore.g:7932:6: () // InternalXcore.g:7933:1: { } match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred39_InternalXcore // $ANTLR start synpred40_InternalXcore public final void synpred40_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:8272:2: ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING ) // InternalXcore.g: { if ( (input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==13||input.LA(1)==15||(input.LA(1)>=19 && input.LA(1)<=21)||input.LA(1)==23||(input.LA(1)>=25 && input.LA(1)<=29)||(input.LA(1)>=31 && input.LA(1)<=57)||input.LA(1)==59||input.LA(1)==62||input.LA(1)==66||(input.LA(1)>=68 && input.LA(1)<=69)||input.LA(1)==91||input.LA(1)==96||input.LA(1)==98||input.LA(1)==100||(input.LA(1)>=104 && input.LA(1)<=106)||(input.LA(1)>=109 && input.LA(1)<=116)||input.LA(1)==118 ) { input.consume(); state.errorRecovery=false;state.failed=false; } else { if (state.backtracking>0) {state.failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); throw mse; } } } // $ANTLR end synpred40_InternalXcore // $ANTLR start synpred41_InternalXcore public final void synpred41_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:8398:5: ( 'catch' ) // InternalXcore.g:8398:7: 'catch' { match(input,119,FollowSets000.FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred41_InternalXcore // $ANTLR start synpred42_InternalXcore public final void synpred42_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:8417:5: ( 'finally' ) // InternalXcore.g:8417:7: 'finally' { match(input,117,FollowSets000.FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred42_InternalXcore // $ANTLR start synpred45_InternalXcore public final void synpred45_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:8643:3: ( '.' ) // InternalXcore.g:8644:2: '.' { match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred45_InternalXcore // $ANTLR start synpred46_InternalXcore public final void synpred46_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:8769:2: ( ( () ruleArrayBrackets ) ) // InternalXcore.g:8769:3: ( () ruleArrayBrackets ) { // InternalXcore.g:8769:3: ( () ruleArrayBrackets ) // InternalXcore.g:8769:4: () ruleArrayBrackets { // InternalXcore.g:8769:4: () // InternalXcore.g:8770:1: { } pushFollow(FollowSets000.FOLLOW_2); ruleArrayBrackets(); state._fsp--; if (state.failed) return ; } } } // $ANTLR end synpred46_InternalXcore // $ANTLR start synpred47_InternalXcore public final void synpred47_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:8954:4: ( '<' ) // InternalXcore.g:8954:6: '<' { match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred47_InternalXcore // $ANTLR start synpred48_InternalXcore public final void synpred48_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:9003:3: ( ( () '.' ) ) // InternalXcore.g:9003:4: ( () '.' ) { // InternalXcore.g:9003:4: ( () '.' ) // InternalXcore.g:9003:5: () '.' { // InternalXcore.g:9003:5: () // InternalXcore.g:9004:1: { } match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred48_InternalXcore // $ANTLR start synpred49_InternalXcore public final void synpred49_InternalXcore_fragment() throws RecognitionException { // InternalXcore.g:9030:4: ( '<' ) // InternalXcore.g:9030:6: '<' { match(input,23,FollowSets000.FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred49_InternalXcore // Delegated rules public final boolean synpred15_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred15_InternalXcore_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 synpred9_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred9_InternalXcore_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 synpred49_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred49_InternalXcore_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 synpred23_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred23_InternalXcore_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred28_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred28_InternalXcore_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 synpred21_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred21_InternalXcore_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 synpred42_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred42_InternalXcore_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 synpred36_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred36_InternalXcore_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 synpred18_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred18_InternalXcore_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 synpred39_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred39_InternalXcore_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 synpred47_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred47_InternalXcore_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 synpred13_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred13_InternalXcore_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 synpred34_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred34_InternalXcore_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 synpred40_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred40_InternalXcore_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 synpred7_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred7_InternalXcore_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 synpred24_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred24_InternalXcore_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 synpred32_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred32_InternalXcore_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 synpred45_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred45_InternalXcore_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 synpred5_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred5_InternalXcore_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 synpred26_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred26_InternalXcore_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 synpred11_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred11_InternalXcore_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 synpred30_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred30_InternalXcore_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 synpred29_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred29_InternalXcore_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 synpred3_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred3_InternalXcore_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 synpred8_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred8_InternalXcore_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 synpred14_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred14_InternalXcore_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 synpred35_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred35_InternalXcore_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 synpred37_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred37_InternalXcore_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 synpred22_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred22_InternalXcore_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 synpred16_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred16_InternalXcore_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 synpred1_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred1_InternalXcore_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 synpred33_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred33_InternalXcore_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred41_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred41_InternalXcore_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 synpred12_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred12_InternalXcore_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 synpred20_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred20_InternalXcore_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 synpred17_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred17_InternalXcore_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 synpred38_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred38_InternalXcore_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 synpred4_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred4_InternalXcore_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 synpred48_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred48_InternalXcore_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 synpred19_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred19_InternalXcore_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 synpred10_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred10_InternalXcore_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred6_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred6_InternalXcore_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 synpred46_InternalXcore() { state.backtracking++; int start = input.mark(); try { synpred46_InternalXcore_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 DFA7 dfa7 = new DFA7(this); protected DFA8 dfa8 = new DFA8(this); protected DFA30 dfa30 = new DFA30(this); protected DFA32 dfa32 = new DFA32(this); protected DFA35 dfa35 = new DFA35(this); protected DFA46 dfa46 = new DFA46(this); protected DFA82 dfa82 = new DFA82(this); protected DFA81 dfa81 = new DFA81(this); protected DFA91 dfa91 = new DFA91(this); protected DFA94 dfa94 = new DFA94(this); protected DFA110 dfa110 = new DFA110(this); protected DFA109 dfa109 = new DFA109(this); protected DFA111 dfa111 = new DFA111(this); protected DFA113 dfa113 = new DFA113(this); protected DFA122 dfa122 = new DFA122(this); protected DFA129 dfa129 = new DFA129(this); protected DFA128 dfa128 = new DFA128(this); protected DFA142 dfa142 = new DFA142(this); protected DFA149 dfa149 = new DFA149(this); protected DFA148 dfa148 = new DFA148(this); protected DFA150 dfa150 = new DFA150(this); protected DFA153 dfa153 = new DFA153(this); protected DFA156 dfa156 = new DFA156(this); protected DFA155 dfa155 = new DFA155(this); protected DFA157 dfa157 = new DFA157(this); protected DFA160 dfa160 = new DFA160(this); protected DFA164 dfa164 = new DFA164(this); protected DFA178 dfa178 = new DFA178(this); protected DFA177 dfa177 = new DFA177(this); protected DFA176 dfa176 = new DFA176(this); protected DFA185 dfa185 = new DFA185(this); static final String dfa_1s = "\20\uffff"; static final String dfa_2s = "\1\uffff\6\10\2\uffff\6\10\1\uffff"; static final String dfa_3s = "\1\5\6\16\1\5\1\uffff\6\16\1\uffff"; static final String dfa_4s = "\1\70\6\103\1\75\1\uffff\6\103\1\uffff"; static final String dfa_5s = "\10\uffff\1\2\6\uffff\1\1"; static final String dfa_6s = "\20\uffff}>"; static final String[] dfa_7s = { "\1\1\46\uffff\1\2\1\4\1\3\1\5\10\uffff\1\6", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\11\46\uffff\1\12\1\14\1\13\1\15\10\uffff\1\16\4\uffff\1\17", "", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "\1\10\4\uffff\2\10\1\uffff\1\10\5\uffff\1\10\3\uffff\3\10\40\uffff\1\7", "" }; static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); static final short[] dfa_2 = DFA.unpackEncodedString(dfa_2s); static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); static final char[] dfa_4 = DFA.unpackEncodedStringToUnsignedChars(dfa_4s); static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s); static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s); class DFA7 extends DFA { public DFA7(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 7; this.eot = dfa_1; this.eof = dfa_2; this.min = dfa_3; this.max = dfa_4; this.accept = dfa_5; this.special = dfa_6; this.transition = dfa_7; } public String getDescription() { return "366:1: ( ( (lv_importedNamespace_2_0= ruleQualifiedNameWithWildcard ) ) | ( ( ruleQualifiedName ) ) )"; } } static final String dfa_8s = "\61\uffff"; static final String dfa_9s = "\1\16\1\5\3\uffff\5\16\2\5\5\16\6\22\1\5\1\4\6\22\1\20\1\5\1\16\6\22\1\5\1\4\6\22\1\20"; static final String dfa_10s = "\1\42\1\57\3\uffff\5\103\1\57\1\70\13\103\1\70\1\4\6\103\1\21\1\70\1\42\6\103\1\70\1\4\6\103\1\21"; static final String dfa_11s = "\2\uffff\1\1\1\2\1\3\54\uffff"; static final String dfa_12s = "\61\uffff}>"; static final String[] dfa_13s = { "\1\1\7\uffff\1\3\5\uffff\1\4\3\uffff\3\2", "\1\5\46\uffff\1\6\1\10\1\7\1\11", "", "", "", "\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12", "\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12", "\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12", "\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12", "\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12", "\1\14\46\uffff\1\15\1\17\1\16\1\20", "\1\21\46\uffff\1\22\1\24\1\23\1\25\10\uffff\1\26", "\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12", "\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12", "\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12", "\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12", "\1\1\1\13\6\uffff\1\3\5\uffff\1\4\3\uffff\3\2\40\uffff\1\12", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\31\46\uffff\1\32\1\34\1\33\1\35\10\uffff\1\36", "\1\37", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\40\1\41", "\1\42\46\uffff\1\43\1\45\1\44\1\46\10\uffff\1\47", "\1\1\7\uffff\1\3\5\uffff\1\4\3\uffff\3\2", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\52\46\uffff\1\53\1\55\1\54\1\56\10\uffff\1\57", "\1\60", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\40\1\41" }; static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); static final short[][] dfa_13 = unpackEncodedStringArray(dfa_13s); class DFA8 extends DFA { public DFA8(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 8; this.eot = dfa_8; this.eof = dfa_8; this.min = dfa_9; this.max = dfa_10; this.accept = dfa_11; this.special = dfa_12; this.transition = dfa_13; } public String getDescription() { return "492:1: (this_XClass_0= ruleXClass | this_XDataType_1= ruleXDataType | this_XEnum_2= ruleXEnum )"; } } static final String dfa_14s = "\2\5\3\uffff\14\5\6\22\1\5\1\4\6\22\1\20\2\5\6\22\1\5\1\4\6\22\1\20"; static final String dfa_15s = "\1\67\1\57\3\uffff\5\103\1\57\1\70\13\103\1\70\1\4\6\103\1\21\1\70\1\67\6\103\1\70\1\4\6\103\1\21"; static final String[] dfa_16s = { "\1\3\10\uffff\1\1\25\uffff\14\3\5\4\2\uffff\1\2", "\1\5\46\uffff\1\6\1\10\1\7\1\11", "", "", "", "\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12", "\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12", "\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12", "\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12", "\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12", "\1\14\46\uffff\1\15\1\17\1\16\1\20", "\1\21\46\uffff\1\22\1\24\1\23\1\25\10\uffff\1\26", "\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12", "\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12", "\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12", "\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12", "\1\3\10\uffff\1\1\1\13\24\uffff\14\3\5\4\2\uffff\1\2\13\uffff\1\12", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\31\46\uffff\1\32\1\34\1\33\1\35\10\uffff\1\36", "\1\37", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\30\60\uffff\1\27", "\1\40\1\41", "\1\42\46\uffff\1\43\1\45\1\44\1\46\10\uffff\1\47", "\1\3\10\uffff\1\1\25\uffff\14\3\5\4\2\uffff\1\2", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\52\46\uffff\1\53\1\55\1\54\1\56\10\uffff\1\57", "\1\60", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\51\60\uffff\1\50", "\1\40\1\41" }; static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s); static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); static final short[][] dfa_16 = unpackEncodedStringArray(dfa_16s); class DFA30 extends DFA { public DFA30(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 30; this.eot = dfa_8; this.eof = dfa_8; this.min = dfa_14; this.max = dfa_15; this.accept = dfa_11; this.special = dfa_12; this.transition = dfa_16; } public String getDescription() { return "1250:1: (this_XOperation_0= ruleXOperation | this_XAttribute_1= ruleXAttribute | this_XReference_2= ruleXReference )"; } } static final String dfa_17s = "\12\uffff"; static final String dfa_18s = "\1\5\11\uffff"; static final String dfa_19s = "\1\57\11\uffff"; static final String dfa_20s = "\1\uffff\1\11\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10"; static final String dfa_21s = "\1\0\11\uffff}>"; static final String[] dfa_22s = { "\1\1\36\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\4\1", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s); static final char[] dfa_18 = DFA.unpackEncodedStringToUnsignedChars(dfa_18s); static final char[] dfa_19 = DFA.unpackEncodedStringToUnsignedChars(dfa_19s); static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s); static final short[][] dfa_22 = unpackEncodedStringArray(dfa_22s); class DFA32 extends DFA { public DFA32(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 32; this.eot = dfa_17; this.eof = dfa_17; this.min = dfa_18; this.max = dfa_19; this.accept = dfa_20; this.special = dfa_21; this.transition = dfa_22; } public String getDescription() { return "()* loopback of 1331:3: ( ({...}? => ( ({...}? => ( (lv_unordered_3_0= 'unordered' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unique_4_0= 'unique' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_readonly_5_0= 'readonly' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_transient_6_0= 'transient' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_volatile_7_0= 'volatile' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_unsettable_8_0= 'unsettable' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_derived_9_0= 'derived' ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_iD_10_0= 'id' ) ) ) ) ) )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA32_0 = input.LA(1); int index32_0 = input.index(); input.rewind(); s = -1; if ( (LA32_0==RULE_ID||(LA32_0>=44 && LA32_0<=47)) ) {s = 1;} else if ( LA32_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 0) ) {s = 2;} else if ( LA32_0 == 37 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 1) ) {s = 3;} else if ( LA32_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 2) ) {s = 4;} else if ( LA32_0 == 39 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 3) ) {s = 5;} else if ( LA32_0 == 40 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 4) ) {s = 6;} else if ( LA32_0 == 41 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 5) ) {s = 7;} else if ( LA32_0 == 42 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 6) ) {s = 8;} else if ( LA32_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_2(), 7) ) {s = 9;} input.seek(index32_0); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 32, _s, input); error(nvae); throw nvae; } } static final String dfa_23s = "\1\1\11\uffff"; static final String dfa_24s = "\1\5\1\uffff\4\5\4\uffff"; static final String dfa_25s = "\1\67\1\uffff\4\103\4\uffff"; static final String dfa_26s = "\1\uffff\1\5\4\uffff\1\1\1\3\1\2\1\4"; static final String dfa_27s = "\2\uffff\1\2\1\0\1\3\1\1\4\uffff}>"; static final String[] dfa_28s = { "\1\1\10\uffff\1\1\17\uffff\1\1\5\uffff\10\1\1\2\1\4\1\3\1\5\5\1\2\uffff\1\1", "", "\1\1\21\uffff\1\1\5\uffff\1\6\35\uffff\1\1\7\uffff\1\1", "\1\1\21\uffff\1\1\5\uffff\1\7\35\uffff\1\1\7\uffff\1\1", "\1\1\21\uffff\1\1\5\uffff\1\10\35\uffff\1\1\7\uffff\1\1", "\1\1\21\uffff\1\1\5\uffff\1\11\35\uffff\1\1\7\uffff\1\1", "", "", "", "" }; static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s); static final char[] dfa_24 = DFA.unpackEncodedStringToUnsignedChars(dfa_24s); static final char[] dfa_25 = DFA.unpackEncodedStringToUnsignedChars(dfa_25s); static final short[] dfa_26 = DFA.unpackEncodedString(dfa_26s); static final short[] dfa_27 = DFA.unpackEncodedString(dfa_27s); static final short[][] dfa_28 = unpackEncodedStringArray(dfa_28s); class DFA35 extends DFA { public DFA35(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 35; this.eot = dfa_17; this.eof = dfa_23; this.min = dfa_24; this.max = dfa_25; this.accept = dfa_26; this.special = dfa_27; this.transition = dfa_28; } public String getDescription() { return "()* loopback of 1639:3: ( ({...}? => ( ({...}? => (otherlv_17= 'get' ( (lv_getBody_18_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'set' ( (lv_setBody_20_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'isSet' ( (lv_isSetBody_22_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'unset' ( (lv_unsetBody_24_0= ruleXBlockExpression ) ) ) ) ) ) )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA35_3 = input.LA(1); int index35_3 = input.index(); input.rewind(); s = -1; if ( LA35_3 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 2) ) {s = 7;} else if ( (LA35_3==RULE_ID||LA35_3==23||LA35_3==59||LA35_3==67) ) {s = 1;} input.seek(index35_3); if ( s>=0 ) return s; break; case 1 : int LA35_5 = input.LA(1); int index35_5 = input.index(); input.rewind(); s = -1; if ( (LA35_5==RULE_ID||LA35_5==23||LA35_5==59||LA35_5==67) ) {s = 1;} else if ( LA35_5 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 3) ) {s = 9;} input.seek(index35_5); if ( s>=0 ) return s; break; case 2 : int LA35_2 = input.LA(1); int index35_2 = input.index(); input.rewind(); s = -1; if ( LA35_2 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 0) ) {s = 6;} else if ( (LA35_2==RULE_ID||LA35_2==23||LA35_2==59||LA35_2==67) ) {s = 1;} input.seek(index35_2); if ( s>=0 ) return s; break; case 3 : int LA35_4 = input.LA(1); int index35_4 = input.index(); input.rewind(); s = -1; if ( (LA35_4==RULE_ID||LA35_4==23||LA35_4==59||LA35_4==67) ) {s = 1;} else if ( LA35_4 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXAttributeAccess().getUnorderedGroup_7(), 1) ) {s = 8;} input.seek(index35_4); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 35, _s, input); error(nvae); throw nvae; } } static final String dfa_29s = "\2\uffff\1\3\1\1\1\0\1\2\4\uffff}>"; static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s); class DFA46 extends DFA { public DFA46(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 46; this.eot = dfa_17; this.eof = dfa_23; this.min = dfa_24; this.max = dfa_25; this.accept = dfa_26; this.special = dfa_29; this.transition = dfa_28; } public String getDescription() { return "()* loopback of 2315:3: ( ({...}? => ( ({...}? => (otherlv_32= 'get' ( (lv_getBody_33_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_34= 'set' ( (lv_setBody_35_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'isSet' ( (lv_isSetBody_37_0= ruleXBlockExpression ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'unset' ( (lv_unsetBody_39_0= ruleXBlockExpression ) ) ) ) ) ) )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA46_4 = input.LA(1); int index46_4 = input.index(); input.rewind(); s = -1; if ( (LA46_4==RULE_ID||LA46_4==23||LA46_4==59||LA46_4==67) ) {s = 1;} else if ( LA46_4 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 1) ) {s = 8;} input.seek(index46_4); if ( s>=0 ) return s; break; case 1 : int LA46_3 = input.LA(1); int index46_3 = input.index(); input.rewind(); s = -1; if ( LA46_3 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 2) ) {s = 7;} else if ( (LA46_3==RULE_ID||LA46_3==23||LA46_3==59||LA46_3==67) ) {s = 1;} input.seek(index46_3); if ( s>=0 ) return s; break; case 2 : int LA46_5 = input.LA(1); int index46_5 = input.index(); input.rewind(); s = -1; if ( (LA46_5==RULE_ID||LA46_5==23||LA46_5==59||LA46_5==67) ) {s = 1;} else if ( LA46_5 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 3) ) {s = 9;} input.seek(index46_5); if ( s>=0 ) return s; break; case 3 : int LA46_2 = input.LA(1); int index46_2 = input.index(); input.rewind(); s = -1; if ( (LA46_2==RULE_ID||LA46_2==23||LA46_2==59||LA46_2==67) ) {s = 1;} else if ( LA46_2 == 29 && getUnorderedGroupHelper().canSelect(grammarAccess.getXReferenceAccess().getUnorderedGroup_9(), 0) ) {s = 6;} input.seek(index46_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 46, _s, input); error(nvae); throw nvae; } } static final String dfa_30s = "\50\uffff"; static final String dfa_31s = "\1\uffff\45\46\2\uffff"; static final String dfa_32s = "\46\4\2\uffff"; static final String dfa_33s = "\1\166\45\167\2\uffff"; static final String dfa_34s = "\46\uffff\1\2\1\1"; static final String dfa_35s = "\50\uffff}>"; static final String[] dfa_36s = { "\1\46\1\1\3\46\4\uffff\1\32\1\uffff\1\46\3\uffff\1\24\1\10\1\11\1\uffff\1\46\1\uffff\1\45\1\16\1\15\1\20\1\46\1\uffff\1\46\1\7\1\12\1\26\1\21\1\42\1\41\1\33\1\40\1\44\1\43\1\17\1\23\1\2\1\4\1\3\1\5\1\14\1\35\1\13\1\34\1\27\1\31\1\25\1\30\1\6\1\37\1\uffff\1\46\2\uffff\1\46\3\uffff\1\46\1\uffff\1\22\1\36\25\uffff\1\46\4\uffff\1\46\1\uffff\1\46\1\uffff\1\46\3\uffff\3\46\2\uffff\10\46\1\uffff\1\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "\5\46\4\uffff\1\46\1\uffff\3\46\1\47\3\46\1\uffff\43\46\1\uffff\1\46\1\uffff\44\46\1\uffff\26\46", "", "" }; static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s); static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s); static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s); static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s); static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s); static final short[][] dfa_36 = unpackEncodedStringArray(dfa_36s); class DFA82 extends DFA { public DFA82(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 82; this.eot = dfa_30; this.eof = dfa_31; this.min = dfa_32; this.max = dfa_33; this.accept = dfa_34; this.special = dfa_35; this.transition = dfa_36; } public String getDescription() { return "3832:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )"; } } static final String dfa_37s = "\1\10\11\uffff"; static final String dfa_38s = "\1\4\7\0\2\uffff"; static final String dfa_39s = "\1\167\7\0\2\uffff"; static final String dfa_40s = "\10\uffff\1\2\1\1"; static final String dfa_41s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\2\uffff}>"; static final String[] dfa_42s = { "\5\10\4\uffff\1\10\1\uffff\3\10\1\uffff\3\10\1\uffff\1\6\1\7\41\10\1\uffff\1\10\1\uffff\11\10\1\1\1\2\1\3\1\4\1\5\26\10\1\uffff\26\10", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "" }; static final short[] dfa_37 = DFA.unpackEncodedString(dfa_37s); static final char[] dfa_38 = DFA.unpackEncodedStringToUnsignedChars(dfa_38s); static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s); static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s); static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s); static final short[][] dfa_42 = unpackEncodedStringArray(dfa_42s); class DFA81 extends DFA { public DFA81(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 81; this.eot = dfa_17; this.eof = dfa_37; this.min = dfa_38; this.max = dfa_39; this.accept = dfa_40; this.special = dfa_41; this.transition = dfa_42; } public String getDescription() { return "3889:1: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA81_1 = input.LA(1); int index81_1 = input.index(); input.rewind(); s = -1; if ( (synpred4_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index81_1); if ( s>=0 ) return s; break; case 1 : int LA81_2 = input.LA(1); int index81_2 = input.index(); input.rewind(); s = -1; if ( (synpred4_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index81_2); if ( s>=0 ) return s; break; case 2 : int LA81_3 = input.LA(1); int index81_3 = input.index(); input.rewind(); s = -1; if ( (synpred4_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index81_3); if ( s>=0 ) return s; break; case 3 : int LA81_4 = input.LA(1); int index81_4 = input.index(); input.rewind(); s = -1; if ( (synpred4_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index81_4); if ( s>=0 ) return s; break; case 4 : int LA81_5 = input.LA(1); int index81_5 = input.index(); input.rewind(); s = -1; if ( (synpred4_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index81_5); if ( s>=0 ) return s; break; case 5 : int LA81_6 = input.LA(1); int index81_6 = input.index(); input.rewind(); s = -1; if ( (synpred4_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index81_6); if ( s>=0 ) return s; break; case 6 : int LA81_7 = input.LA(1); int index81_7 = input.index(); input.rewind(); s = -1; if ( (synpred4_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index81_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 81, _s, input); error(nvae); throw nvae; } } static final String dfa_43s = "\13\uffff"; static final String dfa_44s = "\1\1\12\uffff"; static final String dfa_45s = "\1\4\1\uffff\10\0\1\uffff"; static final String dfa_46s = "\1\167\1\uffff\10\0\1\uffff"; static final String dfa_47s = "\1\uffff\1\2\10\uffff\1\1"; static final String dfa_48s = "\2\uffff\1\5\1\3\1\1\1\2\1\0\1\4\1\6\1\7\1\uffff}>"; static final String[] dfa_49s = { "\5\1\4\uffff\1\1\1\uffff\3\1\1\uffff\3\1\1\uffff\1\2\1\3\41\1\1\uffff\1\1\1\uffff\2\1\1\6\23\1\1\4\1\5\1\7\1\10\1\11\11\1\1\uffff\26\1", "", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "" }; static final short[] dfa_43 = DFA.unpackEncodedString(dfa_43s); static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s); static final char[] dfa_45 = DFA.unpackEncodedStringToUnsignedChars(dfa_45s); static final char[] dfa_46 = DFA.unpackEncodedStringToUnsignedChars(dfa_46s); static final short[] dfa_47 = DFA.unpackEncodedString(dfa_47s); static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s); static final short[][] dfa_49 = unpackEncodedStringArray(dfa_49s); class DFA91 extends DFA { public DFA91(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 91; this.eot = dfa_43; this.eof = dfa_44; this.min = dfa_45; this.max = dfa_46; this.accept = dfa_47; this.special = dfa_48; this.transition = dfa_49; } public String getDescription() { return "()* loopback of 4566:1: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA91_6 = input.LA(1); int index91_6 = input.index(); input.rewind(); s = -1; if ( (synpred10_InternalXcore()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index91_6); if ( s>=0 ) return s; break; case 1 : int LA91_4 = input.LA(1); int index91_4 = input.index(); input.rewind(); s = -1; if ( (synpred10_InternalXcore()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index91_4); if ( s>=0 ) return s; break; case 2 : int LA91_5 = input.LA(1); int index91_5 = input.index(); input.rewind(); s = -1; if ( (synpred10_InternalXcore()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index91_5); if ( s>=0 ) return s; break; case 3 : int LA91_3 = input.LA(1); int index91_3 = input.index(); input.rewind(); s = -1; if ( (synpred10_InternalXcore()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index91_3); if ( s>=0 ) return s; break; case 4 : int LA91_7 = input.LA(1); int index91_7 = input.index(); input.rewind(); s = -1; if ( (synpred10_InternalXcore()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index91_7); if ( s>=0 ) return s; break; case 5 : int LA91_2 = input.LA(1); int index91_2 = input.index(); input.rewind(); s = -1; if ( (synpred10_InternalXcore()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index91_2); if ( s>=0 ) return s; break; case 6 : int LA91_8 = input.LA(1); int index91_8 = input.index(); input.rewind(); s = -1; if ( (synpred10_InternalXcore()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index91_8); if ( s>=0 ) return s; break; case 7 : int LA91_9 = input.LA(1); int index91_9 = input.index(); input.rewind(); s = -1; if ( (synpred10_InternalXcore()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index91_9); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 91, _s, input); error(nvae); throw nvae; } } static final String dfa_50s = "\1\27\2\uffff\1\30\7\uffff"; static final String dfa_51s = "\1\127\2\uffff\1\77\7\uffff"; static final String dfa_52s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3"; static final String dfa_53s = "\13\uffff}>"; static final String[] dfa_54s = { "\1\6\1\3\46\uffff\1\4\23\uffff\1\1\1\2\1\5\1\7\1\10", "", "", "\1\11\46\uffff\1\12", "", "", "", "", "", "", "" }; static final char[] dfa_50 = DFA.unpackEncodedStringToUnsignedChars(dfa_50s); static final char[] dfa_51 = DFA.unpackEncodedStringToUnsignedChars(dfa_51s); static final short[] dfa_52 = DFA.unpackEncodedString(dfa_52s); static final short[] dfa_53 = DFA.unpackEncodedString(dfa_53s); static final short[][] dfa_54 = unpackEncodedStringArray(dfa_54s); class DFA94 extends DFA { public DFA94(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 94; this.eot = dfa_43; this.eof = dfa_43; this.min = dfa_50; this.max = dfa_51; this.accept = dfa_52; this.special = dfa_53; this.transition = dfa_54; } public String getDescription() { return "4631:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )"; } } static final String dfa_55s = "\155\uffff"; static final String dfa_56s = "\1\2\154\uffff"; static final String dfa_57s = "\1\4\1\0\153\uffff"; static final String dfa_58s = "\1\167\1\0\153\uffff"; static final String dfa_59s = "\2\uffff\1\2\151\uffff\1\1"; static final String dfa_60s = "\1\uffff\1\0\153\uffff}>"; static final String[] dfa_61s = { "\5\2\4\uffff\1\2\1\uffff\1\1\2\2\1\uffff\3\2\1\uffff\43\2\1\uffff\1\2\1\uffff\44\2\1\uffff\26\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_55 = DFA.unpackEncodedString(dfa_55s); static final short[] dfa_56 = DFA.unpackEncodedString(dfa_56s); static final char[] dfa_57 = DFA.unpackEncodedStringToUnsignedChars(dfa_57s); static final char[] dfa_58 = DFA.unpackEncodedStringToUnsignedChars(dfa_58s); static final short[] dfa_59 = DFA.unpackEncodedString(dfa_59s); static final short[] dfa_60 = DFA.unpackEncodedString(dfa_60s); static final short[][] dfa_61 = unpackEncodedStringArray(dfa_61s); class DFA110 extends DFA { public DFA110(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 110; this.eot = dfa_55; this.eof = dfa_56; this.min = dfa_57; this.max = dfa_58; this.accept = dfa_59; this.special = dfa_60; this.transition = dfa_61; } public String getDescription() { return "5475:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA110_1 = input.LA(1); int index110_1 = input.index(); input.rewind(); s = -1; if ( (synpred19_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 2;} input.seek(index110_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 110, _s, input); error(nvae); throw nvae; } } static final String dfa_62s = "\104\uffff"; static final String dfa_63s = "\1\4\7\0\74\uffff"; static final String dfa_64s = "\1\166\7\0\74\uffff"; static final String dfa_65s = "\10\uffff\2\1\1\2\70\uffff\1\3"; static final String dfa_66s = "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\74\uffff}>"; static final String[] dfa_67s = { "\1\12\1\1\3\12\4\uffff\1\12\1\uffff\1\7\1\uffff\1\103\1\uffff\3\12\1\uffff\1\12\1\uffff\5\12\1\uffff\15\12\1\2\1\4\1\3\1\5\10\12\1\6\1\12\1\uffff\1\12\2\uffff\1\12\3\uffff\1\12\1\uffff\2\12\17\uffff\1\10\5\uffff\1\12\4\uffff\1\12\1\11\1\12\1\uffff\1\12\3\uffff\3\12\2\uffff\10\12\1\uffff\1\12", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_62 = DFA.unpackEncodedString(dfa_62s); static final char[] dfa_63 = DFA.unpackEncodedStringToUnsignedChars(dfa_63s); static final char[] dfa_64 = DFA.unpackEncodedStringToUnsignedChars(dfa_64s); static final short[] dfa_65 = DFA.unpackEncodedString(dfa_65s); static final short[] dfa_66 = DFA.unpackEncodedString(dfa_66s); static final short[][] dfa_67 = unpackEncodedStringArray(dfa_67s); class DFA109 extends DFA { public DFA109(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 109; this.eot = dfa_62; this.eof = dfa_62; this.min = dfa_63; this.max = dfa_64; this.accept = dfa_65; this.special = dfa_66; this.transition = dfa_67; } public String getDescription() { return "5496:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA109_0 = input.LA(1); int index109_0 = input.index(); input.rewind(); s = -1; if ( (LA109_0==RULE_ID) ) {s = 1;} else if ( (LA109_0==44) ) {s = 2;} else if ( (LA109_0==46) ) {s = 3;} else if ( (LA109_0==45) ) {s = 4;} else if ( (LA109_0==47) ) {s = 5;} else if ( (LA109_0==56) ) {s = 6;} else if ( (LA109_0==15) ) {s = 7;} else if ( (LA109_0==85) && (synpred20_InternalXcore())) {s = 8;} else if ( (LA109_0==97) && (synpred20_InternalXcore())) {s = 9;} else if ( (LA109_0==RULE_STRING||(LA109_0>=RULE_INT && LA109_0<=RULE_DECIMAL)||LA109_0==13||(LA109_0>=19 && LA109_0<=21)||LA109_0==23||(LA109_0>=25 && LA109_0<=29)||(LA109_0>=31 && LA109_0<=43)||(LA109_0>=48 && LA109_0<=55)||LA109_0==57||LA109_0==59||LA109_0==62||LA109_0==66||(LA109_0>=68 && LA109_0<=69)||LA109_0==91||LA109_0==96||LA109_0==98||LA109_0==100||(LA109_0>=104 && LA109_0<=106)||(LA109_0>=109 && LA109_0<=116)||LA109_0==118) ) {s = 10;} else if ( (LA109_0==17) ) {s = 67;} input.seek(index109_0); if ( s>=0 ) return s; break; case 1 : int LA109_1 = input.LA(1); int index109_1 = input.index(); input.rewind(); s = -1; if ( (synpred20_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index109_1); if ( s>=0 ) return s; break; case 2 : int LA109_2 = input.LA(1); int index109_2 = input.index(); input.rewind(); s = -1; if ( (synpred20_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index109_2); if ( s>=0 ) return s; break; case 3 : int LA109_3 = input.LA(1); int index109_3 = input.index(); input.rewind(); s = -1; if ( (synpred20_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index109_3); if ( s>=0 ) return s; break; case 4 : int LA109_4 = input.LA(1); int index109_4 = input.index(); input.rewind(); s = -1; if ( (synpred20_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index109_4); if ( s>=0 ) return s; break; case 5 : int LA109_5 = input.LA(1); int index109_5 = input.index(); input.rewind(); s = -1; if ( (synpred20_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index109_5); if ( s>=0 ) return s; break; case 6 : int LA109_6 = input.LA(1); int index109_6 = input.index(); input.rewind(); s = -1; if ( (synpred20_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index109_6); if ( s>=0 ) return s; break; case 7 : int LA109_7 = input.LA(1); int index109_7 = input.index(); input.rewind(); s = -1; if ( (synpred20_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index109_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 109, _s, input); error(nvae); throw nvae; } } static final String[] dfa_68s = { "\5\2\4\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\43\2\1\uffff\1\1\1\uffff\44\2\1\uffff\26\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[][] dfa_68 = unpackEncodedStringArray(dfa_68s); class DFA111 extends DFA { public DFA111(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 111; this.eot = dfa_55; this.eof = dfa_56; this.min = dfa_57; this.max = dfa_58; this.accept = dfa_59; this.special = dfa_60; this.transition = dfa_68; } public String getDescription() { return "5575:3: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA111_1 = input.LA(1); int index111_1 = input.index(); input.rewind(); s = -1; if ( (synpred21_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 2;} input.seek(index111_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 111, _s, input); error(nvae); throw nvae; } } static final String dfa_69s = "\100\uffff"; static final String dfa_70s = "\1\4\66\uffff\1\0\10\uffff"; static final String dfa_71s = "\1\166\66\uffff\1\0\10\uffff"; static final String dfa_72s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\46\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11"; static final String dfa_73s = "\1\0\66\uffff\1\1\10\uffff}>"; static final String[] dfa_74s = { "\1\54\1\5\3\54\4\uffff\1\5\1\uffff\1\75\3\uffff\3\5\1\uffff\1\5\1\uffff\4\5\1\2\2\uffff\32\5\1\uffff\1\54\6\uffff\1\5\1\uffff\2\5\32\uffff\1\54\1\uffff\1\66\1\uffff\1\3\3\uffff\1\67\1\70\1\71\2\uffff\1\1\4\54\1\72\1\73\1\74\1\uffff\1\4", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "\1\uffff", "", "", "", "", "", "", "", "" }; static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s); static final char[] dfa_70 = DFA.unpackEncodedStringToUnsignedChars(dfa_70s); static final char[] dfa_71 = DFA.unpackEncodedStringToUnsignedChars(dfa_71s); static final short[] dfa_72 = DFA.unpackEncodedString(dfa_72s); static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s); static final short[][] dfa_74 = unpackEncodedStringArray(dfa_74s); class DFA113 extends DFA { public DFA113(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 113; this.eot = dfa_69; this.eof = dfa_69; this.min = dfa_70; this.max = dfa_71; this.accept = dfa_72; this.special = dfa_73; this.transition = dfa_74; } public String getDescription() { return "5616:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA113_0 = input.LA(1); int index113_0 = input.index(); input.rewind(); s = -1; if ( (LA113_0==109) ) {s = 1;} else if ( (LA113_0==29) ) {s = 2;} else if ( (LA113_0==100) ) {s = 3;} else if ( (LA113_0==118) && (synpred22_InternalXcore())) {s = 4;} else if ( (LA113_0==RULE_ID||LA113_0==13||(LA113_0>=19 && LA113_0<=21)||LA113_0==23||(LA113_0>=25 && LA113_0<=28)||(LA113_0>=32 && LA113_0<=57)||LA113_0==66||(LA113_0>=68 && LA113_0<=69)) ) {s = 5;} else if ( (LA113_0==RULE_STRING||(LA113_0>=RULE_INT && LA113_0<=RULE_DECIMAL)||LA113_0==59||LA113_0==96||(LA113_0>=110 && LA113_0<=113)) ) {s = 44;} else if ( (LA113_0==98) ) {s = 54;} else if ( (LA113_0==104) ) {s = 55;} else if ( (LA113_0==105) ) {s = 56;} else if ( (LA113_0==106) ) {s = 57;} else if ( (LA113_0==114) ) {s = 58;} else if ( (LA113_0==115) ) {s = 59;} else if ( (LA113_0==116) ) {s = 60;} else if ( (LA113_0==15) ) {s = 61;} input.seek(index113_0); if ( s>=0 ) return s; break; case 1 : int LA113_55 = input.LA(1); int index113_55 = input.index(); input.rewind(); s = -1; if ( (synpred23_InternalXcore()) ) {s = 62;} else if ( (true) ) {s = 63;} input.seek(index113_55); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 113, _s, input); error(nvae); throw nvae; } } static final String dfa_75s = "\106\uffff"; static final String dfa_76s = "\1\4\7\0\76\uffff"; static final String dfa_77s = "\1\166\7\0\76\uffff"; static final String dfa_78s = "\10\uffff\2\1\1\2\73\uffff"; static final String dfa_79s = "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\76\uffff}>"; static final String[] dfa_80s = { "\1\12\1\1\3\12\4\uffff\1\12\1\uffff\1\7\3\uffff\3\12\1\uffff\1\12\1\uffff\5\12\1\uffff\15\12\1\2\1\4\1\3\1\5\10\12\1\6\1\12\1\uffff\1\12\2\uffff\1\12\1\uffff\1\12\1\uffff\1\12\1\uffff\2\12\17\uffff\1\10\5\uffff\1\12\4\uffff\1\12\1\11\1\12\1\uffff\1\12\3\uffff\15\12\1\uffff\1\12", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_75 = DFA.unpackEncodedString(dfa_75s); static final char[] dfa_76 = DFA.unpackEncodedStringToUnsignedChars(dfa_76s); static final char[] dfa_77 = DFA.unpackEncodedStringToUnsignedChars(dfa_77s); static final short[] dfa_78 = DFA.unpackEncodedString(dfa_78s); static final short[] dfa_79 = DFA.unpackEncodedString(dfa_79s); static final short[][] dfa_80 = unpackEncodedStringArray(dfa_80s); class DFA122 extends DFA { public DFA122(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 122; this.eot = dfa_75; this.eof = dfa_75; this.min = dfa_76; this.max = dfa_77; this.accept = dfa_78; this.special = dfa_79; this.transition = dfa_80; } public String getDescription() { return "6099:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA122_0 = input.LA(1); int index122_0 = input.index(); input.rewind(); s = -1; if ( (LA122_0==RULE_ID) ) {s = 1;} else if ( (LA122_0==44) ) {s = 2;} else if ( (LA122_0==46) ) {s = 3;} else if ( (LA122_0==45) ) {s = 4;} else if ( (LA122_0==47) ) {s = 5;} else if ( (LA122_0==56) ) {s = 6;} else if ( (LA122_0==15) ) {s = 7;} else if ( (LA122_0==85) && (synpred26_InternalXcore())) {s = 8;} else if ( (LA122_0==97) && (synpred26_InternalXcore())) {s = 9;} else if ( (LA122_0==RULE_STRING||(LA122_0>=RULE_INT && LA122_0<=RULE_DECIMAL)||LA122_0==13||(LA122_0>=19 && LA122_0<=21)||LA122_0==23||(LA122_0>=25 && LA122_0<=29)||(LA122_0>=31 && LA122_0<=43)||(LA122_0>=48 && LA122_0<=55)||LA122_0==57||LA122_0==59||LA122_0==62||LA122_0==64||LA122_0==66||(LA122_0>=68 && LA122_0<=69)||LA122_0==91||LA122_0==96||LA122_0==98||LA122_0==100||(LA122_0>=104 && LA122_0<=116)||LA122_0==118) ) {s = 10;} input.seek(index122_0); if ( s>=0 ) return s; break; case 1 : int LA122_1 = input.LA(1); int index122_1 = input.index(); input.rewind(); s = -1; if ( (synpred26_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index122_1); if ( s>=0 ) return s; break; case 2 : int LA122_2 = input.LA(1); int index122_2 = input.index(); input.rewind(); s = -1; if ( (synpred26_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index122_2); if ( s>=0 ) return s; break; case 3 : int LA122_3 = input.LA(1); int index122_3 = input.index(); input.rewind(); s = -1; if ( (synpred26_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index122_3); if ( s>=0 ) return s; break; case 4 : int LA122_4 = input.LA(1); int index122_4 = input.index(); input.rewind(); s = -1; if ( (synpred26_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index122_4); if ( s>=0 ) return s; break; case 5 : int LA122_5 = input.LA(1); int index122_5 = input.index(); input.rewind(); s = -1; if ( (synpred26_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index122_5); if ( s>=0 ) return s; break; case 6 : int LA122_6 = input.LA(1); int index122_6 = input.index(); input.rewind(); s = -1; if ( (synpred26_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index122_6); if ( s>=0 ) return s; break; case 7 : int LA122_7 = input.LA(1); int index122_7 = input.index(); input.rewind(); s = -1; if ( (synpred26_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index122_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 122, _s, input); error(nvae); throw nvae; } } static final String dfa_81s = "\103\uffff"; static final String dfa_82s = "\1\4\1\0\101\uffff"; static final String dfa_83s = "\1\166\1\0\101\uffff"; static final String dfa_84s = "\2\uffff\1\2\77\uffff\1\1"; static final String dfa_85s = "\1\uffff\1\0\101\uffff}>"; static final String[] dfa_86s = { "\5\2\4\uffff\1\2\1\uffff\1\1\3\uffff\3\2\1\uffff\1\2\1\uffff\5\2\1\uffff\33\2\1\uffff\1\2\2\uffff\1\2\3\uffff\1\2\1\uffff\2\2\17\uffff\1\2\5\uffff\1\2\4\uffff\1\2\1\uffff\1\2\1\uffff\1\2\3\uffff\3\2\2\uffff\10\2\1\uffff\1\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_81 = DFA.unpackEncodedString(dfa_81s); static final char[] dfa_82 = DFA.unpackEncodedStringToUnsignedChars(dfa_82s); static final char[] dfa_83 = DFA.unpackEncodedStringToUnsignedChars(dfa_83s); static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s); static final short[] dfa_85 = DFA.unpackEncodedString(dfa_85s); static final short[][] dfa_86 = unpackEncodedStringArray(dfa_86s); class DFA129 extends DFA { public DFA129(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 129; this.eot = dfa_81; this.eof = dfa_81; this.min = dfa_82; this.max = dfa_83; this.accept = dfa_84; this.special = dfa_85; this.transition = dfa_86; } public String getDescription() { return "6523:1: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA129_1 = input.LA(1); int index129_1 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalXcore()) ) {s = 66;} else if ( (true) ) {s = 2;} input.seek(index129_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 129, _s, input); error(nvae); throw nvae; } } static final String dfa_87s = "\102\uffff"; static final String dfa_88s = "\1\4\7\0\72\uffff"; static final String dfa_89s = "\1\166\7\0\72\uffff"; static final String dfa_90s = "\10\uffff\1\1\1\2\70\uffff"; static final String dfa_91s = "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\72\uffff}>"; static final String[] dfa_92s = { "\1\11\1\1\3\11\4\uffff\1\11\1\uffff\1\7\3\uffff\3\11\1\uffff\1\11\1\uffff\5\11\1\uffff\15\11\1\2\1\4\1\3\1\5\10\11\1\6\1\11\1\uffff\1\11\2\uffff\1\11\3\uffff\1\11\1\uffff\2\11\17\uffff\1\10\5\uffff\1\11\4\uffff\1\11\1\uffff\1\11\1\uffff\1\11\3\uffff\3\11\2\uffff\10\11\1\uffff\1\11", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_87 = DFA.unpackEncodedString(dfa_87s); static final char[] dfa_88 = DFA.unpackEncodedStringToUnsignedChars(dfa_88s); static final char[] dfa_89 = DFA.unpackEncodedStringToUnsignedChars(dfa_89s); static final short[] dfa_90 = DFA.unpackEncodedString(dfa_90s); static final short[] dfa_91 = DFA.unpackEncodedString(dfa_91s); static final short[][] dfa_92 = unpackEncodedStringArray(dfa_92s); class DFA128 extends DFA { public DFA128(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 128; this.eot = dfa_87; this.eof = dfa_87; this.min = dfa_88; this.max = dfa_89; this.accept = dfa_90; this.special = dfa_91; this.transition = dfa_92; } public String getDescription() { return "6578:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA128_0 = input.LA(1); int index128_0 = input.index(); input.rewind(); s = -1; if ( (LA128_0==RULE_ID) ) {s = 1;} else if ( (LA128_0==44) ) {s = 2;} else if ( (LA128_0==46) ) {s = 3;} else if ( (LA128_0==45) ) {s = 4;} else if ( (LA128_0==47) ) {s = 5;} else if ( (LA128_0==56) ) {s = 6;} else if ( (LA128_0==15) ) {s = 7;} else if ( (LA128_0==85) && (synpred30_InternalXcore())) {s = 8;} else if ( (LA128_0==RULE_STRING||(LA128_0>=RULE_INT && LA128_0<=RULE_DECIMAL)||LA128_0==13||(LA128_0>=19 && LA128_0<=21)||LA128_0==23||(LA128_0>=25 && LA128_0<=29)||(LA128_0>=31 && LA128_0<=43)||(LA128_0>=48 && LA128_0<=55)||LA128_0==57||LA128_0==59||LA128_0==62||LA128_0==66||(LA128_0>=68 && LA128_0<=69)||LA128_0==91||LA128_0==96||LA128_0==98||LA128_0==100||(LA128_0>=104 && LA128_0<=106)||(LA128_0>=109 && LA128_0<=116)||LA128_0==118) ) {s = 9;} input.seek(index128_0); if ( s>=0 ) return s; break; case 1 : int LA128_1 = input.LA(1); int index128_1 = input.index(); input.rewind(); s = -1; if ( (synpred30_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index128_1); if ( s>=0 ) return s; break; case 2 : int LA128_2 = input.LA(1); int index128_2 = input.index(); input.rewind(); s = -1; if ( (synpred30_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index128_2); if ( s>=0 ) return s; break; case 3 : int LA128_3 = input.LA(1); int index128_3 = input.index(); input.rewind(); s = -1; if ( (synpred30_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index128_3); if ( s>=0 ) return s; break; case 4 : int LA128_4 = input.LA(1); int index128_4 = input.index(); input.rewind(); s = -1; if ( (synpred30_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index128_4); if ( s>=0 ) return s; break; case 5 : int LA128_5 = input.LA(1); int index128_5 = input.index(); input.rewind(); s = -1; if ( (synpred30_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index128_5); if ( s>=0 ) return s; break; case 6 : int LA128_6 = input.LA(1); int index128_6 = input.index(); input.rewind(); s = -1; if ( (synpred30_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index128_6); if ( s>=0 ) return s; break; case 7 : int LA128_7 = input.LA(1); int index128_7 = input.index(); input.rewind(); s = -1; if ( (synpred30_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index128_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 128, _s, input); error(nvae); throw nvae; } } static final String dfa_93s = "\1\5\6\0\3\uffff"; static final String dfa_94s = "\1\125\6\0\3\uffff"; static final String dfa_95s = "\7\uffff\2\1\1\2"; static final String dfa_96s = "\1\0\1\1\1\2\1\3\1\4\1\5\1\6\3\uffff}>"; static final String[] dfa_97s = { "\1\1\11\uffff\1\7\34\uffff\1\2\1\4\1\3\1\5\10\uffff\1\6\34\uffff\1\10", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "" }; static final char[] dfa_93 = DFA.unpackEncodedStringToUnsignedChars(dfa_93s); static final char[] dfa_94 = DFA.unpackEncodedStringToUnsignedChars(dfa_94s); static final short[] dfa_95 = DFA.unpackEncodedString(dfa_95s); static final short[] dfa_96 = DFA.unpackEncodedString(dfa_96s); static final short[][] dfa_97 = unpackEncodedStringArray(dfa_97s); class DFA142 extends DFA { public DFA142(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 142; this.eot = dfa_17; this.eof = dfa_17; this.min = dfa_93; this.max = dfa_94; this.accept = dfa_95; this.special = dfa_96; this.transition = dfa_97; } public String getDescription() { return "7289:2: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA142_0 = input.LA(1); int index142_0 = input.index(); input.rewind(); s = -1; if ( (LA142_0==RULE_ID) ) {s = 1;} else if ( (LA142_0==44) ) {s = 2;} else if ( (LA142_0==46) ) {s = 3;} else if ( (LA142_0==45) ) {s = 4;} else if ( (LA142_0==47) ) {s = 5;} else if ( (LA142_0==56) ) {s = 6;} else if ( (LA142_0==15) && (synpred32_InternalXcore())) {s = 7;} else if ( (LA142_0==85) && (synpred32_InternalXcore())) {s = 8;} input.seek(index142_0); if ( s>=0 ) return s; break; case 1 : int LA142_1 = input.LA(1); int index142_1 = input.index(); input.rewind(); s = -1; if ( (synpred32_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index142_1); if ( s>=0 ) return s; break; case 2 : int LA142_2 = input.LA(1); int index142_2 = input.index(); input.rewind(); s = -1; if ( (synpred32_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index142_2); if ( s>=0 ) return s; break; case 3 : int LA142_3 = input.LA(1); int index142_3 = input.index(); input.rewind(); s = -1; if ( (synpred32_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index142_3); if ( s>=0 ) return s; break; case 4 : int LA142_4 = input.LA(1); int index142_4 = input.index(); input.rewind(); s = -1; if ( (synpred32_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index142_4); if ( s>=0 ) return s; break; case 5 : int LA142_5 = input.LA(1); int index142_5 = input.index(); input.rewind(); s = -1; if ( (synpred32_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index142_5); if ( s>=0 ) return s; break; case 6 : int LA142_6 = input.LA(1); int index142_6 = input.index(); input.rewind(); s = -1; if ( (synpred32_InternalXcore()) ) {s = 8;} else if ( (true) ) {s = 9;} input.seek(index142_6); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 142, _s, input); error(nvae); throw nvae; } } class DFA149 extends DFA { public DFA149(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 149; this.eot = dfa_55; this.eof = dfa_56; this.min = dfa_57; this.max = dfa_58; this.accept = dfa_59; this.special = dfa_60; this.transition = dfa_61; } public String getDescription() { return "7578:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA149_1 = input.LA(1); int index149_1 = input.index(); input.rewind(); s = -1; if ( (synpred33_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 2;} input.seek(index149_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 149, _s, input); error(nvae); throw nvae; } } class DFA148 extends DFA { public DFA148(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 148; this.eot = dfa_62; this.eof = dfa_62; this.min = dfa_63; this.max = dfa_64; this.accept = dfa_65; this.special = dfa_66; this.transition = dfa_67; } public String getDescription() { return "7599:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA148_0 = input.LA(1); int index148_0 = input.index(); input.rewind(); s = -1; if ( (LA148_0==RULE_ID) ) {s = 1;} else if ( (LA148_0==44) ) {s = 2;} else if ( (LA148_0==46) ) {s = 3;} else if ( (LA148_0==45) ) {s = 4;} else if ( (LA148_0==47) ) {s = 5;} else if ( (LA148_0==56) ) {s = 6;} else if ( (LA148_0==15) ) {s = 7;} else if ( (LA148_0==85) && (synpred34_InternalXcore())) {s = 8;} else if ( (LA148_0==97) && (synpred34_InternalXcore())) {s = 9;} else if ( (LA148_0==RULE_STRING||(LA148_0>=RULE_INT && LA148_0<=RULE_DECIMAL)||LA148_0==13||(LA148_0>=19 && LA148_0<=21)||LA148_0==23||(LA148_0>=25 && LA148_0<=29)||(LA148_0>=31 && LA148_0<=43)||(LA148_0>=48 && LA148_0<=55)||LA148_0==57||LA148_0==59||LA148_0==62||LA148_0==66||(LA148_0>=68 && LA148_0<=69)||LA148_0==91||LA148_0==96||LA148_0==98||LA148_0==100||(LA148_0>=104 && LA148_0<=106)||(LA148_0>=109 && LA148_0<=116)||LA148_0==118) ) {s = 10;} else if ( (LA148_0==17) ) {s = 67;} input.seek(index148_0); if ( s>=0 ) return s; break; case 1 : int LA148_1 = input.LA(1); int index148_1 = input.index(); input.rewind(); s = -1; if ( (synpred34_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index148_1); if ( s>=0 ) return s; break; case 2 : int LA148_2 = input.LA(1); int index148_2 = input.index(); input.rewind(); s = -1; if ( (synpred34_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index148_2); if ( s>=0 ) return s; break; case 3 : int LA148_3 = input.LA(1); int index148_3 = input.index(); input.rewind(); s = -1; if ( (synpred34_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index148_3); if ( s>=0 ) return s; break; case 4 : int LA148_4 = input.LA(1); int index148_4 = input.index(); input.rewind(); s = -1; if ( (synpred34_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index148_4); if ( s>=0 ) return s; break; case 5 : int LA148_5 = input.LA(1); int index148_5 = input.index(); input.rewind(); s = -1; if ( (synpred34_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index148_5); if ( s>=0 ) return s; break; case 6 : int LA148_6 = input.LA(1); int index148_6 = input.index(); input.rewind(); s = -1; if ( (synpred34_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index148_6); if ( s>=0 ) return s; break; case 7 : int LA148_7 = input.LA(1); int index148_7 = input.index(); input.rewind(); s = -1; if ( (synpred34_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index148_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 148, _s, input); error(nvae); throw nvae; } } class DFA150 extends DFA { public DFA150(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 150; this.eot = dfa_55; this.eof = dfa_56; this.min = dfa_57; this.max = dfa_58; this.accept = dfa_59; this.special = dfa_60; this.transition = dfa_68; } public String getDescription() { return "7678:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA150_1 = input.LA(1); int index150_1 = input.index(); input.rewind(); s = -1; if ( (synpred35_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 2;} input.seek(index150_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 150, _s, input); error(nvae); throw nvae; } } static final String[] dfa_98s = { "\5\2\4\uffff\1\2\1\uffff\3\2\1\uffff\3\2\1\uffff\1\1\42\2\1\uffff\1\2\1\uffff\44\2\1\uffff\26\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[][] dfa_98 = unpackEncodedStringArray(dfa_98s); class DFA153 extends DFA { public DFA153(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 153; this.eot = dfa_55; this.eof = dfa_56; this.min = dfa_57; this.max = dfa_58; this.accept = dfa_59; this.special = dfa_60; this.transition = dfa_98; } public String getDescription() { return "7783:2: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA153_1 = input.LA(1); int index153_1 = input.index(); input.rewind(); s = -1; if ( (synpred36_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 2;} input.seek(index153_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 153, _s, input); error(nvae); throw nvae; } } class DFA156 extends DFA { public DFA156(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 156; this.eot = dfa_55; this.eof = dfa_56; this.min = dfa_57; this.max = dfa_58; this.accept = dfa_59; this.special = dfa_60; this.transition = dfa_61; } public String getDescription() { return "7832:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA156_1 = input.LA(1); int index156_1 = input.index(); input.rewind(); s = -1; if ( (synpred37_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 2;} input.seek(index156_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 156, _s, input); error(nvae); throw nvae; } } class DFA155 extends DFA { public DFA155(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 155; this.eot = dfa_62; this.eof = dfa_62; this.min = dfa_63; this.max = dfa_64; this.accept = dfa_65; this.special = dfa_66; this.transition = dfa_67; } public String getDescription() { return "7853:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA155_0 = input.LA(1); int index155_0 = input.index(); input.rewind(); s = -1; if ( (LA155_0==RULE_ID) ) {s = 1;} else if ( (LA155_0==44) ) {s = 2;} else if ( (LA155_0==46) ) {s = 3;} else if ( (LA155_0==45) ) {s = 4;} else if ( (LA155_0==47) ) {s = 5;} else if ( (LA155_0==56) ) {s = 6;} else if ( (LA155_0==15) ) {s = 7;} else if ( (LA155_0==85) && (synpred38_InternalXcore())) {s = 8;} else if ( (LA155_0==97) && (synpred38_InternalXcore())) {s = 9;} else if ( (LA155_0==RULE_STRING||(LA155_0>=RULE_INT && LA155_0<=RULE_DECIMAL)||LA155_0==13||(LA155_0>=19 && LA155_0<=21)||LA155_0==23||(LA155_0>=25 && LA155_0<=29)||(LA155_0>=31 && LA155_0<=43)||(LA155_0>=48 && LA155_0<=55)||LA155_0==57||LA155_0==59||LA155_0==62||LA155_0==66||(LA155_0>=68 && LA155_0<=69)||LA155_0==91||LA155_0==96||LA155_0==98||LA155_0==100||(LA155_0>=104 && LA155_0<=106)||(LA155_0>=109 && LA155_0<=116)||LA155_0==118) ) {s = 10;} else if ( (LA155_0==17) ) {s = 67;} input.seek(index155_0); if ( s>=0 ) return s; break; case 1 : int LA155_1 = input.LA(1); int index155_1 = input.index(); input.rewind(); s = -1; if ( (synpred38_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index155_1); if ( s>=0 ) return s; break; case 2 : int LA155_2 = input.LA(1); int index155_2 = input.index(); input.rewind(); s = -1; if ( (synpred38_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index155_2); if ( s>=0 ) return s; break; case 3 : int LA155_3 = input.LA(1); int index155_3 = input.index(); input.rewind(); s = -1; if ( (synpred38_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index155_3); if ( s>=0 ) return s; break; case 4 : int LA155_4 = input.LA(1); int index155_4 = input.index(); input.rewind(); s = -1; if ( (synpred38_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index155_4); if ( s>=0 ) return s; break; case 5 : int LA155_5 = input.LA(1); int index155_5 = input.index(); input.rewind(); s = -1; if ( (synpred38_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index155_5); if ( s>=0 ) return s; break; case 6 : int LA155_6 = input.LA(1); int index155_6 = input.index(); input.rewind(); s = -1; if ( (synpred38_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index155_6); if ( s>=0 ) return s; break; case 7 : int LA155_7 = input.LA(1); int index155_7 = input.index(); input.rewind(); s = -1; if ( (synpred38_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 10;} input.seek(index155_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 155, _s, input); error(nvae); throw nvae; } } class DFA157 extends DFA { public DFA157(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 157; this.eot = dfa_55; this.eof = dfa_56; this.min = dfa_57; this.max = dfa_58; this.accept = dfa_59; this.special = dfa_60; this.transition = dfa_68; } public String getDescription() { return "7932:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA157_1 = input.LA(1); int index157_1 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 2;} input.seek(index157_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 157, _s, input); error(nvae); throw nvae; } } static final String dfa_99s = "\1\101\154\uffff"; static final String dfa_100s = "\1\4\100\0\54\uffff"; static final String dfa_101s = "\1\167\100\0\54\uffff"; static final String dfa_102s = "\101\uffff\1\2\52\uffff\1\1"; static final String dfa_103s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\54\uffff}>"; static final String[] dfa_104s = { "\1\67\1\1\1\64\1\63\1\65\4\uffff\1\32\1\uffff\1\100\2\101\1\uffff\1\24\1\10\1\11\1\uffff\1\55\1\101\1\45\1\16\1\15\1\20\1\52\1\101\1\47\1\7\1\12\1\26\1\21\1\42\1\41\1\33\1\40\1\44\1\43\1\17\1\23\1\2\1\4\1\3\1\5\1\14\1\35\1\13\1\34\1\27\1\31\1\25\1\30\1\6\1\37\1\uffff\1\60\1\uffff\1\101\1\50\3\101\1\56\1\101\1\22\1\36\25\101\1\46\4\101\1\57\1\uffff\1\71\1\101\1\53\3\101\1\72\1\73\1\74\2\101\1\51\1\61\1\62\1\66\1\70\1\75\1\76\1\77\1\101\1\54\1\101", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_99 = DFA.unpackEncodedString(dfa_99s); static final char[] dfa_100 = DFA.unpackEncodedStringToUnsignedChars(dfa_100s); static final char[] dfa_101 = DFA.unpackEncodedStringToUnsignedChars(dfa_101s); static final short[] dfa_102 = DFA.unpackEncodedString(dfa_102s); static final short[] dfa_103 = DFA.unpackEncodedString(dfa_103s); static final short[][] dfa_104 = unpackEncodedStringArray(dfa_104s); class DFA160 extends DFA { public DFA160(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 160; this.eot = dfa_55; this.eof = dfa_99; this.min = dfa_100; this.max = dfa_101; this.accept = dfa_102; this.special = dfa_103; this.transition = dfa_104; } public String getDescription() { return "8272:1: ( ( 'get' | 'isSet' | 'set' | 'unset' | 'void' | 'abstract' | 'annotation' | 'as' | 'class' | 'container' | 'contains' | 'convert' | 'create' | 'derived' | 'enum' | 'extends' | 'extension' | 'id' | 'import' | 'keys' | 'interface' | 'local' | 'op' | 'opposite' | 'package' | 'readonly' | 'refers' | 'resolving' | 'static' | 'throws' | 'transient' | 'unique' | 'unordered' | 'unsettable' | 'volatile' | 'wraps' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA160_1 = input.LA(1); int index160_1 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_1); if ( s>=0 ) return s; break; case 1 : int LA160_2 = input.LA(1); int index160_2 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_2); if ( s>=0 ) return s; break; case 2 : int LA160_3 = input.LA(1); int index160_3 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_3); if ( s>=0 ) return s; break; case 3 : int LA160_4 = input.LA(1); int index160_4 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_4); if ( s>=0 ) return s; break; case 4 : int LA160_5 = input.LA(1); int index160_5 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_5); if ( s>=0 ) return s; break; case 5 : int LA160_6 = input.LA(1); int index160_6 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_6); if ( s>=0 ) return s; break; case 6 : int LA160_7 = input.LA(1); int index160_7 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_7); if ( s>=0 ) return s; break; case 7 : int LA160_8 = input.LA(1); int index160_8 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_8); if ( s>=0 ) return s; break; case 8 : int LA160_9 = input.LA(1); int index160_9 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_9); if ( s>=0 ) return s; break; case 9 : int LA160_10 = input.LA(1); int index160_10 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_10); if ( s>=0 ) return s; break; case 10 : int LA160_11 = input.LA(1); int index160_11 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_11); if ( s>=0 ) return s; break; case 11 : int LA160_12 = input.LA(1); int index160_12 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_12); if ( s>=0 ) return s; break; case 12 : int LA160_13 = input.LA(1); int index160_13 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_13); if ( s>=0 ) return s; break; case 13 : int LA160_14 = input.LA(1); int index160_14 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_14); if ( s>=0 ) return s; break; case 14 : int LA160_15 = input.LA(1); int index160_15 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_15); if ( s>=0 ) return s; break; case 15 : int LA160_16 = input.LA(1); int index160_16 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_16); if ( s>=0 ) return s; break; case 16 : int LA160_17 = input.LA(1); int index160_17 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_17); if ( s>=0 ) return s; break; case 17 : int LA160_18 = input.LA(1); int index160_18 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_18); if ( s>=0 ) return s; break; case 18 : int LA160_19 = input.LA(1); int index160_19 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_19); if ( s>=0 ) return s; break; case 19 : int LA160_20 = input.LA(1); int index160_20 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_20); if ( s>=0 ) return s; break; case 20 : int LA160_21 = input.LA(1); int index160_21 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_21); if ( s>=0 ) return s; break; case 21 : int LA160_22 = input.LA(1); int index160_22 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_22); if ( s>=0 ) return s; break; case 22 : int LA160_23 = input.LA(1); int index160_23 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_23); if ( s>=0 ) return s; break; case 23 : int LA160_24 = input.LA(1); int index160_24 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_24); if ( s>=0 ) return s; break; case 24 : int LA160_25 = input.LA(1); int index160_25 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_25); if ( s>=0 ) return s; break; case 25 : int LA160_26 = input.LA(1); int index160_26 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_26); if ( s>=0 ) return s; break; case 26 : int LA160_27 = input.LA(1); int index160_27 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_27); if ( s>=0 ) return s; break; case 27 : int LA160_28 = input.LA(1); int index160_28 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_28); if ( s>=0 ) return s; break; case 28 : int LA160_29 = input.LA(1); int index160_29 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_29); if ( s>=0 ) return s; break; case 29 : int LA160_30 = input.LA(1); int index160_30 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_30); if ( s>=0 ) return s; break; case 30 : int LA160_31 = input.LA(1); int index160_31 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_31); if ( s>=0 ) return s; break; case 31 : int LA160_32 = input.LA(1); int index160_32 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_32); if ( s>=0 ) return s; break; case 32 : int LA160_33 = input.LA(1); int index160_33 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_33); if ( s>=0 ) return s; break; case 33 : int LA160_34 = input.LA(1); int index160_34 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_34); if ( s>=0 ) return s; break; case 34 : int LA160_35 = input.LA(1); int index160_35 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_35); if ( s>=0 ) return s; break; case 35 : int LA160_36 = input.LA(1); int index160_36 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_36); if ( s>=0 ) return s; break; case 36 : int LA160_37 = input.LA(1); int index160_37 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_37); if ( s>=0 ) return s; break; case 37 : int LA160_38 = input.LA(1); int index160_38 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_38); if ( s>=0 ) return s; break; case 38 : int LA160_39 = input.LA(1); int index160_39 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_39); if ( s>=0 ) return s; break; case 39 : int LA160_40 = input.LA(1); int index160_40 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_40); if ( s>=0 ) return s; break; case 40 : int LA160_41 = input.LA(1); int index160_41 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_41); if ( s>=0 ) return s; break; case 41 : int LA160_42 = input.LA(1); int index160_42 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_42); if ( s>=0 ) return s; break; case 42 : int LA160_43 = input.LA(1); int index160_43 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_43); if ( s>=0 ) return s; break; case 43 : int LA160_44 = input.LA(1); int index160_44 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_44); if ( s>=0 ) return s; break; case 44 : int LA160_45 = input.LA(1); int index160_45 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_45); if ( s>=0 ) return s; break; case 45 : int LA160_46 = input.LA(1); int index160_46 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_46); if ( s>=0 ) return s; break; case 46 : int LA160_47 = input.LA(1); int index160_47 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_47); if ( s>=0 ) return s; break; case 47 : int LA160_48 = input.LA(1); int index160_48 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_48); if ( s>=0 ) return s; break; case 48 : int LA160_49 = input.LA(1); int index160_49 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_49); if ( s>=0 ) return s; break; case 49 : int LA160_50 = input.LA(1); int index160_50 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_50); if ( s>=0 ) return s; break; case 50 : int LA160_51 = input.LA(1); int index160_51 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_51); if ( s>=0 ) return s; break; case 51 : int LA160_52 = input.LA(1); int index160_52 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_52); if ( s>=0 ) return s; break; case 52 : int LA160_53 = input.LA(1); int index160_53 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_53); if ( s>=0 ) return s; break; case 53 : int LA160_54 = input.LA(1); int index160_54 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_54); if ( s>=0 ) return s; break; case 54 : int LA160_55 = input.LA(1); int index160_55 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_55); if ( s>=0 ) return s; break; case 55 : int LA160_56 = input.LA(1); int index160_56 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_56); if ( s>=0 ) return s; break; case 56 : int LA160_57 = input.LA(1); int index160_57 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_57); if ( s>=0 ) return s; break; case 57 : int LA160_58 = input.LA(1); int index160_58 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_58); if ( s>=0 ) return s; break; case 58 : int LA160_59 = input.LA(1); int index160_59 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_59); if ( s>=0 ) return s; break; case 59 : int LA160_60 = input.LA(1); int index160_60 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_60); if ( s>=0 ) return s; break; case 60 : int LA160_61 = input.LA(1); int index160_61 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_61); if ( s>=0 ) return s; break; case 61 : int LA160_62 = input.LA(1); int index160_62 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_62); if ( s>=0 ) return s; break; case 62 : int LA160_63 = input.LA(1); int index160_63 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_63); if ( s>=0 ) return s; break; case 63 : int LA160_64 = input.LA(1); int index160_64 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalXcore()) ) {s = 108;} else if ( (true) ) {s = 65;} input.seek(index160_64); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 160, _s, input); error(nvae); throw nvae; } } static final String dfa_105s = "\1\4\1\uffff\1\5\6\0\1\uffff"; static final String dfa_106s = "\1\167\1\uffff\1\105\6\0\1\uffff"; static final String dfa_107s = "\1\uffff\1\2\7\uffff\1\1"; static final String dfa_108s = "\3\uffff\1\0\1\4\1\1\1\5\1\2\1\3\1\uffff}>"; static final String[] dfa_109s = { "\5\1\4\uffff\57\1\1\uffff\6\1\1\2\35\1\1\uffff\26\1", "", "\1\3\7\uffff\1\1\5\uffff\3\1\1\uffff\1\1\1\uffff\4\1\3\uffff\14\1\1\4\1\6\1\5\1\7\10\1\1\10\1\1\3\uffff\1\1\4\uffff\1\1\1\uffff\2\1", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "" }; static final char[] dfa_105 = DFA.unpackEncodedStringToUnsignedChars(dfa_105s); static final char[] dfa_106 = DFA.unpackEncodedStringToUnsignedChars(dfa_106s); static final short[] dfa_107 = DFA.unpackEncodedString(dfa_107s); static final short[] dfa_108 = DFA.unpackEncodedString(dfa_108s); static final short[][] dfa_109 = unpackEncodedStringArray(dfa_109s); class DFA164 extends DFA { public DFA164(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 164; this.eot = dfa_17; this.eof = dfa_23; this.min = dfa_105; this.max = dfa_106; this.accept = dfa_107; this.special = dfa_108; this.transition = dfa_109; } public String getDescription() { return "()* loopback of 8643:1: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA164_3 = input.LA(1); int index164_3 = input.index(); input.rewind(); s = -1; if ( (synpred45_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index164_3); if ( s>=0 ) return s; break; case 1 : int LA164_5 = input.LA(1); int index164_5 = input.index(); input.rewind(); s = -1; if ( (synpred45_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index164_5); if ( s>=0 ) return s; break; case 2 : int LA164_7 = input.LA(1); int index164_7 = input.index(); input.rewind(); s = -1; if ( (synpred45_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index164_7); if ( s>=0 ) return s; break; case 3 : int LA164_8 = input.LA(1); int index164_8 = input.index(); input.rewind(); s = -1; if ( (synpred45_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index164_8); if ( s>=0 ) return s; break; case 4 : int LA164_4 = input.LA(1); int index164_4 = input.index(); input.rewind(); s = -1; if ( (synpred45_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index164_4); if ( s>=0 ) return s; break; case 5 : int LA164_6 = input.LA(1); int index164_6 = input.index(); input.rewind(); s = -1; if ( (synpred45_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index164_6); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 164, _s, input); error(nvae); throw nvae; } } static final String dfa_110s = "\160\uffff"; static final String dfa_111s = "\1\2\157\uffff"; static final String dfa_112s = "\1\4\1\0\156\uffff"; static final String dfa_113s = "\1\167\1\0\156\uffff"; static final String dfa_114s = "\2\uffff\1\2\154\uffff\1\1"; static final String dfa_115s = "\1\uffff\1\0\156\uffff}>"; static final String[] dfa_116s = { "\5\2\4\uffff\5\2\1\uffff\4\2\1\1\44\2\1\uffff\44\2\1\uffff\26\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_110 = DFA.unpackEncodedString(dfa_110s); static final short[] dfa_111 = DFA.unpackEncodedString(dfa_111s); static final char[] dfa_112 = DFA.unpackEncodedStringToUnsignedChars(dfa_112s); static final char[] dfa_113 = DFA.unpackEncodedStringToUnsignedChars(dfa_113s); static final short[] dfa_114 = DFA.unpackEncodedString(dfa_114s); static final short[] dfa_115 = DFA.unpackEncodedString(dfa_115s); static final short[][] dfa_116 = unpackEncodedStringArray(dfa_116s); class DFA178 extends DFA { public DFA178(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 178; this.eot = dfa_110; this.eof = dfa_111; this.min = dfa_112; this.max = dfa_113; this.accept = dfa_114; this.special = dfa_115; this.transition = dfa_116; } public String getDescription() { return "8954:2: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA178_1 = input.LA(1); int index178_1 = input.index(); input.rewind(); s = -1; if ( (synpred47_InternalXcore()) ) {s = 111;} else if ( (true) ) {s = 2;} input.seek(index178_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 178, _s, input); error(nvae); throw nvae; } } static final String dfa_117s = "\3\uffff\1\5\1\3\1\0\1\4\1\1\1\2\1\uffff}>"; static final String[] dfa_118s = { "\5\1\4\uffff\5\1\1\uffff\51\1\1\uffff\6\1\1\2\35\1\1\uffff\26\1", "", "\1\3\7\uffff\1\1\5\uffff\3\1\1\uffff\1\1\1\uffff\4\1\3\uffff\14\1\1\4\1\6\1\5\1\7\10\1\1\10\1\1\10\uffff\1\1\1\uffff\2\1", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "" }; static final short[] dfa_117 = DFA.unpackEncodedString(dfa_117s); static final short[][] dfa_118 = unpackEncodedStringArray(dfa_118s); class DFA177 extends DFA { public DFA177(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 177; this.eot = dfa_17; this.eof = dfa_23; this.min = dfa_105; this.max = dfa_106; this.accept = dfa_107; this.special = dfa_117; this.transition = dfa_118; } public String getDescription() { return "()* loopback of 9003:1: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA177_5 = input.LA(1); int index177_5 = input.index(); input.rewind(); s = -1; if ( (synpred48_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index177_5); if ( s>=0 ) return s; break; case 1 : int LA177_7 = input.LA(1); int index177_7 = input.index(); input.rewind(); s = -1; if ( (synpred48_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index177_7); if ( s>=0 ) return s; break; case 2 : int LA177_8 = input.LA(1); int index177_8 = input.index(); input.rewind(); s = -1; if ( (synpred48_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index177_8); if ( s>=0 ) return s; break; case 3 : int LA177_4 = input.LA(1); int index177_4 = input.index(); input.rewind(); s = -1; if ( (synpred48_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index177_4); if ( s>=0 ) return s; break; case 4 : int LA177_6 = input.LA(1); int index177_6 = input.index(); input.rewind(); s = -1; if ( (synpred48_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index177_6); if ( s>=0 ) return s; break; case 5 : int LA177_3 = input.LA(1); int index177_3 = input.index(); input.rewind(); s = -1; if ( (synpred48_InternalXcore()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index177_3); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 177, _s, input); error(nvae); throw nvae; } } class DFA176 extends DFA { public DFA176(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 176; this.eot = dfa_110; this.eof = dfa_111; this.min = dfa_112; this.max = dfa_113; this.accept = dfa_114; this.special = dfa_115; this.transition = dfa_116; } public String getDescription() { return "9030:2: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA176_1 = input.LA(1); int index176_1 = input.index(); input.rewind(); s = -1; if ( (synpred49_InternalXcore()) ) {s = 111;} else if ( (true) ) {s = 2;} input.seek(index176_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 176, _s, input); error(nvae); throw nvae; } } static final String dfa_119s = "\21\uffff"; static final String dfa_120s = "\2\uffff\6\11\2\uffff\6\11\1\uffff"; static final String dfa_121s = "\1\5\1\uffff\6\101\1\5\1\uffff\6\101\1\uffff"; static final String dfa_122s = "\1\105\1\uffff\6\103\1\75\1\uffff\6\103\1\uffff"; static final String dfa_123s = "\1\uffff\1\1\7\uffff\1\2\6\uffff\1\3"; static final String dfa_124s = "\21\uffff}>"; static final String[] dfa_125s = { "\1\2\46\uffff\1\3\1\5\1\4\1\6\10\uffff\1\7\14\uffff\1\1", "", "\1\11\1\uffff\1\10", "\1\11\1\uffff\1\10", "\1\11\1\uffff\1\10", "\1\11\1\uffff\1\10", "\1\11\1\uffff\1\10", "\1\11\1\uffff\1\10", "\1\12\46\uffff\1\13\1\15\1\14\1\16\10\uffff\1\17\4\uffff\1\20", "", "\1\11\1\uffff\1\10", "\1\11\1\uffff\1\10", "\1\11\1\uffff\1\10", "\1\11\1\uffff\1\10", "\1\11\1\uffff\1\10", "\1\11\1\uffff\1\10", "" }; static final short[] dfa_119 = DFA.unpackEncodedString(dfa_119s); static final short[] dfa_120 = DFA.unpackEncodedString(dfa_120s); static final char[] dfa_121 = DFA.unpackEncodedStringToUnsignedChars(dfa_121s); static final char[] dfa_122 = DFA.unpackEncodedStringToUnsignedChars(dfa_122s); static final short[] dfa_123 = DFA.unpackEncodedString(dfa_123s); static final short[] dfa_124 = DFA.unpackEncodedString(dfa_124s); static final short[][] dfa_125 = unpackEncodedStringArray(dfa_125s); class DFA185 extends DFA { public DFA185(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 185; this.eot = dfa_119; this.eof = dfa_120; this.min = dfa_121; this.max = dfa_122; this.accept = dfa_123; this.special = dfa_124; this.transition = dfa_125; } public String getDescription() { return "9468:1: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) )"; } } private static class FollowSets000 { public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000006000L}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0100F00000000020L}); public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000710586002L}); public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000710506002L}); public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000710406002L}); public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000F00000000020L}); public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000030000L}); public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000040000L}); public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000000200000L}); public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000406000L}); public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000002800000L}); public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000006020L}); public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000001010000L}); public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000002000000L}); public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0100F00000008020L,0x0000000000200000L}); public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x000000000C000002L}); public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000020000000L}); public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000010006000L}); public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000040006020L}); public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000040016020L}); public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000240002L}); public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000000040002L}); public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000080000040L}); public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000000000040L}); public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000700006000L}); public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000200000000L}); public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000822800000L}); public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000000822000000L}); public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000022010000L}); public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x009FFFF040006020L}); public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000FFF000006020L}); public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000FFF000000020L}); public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0800000000000020L}); public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000F00000040002L}); public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000F00000000002L}); public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x001F000000006000L}); public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0002F7F000000020L}); public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000F7F000000020L}); public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0001000000000000L}); public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0004000000000000L}); public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0010F7F000000020L}); public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0008000000000000L}); public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0060F00000000002L}); public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0040F00000000002L}); public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0000F00000010002L}); public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0080000000006000L}); public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0100F03000800020L}); public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0100F02000800020L}); public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0100F00000800020L}); public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0100F01000800020L}); public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000F03000026020L}); public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000F03000006020L}); public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0200000020000002L}); public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000020010002L}); public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0000F02000000020L}); public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000F01000000020L}); public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000000800000002L}); public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0400000000000002L}); public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x7000000000000040L,0x0000000000000001L}); public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x8000000000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x3000000000000040L}); public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x4BFFFFFFFEB8A1F0L,0x005FFF1508000034L}); public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x4BFFFFFFFEB8A1F0L,0x005FFF1508000036L}); public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0000000000800002L}); public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x1000F00000000020L}); public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x0000000800000002L,0x0000000000000004L}); public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L}); public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F0L,0x005FFF1508000034L}); public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000001800002L,0x00000000000007C0L}); public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000800000L}); public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000001000000L,0x0000000000000800L}); public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L}); public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L}); public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000000002L,0x000000000003C000L}); public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000001800002L,0x0000000000040800L}); public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x8000000001800002L,0x0000000000F80000L}); public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x8000000000000000L}); public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000001000000L}); public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000800000L,0x0000000000200000L}); public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x4000000080000002L}); public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x2000000000000002L,0x0000000007000000L}); public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000200002L}); public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000000000000002L,0x0000000030000000L}); public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000000000000002L,0x00000000C0000008L}); public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x03FFFFFF1E382020L,0x0000000000000030L}); public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x03FFFFFF1EB82020L,0x0000000000000034L}); public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x1100F00000008020L,0x0000000000200000L}); public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0800000000008002L,0x00000000C0000008L}); public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x4BFFFFFFBEBAA1F0L,0x005FFF1708200034L}); public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000020000L}); public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0800000000000002L,0x00000000C0000008L}); public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000040010000L}); public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0800000000000000L}); public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F0L,0x005FFF1508000035L}); public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000001L}); public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F0L,0x005FFF1708200035L}); public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000010000L,0x0000000200000000L}); public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F2L,0x005FFF1508000036L}); public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F2L,0x005FFF1508000034L}); public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000002L,0x0000000800000000L}); public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F0L,0x005FFF1508200034L}); public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0100F00040018020L,0x000000E000200000L}); public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000040000000L}); public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000010000L,0x000000A000000000L}); public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000010000L,0x0000002000000000L}); public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x4BFFFFFFBEB8A1F0L,0x005FFF1508000036L}); public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000000000010000L,0x0000000000000002L}); public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x4BFFFFFFBEBAA1F0L,0x005FFF1508000034L}); public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L}); public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0800000000008002L}); public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x0800000000000002L}); public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x0800000000808002L}); public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0800000000020000L}); public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0000000000000000L,0x00A0000000000000L}); public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x0000000000000002L,0x00A0000000000000L}); public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000000000140L}); public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x0100F00000028020L,0x0000000000200000L}); public static final BitSet FOLLOW_128 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L}); public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000000800002L,0x0000000000000008L}); public static final BitSet FOLLOW_130 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); public static final BitSet FOLLOW_131 = new BitSet(new long[]{0x2000000000000000L}); public static final BitSet FOLLOW_132 = new BitSet(new long[]{0x0100F00000000020L,0x0000000000000020L}); public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0100F00000000020L,0x0000000000000010L}); public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x2100F00000000020L}); public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L}); public static final BitSet FOLLOW_136 = new BitSet(new long[]{0x0100F00000000022L}); } }