package fr.inria.diverse.melange.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.emf.common.util.Enumerator; 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 fr.inria.diverse.melange.services.MelangeGrammarAccess; 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 InternalMelangeParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "'external'", "'language'", "'inherits'", "','", "'implements'", "'requires'", "'{'", "'resource'", "'uri'", "'setup'", "'xtext'", "'sirius'", "'ecl'", "'xmof'", "'fileExtension'", "'exactType'", "'}'", "'modeltype'", "'syntax'", "'@Main'", "'transformation'", "'('", "')'", "'map'", "'to'", "'withGenmodel'", "'renaming'", "'merge'", "'slice'", "'on'", "'['", "']'", "'with'", "'='", "'+='", "'-='", "'*='", "'/='", "'%='", "'<'", "'>'", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'..'", "'=>'", "'<>'", "'?:'", "'+'", "'-'", "'*'", "'**'", "'/'", "'%'", "'!'", "'as'", "'++'", "'--'", "'.'", "'::'", "'?.'", "'#'", "'|'", "';'", "'if'", "'else'", "'switch'", "':'", "'default'", "'case'", "'for'", "'while'", "'do'", "'var'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'new'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'", "'Melange'", "'EMF'", "'Xtext'" }; public static final int RULE_HEX=5; 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=8; 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=7; 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__78=78; 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__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 InternalMelangeParser(TokenStream input) { this(input, new RecognizerSharedState()); } public InternalMelangeParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return InternalMelangeParser.tokenNames; } public String getGrammarFileName() { return "InternalMelange.g"; } private MelangeGrammarAccess grammarAccess; public InternalMelangeParser(TokenStream input, MelangeGrammarAccess grammarAccess) { this(input); this.grammarAccess = grammarAccess; registerRules(grammarAccess.getGrammar()); } @Override protected String getFirstRuleName() { return "ModelTypingSpace"; } @Override protected MelangeGrammarAccess getGrammarAccess() { return grammarAccess; } // $ANTLR start "entryRuleModelTypingSpace" // InternalMelange.g:68:1: entryRuleModelTypingSpace returns [EObject current=null] : iv_ruleModelTypingSpace= ruleModelTypingSpace EOF ; public final EObject entryRuleModelTypingSpace() throws RecognitionException { EObject current = null; EObject iv_ruleModelTypingSpace = null; try { // InternalMelange.g:69:2: (iv_ruleModelTypingSpace= ruleModelTypingSpace EOF ) // InternalMelange.g:70:2: iv_ruleModelTypingSpace= ruleModelTypingSpace EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelTypingSpaceRule()); } pushFollow(FOLLOW_1); iv_ruleModelTypingSpace=ruleModelTypingSpace(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleModelTypingSpace; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleModelTypingSpace" // $ANTLR start "ruleModelTypingSpace" // InternalMelange.g:77:1: ruleModelTypingSpace returns [EObject current=null] : (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_imports_2_0= ruleXImportSection ) )? ( (lv_elements_3_0= ruleElement ) )* ) ; public final EObject ruleModelTypingSpace() throws RecognitionException { EObject current = null; Token otherlv_0=null; AntlrDatatypeRuleToken lv_name_1_0 = null; EObject lv_imports_2_0 = null; EObject lv_elements_3_0 = null; enterRule(); try { // InternalMelange.g:80:28: ( (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_imports_2_0= ruleXImportSection ) )? ( (lv_elements_3_0= ruleElement ) )* ) ) // InternalMelange.g:81:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_imports_2_0= ruleXImportSection ) )? ( (lv_elements_3_0= ruleElement ) )* ) { // InternalMelange.g:81:1: (otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_imports_2_0= ruleXImportSection ) )? ( (lv_elements_3_0= ruleElement ) )* ) // InternalMelange.g:81:3: otherlv_0= 'package' ( (lv_name_1_0= ruleQualifiedName ) ) ( (lv_imports_2_0= ruleXImportSection ) )? ( (lv_elements_3_0= ruleElement ) )* { otherlv_0=(Token)match(input,13,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getModelTypingSpaceAccess().getPackageKeyword_0()); } // InternalMelange.g:85:1: ( (lv_name_1_0= ruleQualifiedName ) ) // InternalMelange.g:86:1: (lv_name_1_0= ruleQualifiedName ) { // InternalMelange.g:86:1: (lv_name_1_0= ruleQualifiedName ) // InternalMelange.g:87:3: lv_name_1_0= ruleQualifiedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelTypingSpaceAccess().getNameQualifiedNameParserRuleCall_1_0()); } pushFollow(FOLLOW_4); lv_name_1_0=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getModelTypingSpaceRule()); } set( current, "name", lv_name_1_0, "org.eclipse.xtext.xbase.Xbase.QualifiedName"); afterParserOrEnumRuleCall(); } } } // InternalMelange.g:103:2: ( (lv_imports_2_0= ruleXImportSection ) )? int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==98) ) { alt1=1; } switch (alt1) { case 1 : // InternalMelange.g:104:1: (lv_imports_2_0= ruleXImportSection ) { // InternalMelange.g:104:1: (lv_imports_2_0= ruleXImportSection ) // InternalMelange.g:105:3: lv_imports_2_0= ruleXImportSection { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelTypingSpaceAccess().getImportsXImportSectionParserRuleCall_2_0()); } pushFollow(FOLLOW_5); lv_imports_2_0=ruleXImportSection(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getModelTypingSpaceRule()); } set( current, "imports", lv_imports_2_0, "org.eclipse.xtext.xbase.Xtype.XImportSection"); afterParserOrEnumRuleCall(); } } } break; } // InternalMelange.g:121:3: ( (lv_elements_3_0= ruleElement ) )* loop2: do { int alt2=2; int LA2_0 = input.LA(1); if ( ((LA2_0>=14 && LA2_0<=15)||(LA2_0>=21 && LA2_0<=22)||(LA2_0>=24 && LA2_0<=31)||(LA2_0>=33 && LA2_0<=34)||LA2_0==37) ) { alt2=1; } switch (alt2) { case 1 : // InternalMelange.g:122:1: (lv_elements_3_0= ruleElement ) { // InternalMelange.g:122:1: (lv_elements_3_0= ruleElement ) // InternalMelange.g:123:3: lv_elements_3_0= ruleElement { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getModelTypingSpaceAccess().getElementsElementParserRuleCall_3_0()); } pushFollow(FOLLOW_5); lv_elements_3_0=ruleElement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getModelTypingSpaceRule()); } add( current, "elements", lv_elements_3_0, "fr.inria.diverse.melange.Melange.Element"); afterParserOrEnumRuleCall(); } } } break; default : break loop2; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleModelTypingSpace" // $ANTLR start "entryRuleElement" // InternalMelange.g:147:1: entryRuleElement returns [EObject current=null] : iv_ruleElement= ruleElement EOF ; public final EObject entryRuleElement() throws RecognitionException { EObject current = null; EObject iv_ruleElement = null; try { // InternalMelange.g:148:2: (iv_ruleElement= ruleElement EOF ) // InternalMelange.g:149:2: iv_ruleElement= ruleElement EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getElementRule()); } pushFollow(FOLLOW_1); iv_ruleElement=ruleElement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleElement; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleElement" // $ANTLR start "ruleElement" // InternalMelange.g:156:1: ruleElement returns [EObject current=null] : (this_Language_0= ruleLanguage | ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage ) | this_EcoreModelType_3= ruleEcoreModelType | this_TransformationDecl_4= ruleTransformationDecl | this_Mapping_5= ruleMapping ) ; public final EObject ruleElement() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject this_Language_0 = null; EObject this_ExternalLanguage_2 = null; EObject this_EcoreModelType_3 = null; EObject this_TransformationDecl_4 = null; EObject this_Mapping_5 = null; enterRule(); try { // InternalMelange.g:159:28: ( (this_Language_0= ruleLanguage | ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage ) | this_EcoreModelType_3= ruleEcoreModelType | this_TransformationDecl_4= ruleTransformationDecl | this_Mapping_5= ruleMapping ) ) // InternalMelange.g:160:1: (this_Language_0= ruleLanguage | ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage ) | this_EcoreModelType_3= ruleEcoreModelType | this_TransformationDecl_4= ruleTransformationDecl | this_Mapping_5= ruleMapping ) { // InternalMelange.g:160:1: (this_Language_0= ruleLanguage | ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage ) | this_EcoreModelType_3= ruleEcoreModelType | this_TransformationDecl_4= ruleTransformationDecl | this_Mapping_5= ruleMapping ) int alt3=5; int LA3_0 = input.LA(1); if ( (LA3_0==15||LA3_0==21||(LA3_0>=24 && LA3_0<=29)) ) { alt3=1; } else if ( (LA3_0==30) ) { alt3=1; } else if ( (LA3_0==14) && (synpred1_InternalMelange())) { alt3=2; } else if ( (LA3_0==22||LA3_0==31) ) { alt3=3; } else if ( ((LA3_0>=33 && LA3_0<=34)) ) { alt3=4; } else if ( (LA3_0==37) ) { alt3=5; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 3, 0, input); throw nvae; } switch (alt3) { case 1 : // InternalMelange.g:161:5: this_Language_0= ruleLanguage { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getElementAccess().getLanguageParserRuleCall_0()); } pushFollow(FOLLOW_2); this_Language_0=ruleLanguage(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Language_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalMelange.g:170:6: ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage ) { // InternalMelange.g:170:6: ( ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage ) // InternalMelange.g:170:7: ( ( 'external' )=>otherlv_1= 'external' ) this_ExternalLanguage_2= ruleExternalLanguage { // InternalMelange.g:170:7: ( ( 'external' )=>otherlv_1= 'external' ) // InternalMelange.g:170:8: ( 'external' )=>otherlv_1= 'external' { otherlv_1=(Token)match(input,14,FOLLOW_6); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getElementAccess().getExternalKeyword_1_0()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getElementAccess().getExternalLanguageParserRuleCall_1_1()); } pushFollow(FOLLOW_2); this_ExternalLanguage_2=ruleExternalLanguage(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_ExternalLanguage_2; afterParserOrEnumRuleCall(); } } } break; case 3 : // InternalMelange.g:186:5: this_EcoreModelType_3= ruleEcoreModelType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getElementAccess().getEcoreModelTypeParserRuleCall_2()); } pushFollow(FOLLOW_2); this_EcoreModelType_3=ruleEcoreModelType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_EcoreModelType_3; afterParserOrEnumRuleCall(); } } break; case 4 : // InternalMelange.g:196:5: this_TransformationDecl_4= ruleTransformationDecl { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getElementAccess().getTransformationDeclParserRuleCall_3()); } pushFollow(FOLLOW_2); this_TransformationDecl_4=ruleTransformationDecl(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TransformationDecl_4; afterParserOrEnumRuleCall(); } } break; case 5 : // InternalMelange.g:206:5: this_Mapping_5= ruleMapping { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getElementAccess().getMappingParserRuleCall_4()); } pushFollow(FOLLOW_2); this_Mapping_5=ruleMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Mapping_5; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleElement" // $ANTLR start "entryRuleTransformationDecl" // InternalMelange.g:222:1: entryRuleTransformationDecl returns [EObject current=null] : iv_ruleTransformationDecl= ruleTransformationDecl EOF ; public final EObject entryRuleTransformationDecl() throws RecognitionException { EObject current = null; EObject iv_ruleTransformationDecl = null; try { // InternalMelange.g:223:2: (iv_ruleTransformationDecl= ruleTransformationDecl EOF ) // InternalMelange.g:224:2: iv_ruleTransformationDecl= ruleTransformationDecl EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTransformationDeclRule()); } pushFollow(FOLLOW_1); iv_ruleTransformationDecl=ruleTransformationDecl(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTransformationDecl; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTransformationDecl" // $ANTLR start "ruleTransformationDecl" // InternalMelange.g:231:1: ruleTransformationDecl returns [EObject current=null] : this_XbaseTransformation_0= ruleXbaseTransformation ; public final EObject ruleTransformationDecl() throws RecognitionException { EObject current = null; EObject this_XbaseTransformation_0 = null; enterRule(); try { // InternalMelange.g:234:28: (this_XbaseTransformation_0= ruleXbaseTransformation ) // InternalMelange.g:236:5: this_XbaseTransformation_0= ruleXbaseTransformation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTransformationDeclAccess().getXbaseTransformationParserRuleCall()); } pushFollow(FOLLOW_2); this_XbaseTransformation_0=ruleXbaseTransformation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XbaseTransformation_0; afterParserOrEnumRuleCall(); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTransformationDecl" // $ANTLR start "entryRuleLanguage" // InternalMelange.g:252:1: entryRuleLanguage returns [EObject current=null] : iv_ruleLanguage= ruleLanguage EOF ; public final EObject entryRuleLanguage() throws RecognitionException { EObject current = null; EObject iv_ruleLanguage = null; try { // InternalMelange.g:253:2: (iv_ruleLanguage= ruleLanguage EOF ) // InternalMelange.g:254:2: iv_ruleLanguage= ruleLanguage EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageRule()); } pushFollow(FOLLOW_1); iv_ruleLanguage=ruleLanguage(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleLanguage; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleLanguage" // $ANTLR start "ruleLanguage" // InternalMelange.g:261:1: ruleLanguage returns [EObject current=null] : ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) ) ) ; public final EObject ruleLanguage() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Token otherlv_9=null; Token otherlv_11=null; Token otherlv_13=null; Token otherlv_15=null; Token otherlv_17=null; Token otherlv_19=null; Token lv_resourceUri_20_0=null; Token otherlv_21=null; Token otherlv_23=null; Token lv_xtext_24_0=null; Token otherlv_25=null; Token lv_xtext_26_0=null; Token otherlv_27=null; Token lv_sirius_28_0=null; Token otherlv_29=null; Token lv_sirius_30_0=null; Token otherlv_31=null; Token lv_ecl_32_0=null; Token otherlv_33=null; Token lv_ecl_34_0=null; Token otherlv_35=null; Token lv_xmof_36_0=null; Token otherlv_37=null; Token lv_fileExtension_38_0=null; Token otherlv_39=null; Token otherlv_41=null; Token lv_exactTypeUri_42_0=null; Token otherlv_43=null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_operators_4_0 = null; EObject lv_operators_6_0 = null; EObject lv_operators_16_0 = null; Enumerator lv_resourceType_18_0 = null; EObject lv_xtextSetupRef_22_0 = null; AntlrDatatypeRuleToken lv_exactTypeName_40_0 = null; enterRule(); try { // InternalMelange.g:264:28: ( ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) ) ) ) // InternalMelange.g:265:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) ) ) { // InternalMelange.g:265:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) ) ) // InternalMelange.g:267:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) ) { // InternalMelange.g:267:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) ) // InternalMelange.g:268:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) { getUnorderedGroupHelper().enter(grammarAccess.getLanguageAccess().getUnorderedGroup()); // InternalMelange.g:271:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}?) // InternalMelange.g:272:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ {...}? { // InternalMelange.g:272:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+ int cnt17=0; loop17: do { int alt17=9; alt17 = dfa17.predict(input); switch (alt17) { case 1 : // InternalMelange.g:274:4: ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) { // InternalMelange.g:274:4: ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) // InternalMelange.g:275:5: {...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 0)"); } // InternalMelange.g:275:103: ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) // InternalMelange.g:276:6: ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 0); // InternalMelange.g:279:6: ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) // InternalMelange.g:279:7: {...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "true"); } // InternalMelange.g:279:16: (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) // InternalMelange.g:279:18: otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* { otherlv_1=(Token)match(input,15,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getLanguageAccess().getLanguageKeyword_0_0()); } // InternalMelange.g:283:1: ( (lv_name_2_0= ruleValidID ) ) // InternalMelange.g:284:1: (lv_name_2_0= ruleValidID ) { // InternalMelange.g:284:1: (lv_name_2_0= ruleValidID ) // InternalMelange.g:285:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getNameValidIDParserRuleCall_0_1_0()); } pushFollow(FOLLOW_7); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getLanguageRule()); } set( current, "name", lv_name_2_0, "org.eclipse.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalMelange.g:301:2: (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==16) ) { alt5=1; } switch (alt5) { case 1 : // InternalMelange.g:301:4: otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* { otherlv_3=(Token)match(input,16,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getLanguageAccess().getInheritsKeyword_0_2_0()); } // InternalMelange.g:305:1: ( (lv_operators_4_0= ruleInherit ) ) // InternalMelange.g:306:1: (lv_operators_4_0= ruleInherit ) { // InternalMelange.g:306:1: (lv_operators_4_0= ruleInherit ) // InternalMelange.g:307:3: lv_operators_4_0= ruleInherit { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getOperatorsInheritParserRuleCall_0_2_1_0()); } pushFollow(FOLLOW_8); lv_operators_4_0=ruleInherit(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getLanguageRule()); } add( current, "operators", lv_operators_4_0, "fr.inria.diverse.melange.Melange.Inherit"); afterParserOrEnumRuleCall(); } } } // InternalMelange.g:323:2: (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* loop4: do { int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==17) ) { alt4=1; } switch (alt4) { case 1 : // InternalMelange.g:323:4: otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) { otherlv_5=(Token)match(input,17,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getLanguageAccess().getCommaKeyword_0_2_2_0()); } // InternalMelange.g:327:1: ( (lv_operators_6_0= ruleInherit ) ) // InternalMelange.g:328:1: (lv_operators_6_0= ruleInherit ) { // InternalMelange.g:328:1: (lv_operators_6_0= ruleInherit ) // InternalMelange.g:329:3: lv_operators_6_0= ruleInherit { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getOperatorsInheritParserRuleCall_0_2_2_1_0()); } pushFollow(FOLLOW_8); lv_operators_6_0=ruleInherit(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getLanguageRule()); } add( current, "operators", lv_operators_6_0, "fr.inria.diverse.melange.Melange.Inherit"); afterParserOrEnumRuleCall(); } } } } break; default : break loop4; } } while (true); } break; } // InternalMelange.g:345:6: (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==18) ) { alt7=1; } switch (alt7) { case 1 : // InternalMelange.g:345:8: otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* { otherlv_7=(Token)match(input,18,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getLanguageAccess().getImplementsKeyword_0_3_0()); } // InternalMelange.g:349:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:350:1: ( ruleQualifiedName ) { // InternalMelange.g:350:1: ( ruleQualifiedName ) // InternalMelange.g:351:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getImplementsModelTypeCrossReference_0_3_1_0()); } pushFollow(FOLLOW_9); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:364:2: (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* loop6: do { int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==17) ) { alt6=1; } switch (alt6) { case 1 : // InternalMelange.g:364:4: otherlv_9= ',' ( ( ruleQualifiedName ) ) { otherlv_9=(Token)match(input,17,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getLanguageAccess().getCommaKeyword_0_3_2_0()); } // InternalMelange.g:368:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:369:1: ( ruleQualifiedName ) { // InternalMelange.g:369:1: ( ruleQualifiedName ) // InternalMelange.g:370:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getImplementsModelTypeCrossReference_0_3_2_1_0()); } pushFollow(FOLLOW_9); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; default : break loop6; } } while (true); } break; } // InternalMelange.g:383:6: (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==19) ) { alt9=1; } switch (alt9) { case 1 : // InternalMelange.g:383:8: otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* { otherlv_11=(Token)match(input,19,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getLanguageAccess().getRequiresKeyword_0_4_0()); } // InternalMelange.g:387:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:388:1: ( ruleQualifiedName ) { // InternalMelange.g:388:1: ( ruleQualifiedName ) // InternalMelange.g:389:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getRequiresModelTypeCrossReference_0_4_1_0()); } pushFollow(FOLLOW_10); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:402:2: (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* loop8: do { int alt8=2; int LA8_0 = input.LA(1); if ( (LA8_0==17) ) { alt8=1; } switch (alt8) { case 1 : // InternalMelange.g:402:4: otherlv_13= ',' ( ( ruleQualifiedName ) ) { otherlv_13=(Token)match(input,17,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getLanguageAccess().getCommaKeyword_0_4_2_0()); } // InternalMelange.g:406:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:407:1: ( ruleQualifiedName ) { // InternalMelange.g:407:1: ( ruleQualifiedName ) // InternalMelange.g:408:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getRequiresModelTypeCrossReference_0_4_2_1_0()); } pushFollow(FOLLOW_10); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; default : break loop8; } } while (true); } break; } otherlv_15=(Token)match(input,20,FOLLOW_11); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getLanguageAccess().getLeftCurlyBracketKeyword_0_5()); } // InternalMelange.g:425:1: ( (lv_operators_16_0= ruleOperator ) )* loop10: do { int alt10=2; int LA10_0 = input.LA(1); if ( (LA10_0==32||(LA10_0>=41 && LA10_0<=42)||LA10_0==46) ) { alt10=1; } switch (alt10) { case 1 : // InternalMelange.g:426:1: (lv_operators_16_0= ruleOperator ) { // InternalMelange.g:426:1: (lv_operators_16_0= ruleOperator ) // InternalMelange.g:427:3: lv_operators_16_0= ruleOperator { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getOperatorsOperatorParserRuleCall_0_6_0()); } pushFollow(FOLLOW_11); lv_operators_16_0=ruleOperator(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getLanguageRule()); } add( current, "operators", lv_operators_16_0, "fr.inria.diverse.melange.Melange.Operator"); afterParserOrEnumRuleCall(); } } } break; default : break loop10; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup()); } } } break; case 2 : // InternalMelange.g:450:4: ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) { // InternalMelange.g:450:4: ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) // InternalMelange.g:451:5: {...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 1)"); } // InternalMelange.g:451:103: ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) // InternalMelange.g:452:6: ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) { getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 1); // InternalMelange.g:455:6: ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) // InternalMelange.g:455:7: {...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "true"); } // InternalMelange.g:455:16: (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) // InternalMelange.g:455:18: otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? { otherlv_17=(Token)match(input,21,FOLLOW_12); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getLanguageAccess().getResourceKeyword_1_0()); } // InternalMelange.g:459:1: ( (lv_resourceType_18_0= ruleResourceType ) ) // InternalMelange.g:460:1: (lv_resourceType_18_0= ruleResourceType ) { // InternalMelange.g:460:1: (lv_resourceType_18_0= ruleResourceType ) // InternalMelange.g:461:3: lv_resourceType_18_0= ruleResourceType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getResourceTypeResourceTypeEnumRuleCall_1_1_0()); } pushFollow(FOLLOW_13); lv_resourceType_18_0=ruleResourceType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getLanguageRule()); } set( current, "resourceType", lv_resourceType_18_0, "fr.inria.diverse.melange.Melange.ResourceType"); afterParserOrEnumRuleCall(); } } } // InternalMelange.g:477:2: ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? int alt11=3; int LA11_0 = input.LA(1); if ( (LA11_0==22) ) { int LA11_1 = input.LA(2); if ( (LA11_1==RULE_STRING) ) { int LA11_4 = input.LA(3); if ( (synpred2_InternalMelange()) ) { alt11=1; } } } else if ( (LA11_0==23) ) { alt11=2; } switch (alt11) { case 1 : // InternalMelange.g:477:3: ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) { // InternalMelange.g:477:3: ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) // InternalMelange.g:477:4: ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) { // InternalMelange.g:477:4: ( ( 'uri' )=>otherlv_19= 'uri' ) // InternalMelange.g:477:5: ( 'uri' )=>otherlv_19= 'uri' { otherlv_19=(Token)match(input,22,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getLanguageAccess().getUriKeyword_1_2_0_0()); } } // InternalMelange.g:482:2: ( (lv_resourceUri_20_0= RULE_STRING ) ) // InternalMelange.g:483:1: (lv_resourceUri_20_0= RULE_STRING ) { // InternalMelange.g:483:1: (lv_resourceUri_20_0= RULE_STRING ) // InternalMelange.g:484:3: lv_resourceUri_20_0= RULE_STRING { lv_resourceUri_20_0=(Token)match(input,RULE_STRING,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_resourceUri_20_0, grammarAccess.getLanguageAccess().getResourceUriSTRINGTerminalRuleCall_1_2_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } setWithLastConsumed( current, "resourceUri", lv_resourceUri_20_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } } break; case 2 : // InternalMelange.g:501:6: (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) { // InternalMelange.g:501:6: (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) // InternalMelange.g:501:8: otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) { otherlv_21=(Token)match(input,23,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getLanguageAccess().getSetupKeyword_1_2_1_0()); } // InternalMelange.g:505:1: ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) // InternalMelange.g:506:1: (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) { // InternalMelange.g:506:1: (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) // InternalMelange.g:507:3: lv_xtextSetupRef_22_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getXtextSetupRefJvmTypeReferenceParserRuleCall_1_2_1_1_0()); } pushFollow(FOLLOW_15); lv_xtextSetupRef_22_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getLanguageRule()); } set( current, "xtextSetupRef", lv_xtextSetupRef_22_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } break; } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup()); } } } break; case 3 : // InternalMelange.g:530:4: ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) { // InternalMelange.g:530:4: ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) // InternalMelange.g:531:5: {...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 2) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 2)"); } // InternalMelange.g:531:103: ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) // InternalMelange.g:532:6: ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 2); // InternalMelange.g:535:6: ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) // InternalMelange.g:535:7: {...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "true"); } // InternalMelange.g:535:16: (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) // InternalMelange.g:535:18: otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* { otherlv_23=(Token)match(input,24,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_23, grammarAccess.getLanguageAccess().getXtextKeyword_2_0()); } // InternalMelange.g:539:1: ( (lv_xtext_24_0= RULE_STRING ) ) // InternalMelange.g:540:1: (lv_xtext_24_0= RULE_STRING ) { // InternalMelange.g:540:1: (lv_xtext_24_0= RULE_STRING ) // InternalMelange.g:541:3: lv_xtext_24_0= RULE_STRING { lv_xtext_24_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_xtext_24_0, grammarAccess.getLanguageAccess().getXtextSTRINGTerminalRuleCall_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } addWithLastConsumed( current, "xtext", lv_xtext_24_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:557:2: (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* loop12: do { int alt12=2; int LA12_0 = input.LA(1); if ( (LA12_0==17) ) { alt12=1; } switch (alt12) { case 1 : // InternalMelange.g:557:4: otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) { otherlv_25=(Token)match(input,17,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_25, grammarAccess.getLanguageAccess().getCommaKeyword_2_2_0()); } // InternalMelange.g:561:1: ( (lv_xtext_26_0= RULE_STRING ) ) // InternalMelange.g:562:1: (lv_xtext_26_0= RULE_STRING ) { // InternalMelange.g:562:1: (lv_xtext_26_0= RULE_STRING ) // InternalMelange.g:563:3: lv_xtext_26_0= RULE_STRING { lv_xtext_26_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_xtext_26_0, grammarAccess.getLanguageAccess().getXtextSTRINGTerminalRuleCall_2_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } addWithLastConsumed( current, "xtext", lv_xtext_26_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; default : break loop12; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup()); } } } break; case 4 : // InternalMelange.g:586:4: ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) { // InternalMelange.g:586:4: ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) // InternalMelange.g:587:5: {...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 3) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 3)"); } // InternalMelange.g:587:103: ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) // InternalMelange.g:588:6: ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 3); // InternalMelange.g:591:6: ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) // InternalMelange.g:591:7: {...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "true"); } // InternalMelange.g:591:16: (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) // InternalMelange.g:591:18: otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* { otherlv_27=(Token)match(input,25,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_27, grammarAccess.getLanguageAccess().getSiriusKeyword_3_0()); } // InternalMelange.g:595:1: ( (lv_sirius_28_0= RULE_STRING ) ) // InternalMelange.g:596:1: (lv_sirius_28_0= RULE_STRING ) { // InternalMelange.g:596:1: (lv_sirius_28_0= RULE_STRING ) // InternalMelange.g:597:3: lv_sirius_28_0= RULE_STRING { lv_sirius_28_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_sirius_28_0, grammarAccess.getLanguageAccess().getSiriusSTRINGTerminalRuleCall_3_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } addWithLastConsumed( current, "sirius", lv_sirius_28_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:613:2: (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* loop13: do { int alt13=2; int LA13_0 = input.LA(1); if ( (LA13_0==17) ) { alt13=1; } switch (alt13) { case 1 : // InternalMelange.g:613:4: otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) { otherlv_29=(Token)match(input,17,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_29, grammarAccess.getLanguageAccess().getCommaKeyword_3_2_0()); } // InternalMelange.g:617:1: ( (lv_sirius_30_0= RULE_STRING ) ) // InternalMelange.g:618:1: (lv_sirius_30_0= RULE_STRING ) { // InternalMelange.g:618:1: (lv_sirius_30_0= RULE_STRING ) // InternalMelange.g:619:3: lv_sirius_30_0= RULE_STRING { lv_sirius_30_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_sirius_30_0, grammarAccess.getLanguageAccess().getSiriusSTRINGTerminalRuleCall_3_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } addWithLastConsumed( current, "sirius", lv_sirius_30_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; default : break loop13; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup()); } } } break; case 5 : // InternalMelange.g:642:4: ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) { // InternalMelange.g:642:4: ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) // InternalMelange.g:643:5: {...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 4) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 4)"); } // InternalMelange.g:643:103: ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) // InternalMelange.g:644:6: ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 4); // InternalMelange.g:647:6: ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) // InternalMelange.g:647:7: {...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "true"); } // InternalMelange.g:647:16: (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) // InternalMelange.g:647:18: otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* { otherlv_31=(Token)match(input,26,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_31, grammarAccess.getLanguageAccess().getEclKeyword_4_0()); } // InternalMelange.g:651:1: ( (lv_ecl_32_0= RULE_STRING ) ) // InternalMelange.g:652:1: (lv_ecl_32_0= RULE_STRING ) { // InternalMelange.g:652:1: (lv_ecl_32_0= RULE_STRING ) // InternalMelange.g:653:3: lv_ecl_32_0= RULE_STRING { lv_ecl_32_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_ecl_32_0, grammarAccess.getLanguageAccess().getEclSTRINGTerminalRuleCall_4_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } addWithLastConsumed( current, "ecl", lv_ecl_32_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:669:2: (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* loop14: do { int alt14=2; int LA14_0 = input.LA(1); if ( (LA14_0==17) ) { alt14=1; } switch (alt14) { case 1 : // InternalMelange.g:669:4: otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) { otherlv_33=(Token)match(input,17,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_33, grammarAccess.getLanguageAccess().getCommaKeyword_4_2_0()); } // InternalMelange.g:673:1: ( (lv_ecl_34_0= RULE_STRING ) ) // InternalMelange.g:674:1: (lv_ecl_34_0= RULE_STRING ) { // InternalMelange.g:674:1: (lv_ecl_34_0= RULE_STRING ) // InternalMelange.g:675:3: lv_ecl_34_0= RULE_STRING { lv_ecl_34_0=(Token)match(input,RULE_STRING,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_ecl_34_0, grammarAccess.getLanguageAccess().getEclSTRINGTerminalRuleCall_4_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } addWithLastConsumed( current, "ecl", lv_ecl_34_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; default : break loop14; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup()); } } } break; case 6 : // InternalMelange.g:698:4: ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) { // InternalMelange.g:698:4: ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) // InternalMelange.g:699:5: {...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 5) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 5)"); } // InternalMelange.g:699:103: ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) // InternalMelange.g:700:6: ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 5); // InternalMelange.g:703:6: ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) // InternalMelange.g:703:7: {...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "true"); } // InternalMelange.g:703:16: (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) // InternalMelange.g:703:18: otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) { otherlv_35=(Token)match(input,27,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_35, grammarAccess.getLanguageAccess().getXmofKeyword_5_0()); } // InternalMelange.g:707:1: ( (lv_xmof_36_0= RULE_STRING ) ) // InternalMelange.g:708:1: (lv_xmof_36_0= RULE_STRING ) { // InternalMelange.g:708:1: (lv_xmof_36_0= RULE_STRING ) // InternalMelange.g:709:3: lv_xmof_36_0= RULE_STRING { lv_xmof_36_0=(Token)match(input,RULE_STRING,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_xmof_36_0, grammarAccess.getLanguageAccess().getXmofSTRINGTerminalRuleCall_5_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } setWithLastConsumed( current, "xmof", lv_xmof_36_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup()); } } } break; case 7 : // InternalMelange.g:732:4: ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) { // InternalMelange.g:732:4: ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) // InternalMelange.g:733:5: {...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 6) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 6)"); } // InternalMelange.g:733:103: ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) // InternalMelange.g:734:6: ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 6); // InternalMelange.g:737:6: ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) // InternalMelange.g:737:7: {...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "true"); } // InternalMelange.g:737:16: (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) // InternalMelange.g:737:18: otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) { otherlv_37=(Token)match(input,28,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_37, grammarAccess.getLanguageAccess().getFileExtensionKeyword_6_0()); } // InternalMelange.g:741:1: ( (lv_fileExtension_38_0= RULE_STRING ) ) // InternalMelange.g:742:1: (lv_fileExtension_38_0= RULE_STRING ) { // InternalMelange.g:742:1: (lv_fileExtension_38_0= RULE_STRING ) // InternalMelange.g:743:3: lv_fileExtension_38_0= RULE_STRING { lv_fileExtension_38_0=(Token)match(input,RULE_STRING,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_fileExtension_38_0, grammarAccess.getLanguageAccess().getFileExtensionSTRINGTerminalRuleCall_6_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } setWithLastConsumed( current, "fileExtension", lv_fileExtension_38_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup()); } } } break; case 8 : // InternalMelange.g:766:4: ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) { // InternalMelange.g:766:4: ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) // InternalMelange.g:767:5: {...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 7) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 7)"); } // InternalMelange.g:767:103: ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) // InternalMelange.g:768:6: ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) { getUnorderedGroupHelper().select(grammarAccess.getLanguageAccess().getUnorderedGroup(), 7); // InternalMelange.g:771:6: ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) // InternalMelange.g:771:7: {...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "true"); } // InternalMelange.g:771:16: ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) // InternalMelange.g:771:17: (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' { // InternalMelange.g:771:17: (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? int alt16=2; int LA16_0 = input.LA(1); if ( (LA16_0==29) ) { alt16=1; } switch (alt16) { case 1 : // InternalMelange.g:771:19: otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? { otherlv_39=(Token)match(input,29,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_39, grammarAccess.getLanguageAccess().getExactTypeKeyword_7_0_0()); } // InternalMelange.g:775:1: ( (lv_exactTypeName_40_0= ruleValidID ) ) // InternalMelange.g:776:1: (lv_exactTypeName_40_0= ruleValidID ) { // InternalMelange.g:776:1: (lv_exactTypeName_40_0= ruleValidID ) // InternalMelange.g:777:3: lv_exactTypeName_40_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLanguageAccess().getExactTypeNameValidIDParserRuleCall_7_0_1_0()); } pushFollow(FOLLOW_18); lv_exactTypeName_40_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getLanguageRule()); } set( current, "exactTypeName", lv_exactTypeName_40_0, "org.eclipse.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalMelange.g:793:2: ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? int alt15=2; int LA15_0 = input.LA(1); if ( (LA15_0==22) && (synpred3_InternalMelange())) { alt15=1; } switch (alt15) { case 1 : // InternalMelange.g:793:3: ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) { // InternalMelange.g:793:3: ( ( 'uri' )=>otherlv_41= 'uri' ) // InternalMelange.g:793:4: ( 'uri' )=>otherlv_41= 'uri' { otherlv_41=(Token)match(input,22,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_41, grammarAccess.getLanguageAccess().getUriKeyword_7_0_2_0()); } } // InternalMelange.g:798:2: ( (lv_exactTypeUri_42_0= RULE_STRING ) ) // InternalMelange.g:799:1: (lv_exactTypeUri_42_0= RULE_STRING ) { // InternalMelange.g:799:1: (lv_exactTypeUri_42_0= RULE_STRING ) // InternalMelange.g:800:3: lv_exactTypeUri_42_0= RULE_STRING { lv_exactTypeUri_42_0=(Token)match(input,RULE_STRING,FOLLOW_19); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_exactTypeUri_42_0, grammarAccess.getLanguageAccess().getExactTypeUriSTRINGTerminalRuleCall_7_0_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getLanguageRule()); } setWithLastConsumed( current, "exactTypeUri", lv_exactTypeUri_42_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; } } break; } otherlv_43=(Token)match(input,30,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_43, grammarAccess.getLanguageAccess().getRightCurlyBracketKeyword_7_1()); } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getLanguageAccess().getUnorderedGroup()); } } } break; default : if ( cnt17 >= 1 ) break loop17; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(17, input); throw eee; } cnt17++; } while (true); if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleLanguage", "getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup())"); } } } getUnorderedGroupHelper().leave(grammarAccess.getLanguageAccess().getUnorderedGroup()); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleLanguage" // $ANTLR start "entryRuleExternalLanguage" // InternalMelange.g:843:1: entryRuleExternalLanguage returns [EObject current=null] : iv_ruleExternalLanguage= ruleExternalLanguage EOF ; public final EObject entryRuleExternalLanguage() throws RecognitionException { EObject current = null; EObject iv_ruleExternalLanguage = null; try { // InternalMelange.g:844:2: (iv_ruleExternalLanguage= ruleExternalLanguage EOF ) // InternalMelange.g:845:2: iv_ruleExternalLanguage= ruleExternalLanguage EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExternalLanguageRule()); } pushFollow(FOLLOW_1); iv_ruleExternalLanguage=ruleExternalLanguage(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExternalLanguage; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExternalLanguage" // $ANTLR start "ruleExternalLanguage" // InternalMelange.g:852:1: ruleExternalLanguage returns [EObject current=null] : ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) ) ) ; public final EObject ruleExternalLanguage() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Token otherlv_10=null; Token lv_xtext_11_0=null; Token otherlv_12=null; Token lv_xtext_13_0=null; Token otherlv_14=null; Token lv_sirius_15_0=null; Token otherlv_16=null; Token lv_sirius_17_0=null; Token otherlv_18=null; Token lv_ecl_19_0=null; Token otherlv_20=null; Token lv_ecl_21_0=null; Token otherlv_22=null; Token lv_xmof_23_0=null; Token otherlv_24=null; Token lv_fileExtension_25_0=null; Token otherlv_26=null; Token otherlv_28=null; Token lv_exactTypeUri_29_0=null; Token otherlv_30=null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_operators_8_0 = null; EObject lv_operators_9_0 = null; AntlrDatatypeRuleToken lv_exactTypeName_27_0 = null; enterRule(); try { // InternalMelange.g:855:28: ( ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) ) ) ) // InternalMelange.g:856:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) ) ) { // InternalMelange.g:856:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) ) ) // InternalMelange.g:858:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) ) { // InternalMelange.g:858:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) ) // InternalMelange.g:859:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) { getUnorderedGroupHelper().enter(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()); // InternalMelange.g:862:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}?) // InternalMelange.g:863:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ {...}? { // InternalMelange.g:863:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+ int cnt26=0; loop26: do { int alt26=9; alt26 = dfa26.predict(input); switch (alt26) { case 1 : // InternalMelange.g:865:4: ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) { // InternalMelange.g:865:4: ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) // InternalMelange.g:866:5: {...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 0)"); } // InternalMelange.g:866:111: ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) // InternalMelange.g:867:6: ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 0); // InternalMelange.g:870:6: ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) // InternalMelange.g:870:7: {...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "true"); } // InternalMelange.g:870:16: (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) // InternalMelange.g:870:18: otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) { otherlv_1=(Token)match(input,15,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExternalLanguageAccess().getLanguageKeyword_0_0()); } // InternalMelange.g:874:1: ( (lv_name_2_0= ruleValidID ) ) // InternalMelange.g:875:1: (lv_name_2_0= ruleValidID ) { // InternalMelange.g:875:1: (lv_name_2_0= ruleValidID ) // InternalMelange.g:876:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExternalLanguageAccess().getNameValidIDParserRuleCall_0_1_0()); } pushFollow(FOLLOW_20); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExternalLanguageRule()); } set( current, "name", lv_name_2_0, "org.eclipse.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalMelange.g:892:2: (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==18) ) { alt19=1; } switch (alt19) { case 1 : // InternalMelange.g:892:4: otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* { otherlv_3=(Token)match(input,18,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getExternalLanguageAccess().getImplementsKeyword_0_2_0()); } // InternalMelange.g:896:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:897:1: ( ruleQualifiedName ) { // InternalMelange.g:897:1: ( ruleQualifiedName ) // InternalMelange.g:898:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExternalLanguageAccess().getImplementsModelTypeCrossReference_0_2_1_0()); } pushFollow(FOLLOW_10); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:911:2: (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* loop18: do { int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0==17) ) { alt18=1; } switch (alt18) { case 1 : // InternalMelange.g:911:4: otherlv_5= ',' ( ( ruleQualifiedName ) ) { otherlv_5=(Token)match(input,17,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getExternalLanguageAccess().getCommaKeyword_0_2_2_0()); } // InternalMelange.g:915:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:916:1: ( ruleQualifiedName ) { // InternalMelange.g:916:1: ( ruleQualifiedName ) // InternalMelange.g:917:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExternalLanguageAccess().getImplementsModelTypeCrossReference_0_2_2_1_0()); } pushFollow(FOLLOW_10); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; default : break loop18; } } while (true); } break; } otherlv_7=(Token)match(input,20,FOLLOW_21); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getExternalLanguageAccess().getLeftCurlyBracketKeyword_0_3()); } // InternalMelange.g:934:1: ( (lv_operators_8_0= ruleExternalImport ) ) // InternalMelange.g:935:1: (lv_operators_8_0= ruleExternalImport ) { // InternalMelange.g:935:1: (lv_operators_8_0= ruleExternalImport ) // InternalMelange.g:936:3: lv_operators_8_0= ruleExternalImport { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExternalLanguageAccess().getOperatorsExternalImportParserRuleCall_0_4_0()); } pushFollow(FOLLOW_22); lv_operators_8_0=ruleExternalImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExternalLanguageRule()); } add( current, "operators", lv_operators_8_0, "fr.inria.diverse.melange.Melange.ExternalImport"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()); } } } break; case 2 : // InternalMelange.g:959:4: ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) { // InternalMelange.g:959:4: ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) // InternalMelange.g:960:5: {...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 1)"); } // InternalMelange.g:960:111: ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) // InternalMelange.g:961:6: ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ { getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 1); // InternalMelange.g:964:6: ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ int cnt20=0; loop20: do { int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0==46) ) { int LA20_2 = input.LA(2); if ( ((true)) ) { alt20=1; } } switch (alt20) { case 1 : // InternalMelange.g:964:7: {...}? => ( (lv_operators_9_0= ruleWeave ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "true"); } // InternalMelange.g:964:16: ( (lv_operators_9_0= ruleWeave ) ) // InternalMelange.g:965:1: (lv_operators_9_0= ruleWeave ) { // InternalMelange.g:965:1: (lv_operators_9_0= ruleWeave ) // InternalMelange.g:966:3: lv_operators_9_0= ruleWeave { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExternalLanguageAccess().getOperatorsWeaveParserRuleCall_1_0()); } pushFollow(FOLLOW_22); lv_operators_9_0=ruleWeave(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExternalLanguageRule()); } add( current, "operators", lv_operators_9_0, "fr.inria.diverse.melange.Melange.Weave"); afterParserOrEnumRuleCall(); } } } } break; default : if ( cnt20 >= 1 ) break loop20; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(20, input); throw eee; } cnt20++; } while (true); getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()); } } } break; case 3 : // InternalMelange.g:989:4: ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) { // InternalMelange.g:989:4: ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) // InternalMelange.g:990:5: {...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 2) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 2)"); } // InternalMelange.g:990:111: ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) // InternalMelange.g:991:6: ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 2); // InternalMelange.g:994:6: ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) // InternalMelange.g:994:7: {...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "true"); } // InternalMelange.g:994:16: (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) // InternalMelange.g:994:18: otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* { otherlv_10=(Token)match(input,24,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getExternalLanguageAccess().getXtextKeyword_2_0()); } // InternalMelange.g:998:1: ( (lv_xtext_11_0= RULE_STRING ) ) // InternalMelange.g:999:1: (lv_xtext_11_0= RULE_STRING ) { // InternalMelange.g:999:1: (lv_xtext_11_0= RULE_STRING ) // InternalMelange.g:1000:3: lv_xtext_11_0= RULE_STRING { lv_xtext_11_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_xtext_11_0, grammarAccess.getExternalLanguageAccess().getXtextSTRINGTerminalRuleCall_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } addWithLastConsumed( current, "xtext", lv_xtext_11_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:1016:2: (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* loop21: do { int alt21=2; int LA21_0 = input.LA(1); if ( (LA21_0==17) ) { alt21=1; } switch (alt21) { case 1 : // InternalMelange.g:1016:4: otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) { otherlv_12=(Token)match(input,17,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getExternalLanguageAccess().getCommaKeyword_2_2_0()); } // InternalMelange.g:1020:1: ( (lv_xtext_13_0= RULE_STRING ) ) // InternalMelange.g:1021:1: (lv_xtext_13_0= RULE_STRING ) { // InternalMelange.g:1021:1: (lv_xtext_13_0= RULE_STRING ) // InternalMelange.g:1022:3: lv_xtext_13_0= RULE_STRING { lv_xtext_13_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_xtext_13_0, grammarAccess.getExternalLanguageAccess().getXtextSTRINGTerminalRuleCall_2_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } addWithLastConsumed( current, "xtext", lv_xtext_13_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; default : break loop21; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()); } } } break; case 4 : // InternalMelange.g:1045:4: ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) { // InternalMelange.g:1045:4: ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) // InternalMelange.g:1046:5: {...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 3) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 3)"); } // InternalMelange.g:1046:111: ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) // InternalMelange.g:1047:6: ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 3); // InternalMelange.g:1050:6: ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) // InternalMelange.g:1050:7: {...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "true"); } // InternalMelange.g:1050:16: (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) // InternalMelange.g:1050:18: otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* { otherlv_14=(Token)match(input,25,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getExternalLanguageAccess().getSiriusKeyword_3_0()); } // InternalMelange.g:1054:1: ( (lv_sirius_15_0= RULE_STRING ) ) // InternalMelange.g:1055:1: (lv_sirius_15_0= RULE_STRING ) { // InternalMelange.g:1055:1: (lv_sirius_15_0= RULE_STRING ) // InternalMelange.g:1056:3: lv_sirius_15_0= RULE_STRING { lv_sirius_15_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_sirius_15_0, grammarAccess.getExternalLanguageAccess().getSiriusSTRINGTerminalRuleCall_3_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } addWithLastConsumed( current, "sirius", lv_sirius_15_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:1072:2: (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* loop22: do { int alt22=2; int LA22_0 = input.LA(1); if ( (LA22_0==17) ) { alt22=1; } switch (alt22) { case 1 : // InternalMelange.g:1072:4: otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) { otherlv_16=(Token)match(input,17,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_16, grammarAccess.getExternalLanguageAccess().getCommaKeyword_3_2_0()); } // InternalMelange.g:1076:1: ( (lv_sirius_17_0= RULE_STRING ) ) // InternalMelange.g:1077:1: (lv_sirius_17_0= RULE_STRING ) { // InternalMelange.g:1077:1: (lv_sirius_17_0= RULE_STRING ) // InternalMelange.g:1078:3: lv_sirius_17_0= RULE_STRING { lv_sirius_17_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_sirius_17_0, grammarAccess.getExternalLanguageAccess().getSiriusSTRINGTerminalRuleCall_3_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } addWithLastConsumed( current, "sirius", lv_sirius_17_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; default : break loop22; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()); } } } break; case 5 : // InternalMelange.g:1101:4: ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) { // InternalMelange.g:1101:4: ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) // InternalMelange.g:1102:5: {...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 4) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 4)"); } // InternalMelange.g:1102:111: ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) // InternalMelange.g:1103:6: ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 4); // InternalMelange.g:1106:6: ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) // InternalMelange.g:1106:7: {...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "true"); } // InternalMelange.g:1106:16: (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) // InternalMelange.g:1106:18: otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* { otherlv_18=(Token)match(input,26,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_18, grammarAccess.getExternalLanguageAccess().getEclKeyword_4_0()); } // InternalMelange.g:1110:1: ( (lv_ecl_19_0= RULE_STRING ) ) // InternalMelange.g:1111:1: (lv_ecl_19_0= RULE_STRING ) { // InternalMelange.g:1111:1: (lv_ecl_19_0= RULE_STRING ) // InternalMelange.g:1112:3: lv_ecl_19_0= RULE_STRING { lv_ecl_19_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_ecl_19_0, grammarAccess.getExternalLanguageAccess().getEclSTRINGTerminalRuleCall_4_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } addWithLastConsumed( current, "ecl", lv_ecl_19_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:1128:2: (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* loop23: do { int alt23=2; int LA23_0 = input.LA(1); if ( (LA23_0==17) ) { alt23=1; } switch (alt23) { case 1 : // InternalMelange.g:1128:4: otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) { otherlv_20=(Token)match(input,17,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_20, grammarAccess.getExternalLanguageAccess().getCommaKeyword_4_2_0()); } // InternalMelange.g:1132:1: ( (lv_ecl_21_0= RULE_STRING ) ) // InternalMelange.g:1133:1: (lv_ecl_21_0= RULE_STRING ) { // InternalMelange.g:1133:1: (lv_ecl_21_0= RULE_STRING ) // InternalMelange.g:1134:3: lv_ecl_21_0= RULE_STRING { lv_ecl_21_0=(Token)match(input,RULE_STRING,FOLLOW_23); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_ecl_21_0, grammarAccess.getExternalLanguageAccess().getEclSTRINGTerminalRuleCall_4_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } addWithLastConsumed( current, "ecl", lv_ecl_21_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; default : break loop23; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()); } } } break; case 6 : // InternalMelange.g:1157:4: ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) { // InternalMelange.g:1157:4: ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) // InternalMelange.g:1158:5: {...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 5) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 5)"); } // InternalMelange.g:1158:111: ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) // InternalMelange.g:1159:6: ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 5); // InternalMelange.g:1162:6: ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) // InternalMelange.g:1162:7: {...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "true"); } // InternalMelange.g:1162:16: (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) // InternalMelange.g:1162:18: otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) { otherlv_22=(Token)match(input,27,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_22, grammarAccess.getExternalLanguageAccess().getXmofKeyword_5_0()); } // InternalMelange.g:1166:1: ( (lv_xmof_23_0= RULE_STRING ) ) // InternalMelange.g:1167:1: (lv_xmof_23_0= RULE_STRING ) { // InternalMelange.g:1167:1: (lv_xmof_23_0= RULE_STRING ) // InternalMelange.g:1168:3: lv_xmof_23_0= RULE_STRING { lv_xmof_23_0=(Token)match(input,RULE_STRING,FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_xmof_23_0, grammarAccess.getExternalLanguageAccess().getXmofSTRINGTerminalRuleCall_5_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } setWithLastConsumed( current, "xmof", lv_xmof_23_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()); } } } break; case 7 : // InternalMelange.g:1191:4: ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) { // InternalMelange.g:1191:4: ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) // InternalMelange.g:1192:5: {...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 6) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 6)"); } // InternalMelange.g:1192:111: ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) // InternalMelange.g:1193:6: ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 6); // InternalMelange.g:1196:6: ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) // InternalMelange.g:1196:7: {...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "true"); } // InternalMelange.g:1196:16: (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) // InternalMelange.g:1196:18: otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) { otherlv_24=(Token)match(input,28,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_24, grammarAccess.getExternalLanguageAccess().getFileExtensionKeyword_6_0()); } // InternalMelange.g:1200:1: ( (lv_fileExtension_25_0= RULE_STRING ) ) // InternalMelange.g:1201:1: (lv_fileExtension_25_0= RULE_STRING ) { // InternalMelange.g:1201:1: (lv_fileExtension_25_0= RULE_STRING ) // InternalMelange.g:1202:3: lv_fileExtension_25_0= RULE_STRING { lv_fileExtension_25_0=(Token)match(input,RULE_STRING,FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_fileExtension_25_0, grammarAccess.getExternalLanguageAccess().getFileExtensionSTRINGTerminalRuleCall_6_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } setWithLastConsumed( current, "fileExtension", lv_fileExtension_25_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()); } } } break; case 8 : // InternalMelange.g:1225:4: ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) { // InternalMelange.g:1225:4: ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) // InternalMelange.g:1226:5: {...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 7) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 7)"); } // InternalMelange.g:1226:111: ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) // InternalMelange.g:1227:6: ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) { getUnorderedGroupHelper().select(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 7); // InternalMelange.g:1230:6: ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) // InternalMelange.g:1230:7: {...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "true"); } // InternalMelange.g:1230:16: ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) // InternalMelange.g:1230:17: (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' { // InternalMelange.g:1230:17: (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0==29) ) { alt25=1; } switch (alt25) { case 1 : // InternalMelange.g:1230:19: otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? { otherlv_26=(Token)match(input,29,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_26, grammarAccess.getExternalLanguageAccess().getExactTypeKeyword_7_0_0()); } // InternalMelange.g:1234:1: ( (lv_exactTypeName_27_0= ruleValidID ) ) // InternalMelange.g:1235:1: (lv_exactTypeName_27_0= ruleValidID ) { // InternalMelange.g:1235:1: (lv_exactTypeName_27_0= ruleValidID ) // InternalMelange.g:1236:3: lv_exactTypeName_27_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExternalLanguageAccess().getExactTypeNameValidIDParserRuleCall_7_0_1_0()); } pushFollow(FOLLOW_18); lv_exactTypeName_27_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExternalLanguageRule()); } set( current, "exactTypeName", lv_exactTypeName_27_0, "org.eclipse.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalMelange.g:1252:2: ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? int alt24=2; int LA24_0 = input.LA(1); if ( (LA24_0==22) && (synpred4_InternalMelange())) { alt24=1; } switch (alt24) { case 1 : // InternalMelange.g:1252:3: ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) { // InternalMelange.g:1252:3: ( ( 'uri' )=>otherlv_28= 'uri' ) // InternalMelange.g:1252:4: ( 'uri' )=>otherlv_28= 'uri' { otherlv_28=(Token)match(input,22,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_28, grammarAccess.getExternalLanguageAccess().getUriKeyword_7_0_2_0()); } } // InternalMelange.g:1257:2: ( (lv_exactTypeUri_29_0= RULE_STRING ) ) // InternalMelange.g:1258:1: (lv_exactTypeUri_29_0= RULE_STRING ) { // InternalMelange.g:1258:1: (lv_exactTypeUri_29_0= RULE_STRING ) // InternalMelange.g:1259:3: lv_exactTypeUri_29_0= RULE_STRING { lv_exactTypeUri_29_0=(Token)match(input,RULE_STRING,FOLLOW_19); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_exactTypeUri_29_0, grammarAccess.getExternalLanguageAccess().getExactTypeUriSTRINGTerminalRuleCall_7_0_2_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalLanguageRule()); } setWithLastConsumed( current, "exactTypeUri", lv_exactTypeUri_29_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; } } break; } otherlv_30=(Token)match(input,30,FOLLOW_22); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_30, grammarAccess.getExternalLanguageAccess().getRightCurlyBracketKeyword_7_1()); } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()); } } } break; default : if ( cnt26 >= 1 ) break loop26; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(26, input); throw eee; } cnt26++; } while (true); if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleExternalLanguage", "getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup())"); } } } getUnorderedGroupHelper().leave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExternalLanguage" // $ANTLR start "entryRuleEcoreModelType" // InternalMelange.g:1302:1: entryRuleEcoreModelType returns [EObject current=null] : iv_ruleEcoreModelType= ruleEcoreModelType EOF ; public final EObject entryRuleEcoreModelType() throws RecognitionException { EObject current = null; EObject iv_ruleEcoreModelType = null; try { // InternalMelange.g:1303:2: (iv_ruleEcoreModelType= ruleEcoreModelType EOF ) // InternalMelange.g:1304:2: iv_ruleEcoreModelType= ruleEcoreModelType EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEcoreModelTypeRule()); } pushFollow(FOLLOW_1); iv_ruleEcoreModelType=ruleEcoreModelType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEcoreModelType; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEcoreModelType" // $ANTLR start "ruleEcoreModelType" // InternalMelange.g:1311:1: ruleEcoreModelType returns [EObject current=null] : ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) ) ) ; public final EObject ruleEcoreModelType() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token lv_ecoreUri_5_0=null; Token otherlv_6=null; Token lv_mtUri_7_0=null; Token otherlv_8=null; AntlrDatatypeRuleToken lv_name_2_0 = null; enterRule(); try { // InternalMelange.g:1314:28: ( ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) ) ) ) // InternalMelange.g:1315:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) ) ) { // InternalMelange.g:1315:1: ( ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) ) ) // InternalMelange.g:1317:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) ) { // InternalMelange.g:1317:1: ( ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) ) // InternalMelange.g:1318:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) { getUnorderedGroupHelper().enter(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup()); // InternalMelange.g:1321:2: ( ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}?) // InternalMelange.g:1322:3: ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ {...}? { // InternalMelange.g:1322:3: ( ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) )+ int cnt28=0; loop28: do { int alt28=3; switch ( input.LA(1) ) { case 30: { int LA28_2 = input.LA(2); if ( getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 1) ) { alt28=2; } } break; case 31: { int LA28_3 = input.LA(2); if ( getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 0) ) { alt28=1; } } break; case 22: { int LA28_4 = input.LA(2); if ( getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 1) ) { alt28=2; } } break; } switch (alt28) { case 1 : // InternalMelange.g:1324:4: ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) { // InternalMelange.g:1324:4: ({...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) ) // InternalMelange.g:1325:5: {...}? => ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleEcoreModelType", "getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 0)"); } // InternalMelange.g:1325:109: ( ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) ) // InternalMelange.g:1326:6: ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 0); // InternalMelange.g:1329:6: ({...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) ) // InternalMelange.g:1329:7: {...}? => (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleEcoreModelType", "true"); } // InternalMelange.g:1329:16: (otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) ) // InternalMelange.g:1329:18: otherlv_1= 'modeltype' ( (lv_name_2_0= ruleValidID ) ) otherlv_3= '{' otherlv_4= 'syntax' ( (lv_ecoreUri_5_0= RULE_STRING ) ) { otherlv_1=(Token)match(input,31,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getEcoreModelTypeAccess().getModeltypeKeyword_0_0()); } // InternalMelange.g:1333:1: ( (lv_name_2_0= ruleValidID ) ) // InternalMelange.g:1334:1: (lv_name_2_0= ruleValidID ) { // InternalMelange.g:1334:1: (lv_name_2_0= ruleValidID ) // InternalMelange.g:1335:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEcoreModelTypeAccess().getNameValidIDParserRuleCall_0_1_0()); } pushFollow(FOLLOW_24); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEcoreModelTypeRule()); } set( current, "name", lv_name_2_0, "org.eclipse.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,20,FOLLOW_21); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getEcoreModelTypeAccess().getLeftCurlyBracketKeyword_0_2()); } otherlv_4=(Token)match(input,32,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getEcoreModelTypeAccess().getSyntaxKeyword_0_3()); } // InternalMelange.g:1359:1: ( (lv_ecoreUri_5_0= RULE_STRING ) ) // InternalMelange.g:1360:1: (lv_ecoreUri_5_0= RULE_STRING ) { // InternalMelange.g:1360:1: (lv_ecoreUri_5_0= RULE_STRING ) // InternalMelange.g:1361:3: lv_ecoreUri_5_0= RULE_STRING { lv_ecoreUri_5_0=(Token)match(input,RULE_STRING,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_ecoreUri_5_0, grammarAccess.getEcoreModelTypeAccess().getEcoreUriSTRINGTerminalRuleCall_0_4_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getEcoreModelTypeRule()); } setWithLastConsumed( current, "ecoreUri", lv_ecoreUri_5_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup()); } } } break; case 2 : // InternalMelange.g:1384:4: ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) { // InternalMelange.g:1384:4: ({...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) ) // InternalMelange.g:1385:5: {...}? => ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleEcoreModelType", "getUnorderedGroupHelper().canSelect(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 1)"); } // InternalMelange.g:1385:109: ( ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) ) // InternalMelange.g:1386:6: ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) { getUnorderedGroupHelper().select(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup(), 1); // InternalMelange.g:1389:6: ({...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) ) // InternalMelange.g:1389:7: {...}? => ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleEcoreModelType", "true"); } // InternalMelange.g:1389:16: ( (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' ) // InternalMelange.g:1389:17: (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? otherlv_8= '}' { // InternalMelange.g:1389:17: (otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) )? int alt27=2; int LA27_0 = input.LA(1); if ( (LA27_0==22) ) { alt27=1; } switch (alt27) { case 1 : // InternalMelange.g:1389:19: otherlv_6= 'uri' ( (lv_mtUri_7_0= RULE_STRING ) ) { otherlv_6=(Token)match(input,22,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getEcoreModelTypeAccess().getUriKeyword_1_0_0()); } // InternalMelange.g:1393:1: ( (lv_mtUri_7_0= RULE_STRING ) ) // InternalMelange.g:1394:1: (lv_mtUri_7_0= RULE_STRING ) { // InternalMelange.g:1394:1: (lv_mtUri_7_0= RULE_STRING ) // InternalMelange.g:1395:3: lv_mtUri_7_0= RULE_STRING { lv_mtUri_7_0=(Token)match(input,RULE_STRING,FOLLOW_19); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_mtUri_7_0, grammarAccess.getEcoreModelTypeAccess().getMtUriSTRINGTerminalRuleCall_1_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getEcoreModelTypeRule()); } setWithLastConsumed( current, "mtUri", lv_mtUri_7_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; } otherlv_8=(Token)match(input,30,FOLLOW_25); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getEcoreModelTypeAccess().getRightCurlyBracketKeyword_1_1()); } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup()); } } } break; default : if ( cnt28 >= 1 ) break loop28; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(28, input); throw eee; } cnt28++; } while (true); if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup()) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleEcoreModelType", "getUnorderedGroupHelper().canLeave(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup())"); } } } getUnorderedGroupHelper().leave(grammarAccess.getEcoreModelTypeAccess().getUnorderedGroup()); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleEcoreModelType" // $ANTLR start "entryRuleXbaseTransformation" // InternalMelange.g:1438:1: entryRuleXbaseTransformation returns [EObject current=null] : iv_ruleXbaseTransformation= ruleXbaseTransformation EOF ; public final EObject entryRuleXbaseTransformation() throws RecognitionException { EObject current = null; EObject iv_ruleXbaseTransformation = null; try { // InternalMelange.g:1439:2: (iv_ruleXbaseTransformation= ruleXbaseTransformation EOF ) // InternalMelange.g:1440:2: iv_ruleXbaseTransformation= ruleXbaseTransformation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseTransformationRule()); } pushFollow(FOLLOW_1); iv_ruleXbaseTransformation=ruleXbaseTransformation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXbaseTransformation; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXbaseTransformation" // $ANTLR start "ruleXbaseTransformation" // InternalMelange.g:1447:1: ruleXbaseTransformation returns [EObject current=null] : ( ( (lv_main_0_0= '@Main' ) )? otherlv_1= 'transformation' ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? ( (lv_name_3_0= ruleValidID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? otherlv_8= ')' ( (lv_body_9_0= ruleXBlockExpression ) ) ) ; public final EObject ruleXbaseTransformation() throws RecognitionException { EObject current = null; Token lv_main_0_0=null; Token otherlv_1=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_8=null; EObject lv_returnTypeRef_2_0 = null; AntlrDatatypeRuleToken lv_name_3_0 = null; EObject lv_parameters_5_0 = null; EObject lv_parameters_7_0 = null; EObject lv_body_9_0 = null; enterRule(); try { // InternalMelange.g:1450:28: ( ( ( (lv_main_0_0= '@Main' ) )? otherlv_1= 'transformation' ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? ( (lv_name_3_0= ruleValidID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? otherlv_8= ')' ( (lv_body_9_0= ruleXBlockExpression ) ) ) ) // InternalMelange.g:1451:1: ( ( (lv_main_0_0= '@Main' ) )? otherlv_1= 'transformation' ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? ( (lv_name_3_0= ruleValidID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? otherlv_8= ')' ( (lv_body_9_0= ruleXBlockExpression ) ) ) { // InternalMelange.g:1451:1: ( ( (lv_main_0_0= '@Main' ) )? otherlv_1= 'transformation' ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? ( (lv_name_3_0= ruleValidID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? otherlv_8= ')' ( (lv_body_9_0= ruleXBlockExpression ) ) ) // InternalMelange.g:1451:2: ( (lv_main_0_0= '@Main' ) )? otherlv_1= 'transformation' ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? ( (lv_name_3_0= ruleValidID ) ) otherlv_4= '(' ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? otherlv_8= ')' ( (lv_body_9_0= ruleXBlockExpression ) ) { // InternalMelange.g:1451:2: ( (lv_main_0_0= '@Main' ) )? int alt29=2; int LA29_0 = input.LA(1); if ( (LA29_0==33) ) { alt29=1; } switch (alt29) { case 1 : // InternalMelange.g:1452:1: (lv_main_0_0= '@Main' ) { // InternalMelange.g:1452:1: (lv_main_0_0= '@Main' ) // InternalMelange.g:1453:3: lv_main_0_0= '@Main' { lv_main_0_0=(Token)match(input,33,FOLLOW_26); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_main_0_0, grammarAccess.getXbaseTransformationAccess().getMainMainKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXbaseTransformationRule()); } setWithLastConsumed(current, "main", true, "@Main"); } } } break; } otherlv_1=(Token)match(input,34,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXbaseTransformationAccess().getTransformationKeyword_1()); } // InternalMelange.g:1470:1: ( (lv_returnTypeRef_2_0= ruleJvmTypeReference ) )? int alt30=2; int LA30_0 = input.LA(1); if ( (LA30_0==RULE_ID) ) { int LA30_1 = input.LA(2); if ( (LA30_1==RULE_ID||LA30_1==44||LA30_1==53||LA30_1==79) ) { alt30=1; } } else if ( (LA30_0==35||LA30_0==66) ) { alt30=1; } switch (alt30) { case 1 : // InternalMelange.g:1471:1: (lv_returnTypeRef_2_0= ruleJvmTypeReference ) { // InternalMelange.g:1471:1: (lv_returnTypeRef_2_0= ruleJvmTypeReference ) // InternalMelange.g:1472:3: lv_returnTypeRef_2_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseTransformationAccess().getReturnTypeRefJvmTypeReferenceParserRuleCall_2_0()); } pushFollow(FOLLOW_3); lv_returnTypeRef_2_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXbaseTransformationRule()); } set( current, "returnTypeRef", lv_returnTypeRef_2_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } break; } // InternalMelange.g:1488:3: ( (lv_name_3_0= ruleValidID ) ) // InternalMelange.g:1489:1: (lv_name_3_0= ruleValidID ) { // InternalMelange.g:1489:1: (lv_name_3_0= ruleValidID ) // InternalMelange.g:1490:3: lv_name_3_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseTransformationAccess().getNameValidIDParserRuleCall_3_0()); } pushFollow(FOLLOW_27); lv_name_3_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXbaseTransformationRule()); } set( current, "name", lv_name_3_0, "org.eclipse.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,35,FOLLOW_28); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXbaseTransformationAccess().getLeftParenthesisKeyword_4()); } // InternalMelange.g:1510:1: ( ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* )? int alt32=2; int LA32_0 = input.LA(1); if ( (LA32_0==RULE_ID||LA32_0==35||LA32_0==66) ) { alt32=1; } switch (alt32) { case 1 : // InternalMelange.g:1510:2: ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* { // InternalMelange.g:1510:2: ( (lv_parameters_5_0= ruleFullJvmFormalParameter ) ) // InternalMelange.g:1511:1: (lv_parameters_5_0= ruleFullJvmFormalParameter ) { // InternalMelange.g:1511:1: (lv_parameters_5_0= ruleFullJvmFormalParameter ) // InternalMelange.g:1512:3: lv_parameters_5_0= ruleFullJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseTransformationAccess().getParametersFullJvmFormalParameterParserRuleCall_5_0_0()); } pushFollow(FOLLOW_29); lv_parameters_5_0=ruleFullJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXbaseTransformationRule()); } add( current, "parameters", lv_parameters_5_0, "org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter"); afterParserOrEnumRuleCall(); } } } // InternalMelange.g:1528:2: (otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) )* loop31: do { int alt31=2; int LA31_0 = input.LA(1); if ( (LA31_0==17) ) { alt31=1; } switch (alt31) { case 1 : // InternalMelange.g:1528:4: otherlv_6= ',' ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) { otherlv_6=(Token)match(input,17,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXbaseTransformationAccess().getCommaKeyword_5_1_0()); } // InternalMelange.g:1532:1: ( (lv_parameters_7_0= ruleFullJvmFormalParameter ) ) // InternalMelange.g:1533:1: (lv_parameters_7_0= ruleFullJvmFormalParameter ) { // InternalMelange.g:1533:1: (lv_parameters_7_0= ruleFullJvmFormalParameter ) // InternalMelange.g:1534:3: lv_parameters_7_0= ruleFullJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseTransformationAccess().getParametersFullJvmFormalParameterParserRuleCall_5_1_1_0()); } pushFollow(FOLLOW_29); lv_parameters_7_0=ruleFullJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXbaseTransformationRule()); } add( current, "parameters", lv_parameters_7_0, "org.eclipse.xtext.xbase.Xbase.FullJvmFormalParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop31; } } while (true); } break; } otherlv_8=(Token)match(input,36,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXbaseTransformationAccess().getRightParenthesisKeyword_6()); } // InternalMelange.g:1554:1: ( (lv_body_9_0= ruleXBlockExpression ) ) // InternalMelange.g:1555:1: (lv_body_9_0= ruleXBlockExpression ) { // InternalMelange.g:1555:1: (lv_body_9_0= ruleXBlockExpression ) // InternalMelange.g:1556:3: lv_body_9_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseTransformationAccess().getBodyXBlockExpressionParserRuleCall_7_0()); } pushFollow(FOLLOW_2); lv_body_9_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXbaseTransformationRule()); } set( current, "body", lv_body_9_0, "org.eclipse.xtext.xbase.Xbase.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXbaseTransformation" // $ANTLR start "entryRuleMapping" // InternalMelange.g:1580:1: entryRuleMapping returns [EObject current=null] : iv_ruleMapping= ruleMapping EOF ; public final EObject entryRuleMapping() throws RecognitionException { EObject current = null; EObject iv_ruleMapping = null; try { // InternalMelange.g:1581:2: (iv_ruleMapping= ruleMapping EOF ) // InternalMelange.g:1582:2: iv_ruleMapping= ruleMapping EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMappingRule()); } pushFollow(FOLLOW_1); iv_ruleMapping=ruleMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMapping; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMapping" // $ANTLR start "ruleMapping" // InternalMelange.g:1589:1: ruleMapping returns [EObject current=null] : (otherlv_0= 'map' ( ( ruleQualifiedName ) ) otherlv_2= 'to' ( ( ruleQualifiedName ) ) otherlv_4= '{' ( (lv_rules_5_0= ruleClassMapping ) )* otherlv_6= '}' ) ; public final EObject ruleMapping() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_rules_5_0 = null; enterRule(); try { // InternalMelange.g:1592:28: ( (otherlv_0= 'map' ( ( ruleQualifiedName ) ) otherlv_2= 'to' ( ( ruleQualifiedName ) ) otherlv_4= '{' ( (lv_rules_5_0= ruleClassMapping ) )* otherlv_6= '}' ) ) // InternalMelange.g:1593:1: (otherlv_0= 'map' ( ( ruleQualifiedName ) ) otherlv_2= 'to' ( ( ruleQualifiedName ) ) otherlv_4= '{' ( (lv_rules_5_0= ruleClassMapping ) )* otherlv_6= '}' ) { // InternalMelange.g:1593:1: (otherlv_0= 'map' ( ( ruleQualifiedName ) ) otherlv_2= 'to' ( ( ruleQualifiedName ) ) otherlv_4= '{' ( (lv_rules_5_0= ruleClassMapping ) )* otherlv_6= '}' ) // InternalMelange.g:1593:3: otherlv_0= 'map' ( ( ruleQualifiedName ) ) otherlv_2= 'to' ( ( ruleQualifiedName ) ) otherlv_4= '{' ( (lv_rules_5_0= ruleClassMapping ) )* otherlv_6= '}' { otherlv_0=(Token)match(input,37,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getMappingAccess().getMapKeyword_0()); } // InternalMelange.g:1597:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:1598:1: ( ruleQualifiedName ) { // InternalMelange.g:1598:1: ( ruleQualifiedName ) // InternalMelange.g:1599:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getMappingRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMappingAccess().getFromLanguageCrossReference_1_0()); } pushFollow(FOLLOW_30); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,38,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getMappingAccess().getToKeyword_2()); } // InternalMelange.g:1616:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:1617:1: ( ruleQualifiedName ) { // InternalMelange.g:1617:1: ( ruleQualifiedName ) // InternalMelange.g:1618:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getMappingRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMappingAccess().getToModelTypeCrossReference_3_0()); } pushFollow(FOLLOW_24); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,20,FOLLOW_31); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getMappingAccess().getLeftCurlyBracketKeyword_4()); } // InternalMelange.g:1635:1: ( (lv_rules_5_0= ruleClassMapping ) )* loop33: do { int alt33=2; int LA33_0 = input.LA(1); if ( (LA33_0==RULE_STRING) ) { alt33=1; } switch (alt33) { case 1 : // InternalMelange.g:1636:1: (lv_rules_5_0= ruleClassMapping ) { // InternalMelange.g:1636:1: (lv_rules_5_0= ruleClassMapping ) // InternalMelange.g:1637:3: lv_rules_5_0= ruleClassMapping { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMappingAccess().getRulesClassMappingParserRuleCall_5_0()); } pushFollow(FOLLOW_31); lv_rules_5_0=ruleClassMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMappingRule()); } add( current, "rules", lv_rules_5_0, "fr.inria.diverse.melange.Melange.ClassMapping"); afterParserOrEnumRuleCall(); } } } break; default : break loop33; } } while (true); otherlv_6=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getMappingAccess().getRightCurlyBracketKeyword_6()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleMapping" // $ANTLR start "entryRulePackageMapping" // InternalMelange.g:1665:1: entryRulePackageMapping returns [EObject current=null] : iv_rulePackageMapping= rulePackageMapping EOF ; public final EObject entryRulePackageMapping() throws RecognitionException { EObject current = null; EObject iv_rulePackageMapping = null; try { // InternalMelange.g:1666:2: (iv_rulePackageMapping= rulePackageMapping EOF ) // InternalMelange.g:1667:2: iv_rulePackageMapping= rulePackageMapping EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPackageMappingRule()); } pushFollow(FOLLOW_1); iv_rulePackageMapping=rulePackageMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePackageMapping; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePackageMapping" // $ANTLR start "rulePackageMapping" // InternalMelange.g:1674:1: rulePackageMapping returns [EObject current=null] : ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )? ) ; public final EObject rulePackageMapping() throws RecognitionException { EObject current = null; Token lv_from_0_0=null; Token otherlv_1=null; Token lv_to_2_0=null; Token otherlv_3=null; Token otherlv_5=null; EObject lv_classes_4_0 = null; enterRule(); try { // InternalMelange.g:1677:28: ( ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )? ) ) // InternalMelange.g:1678:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )? ) { // InternalMelange.g:1678:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )? ) // InternalMelange.g:1678:2: ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )? { // InternalMelange.g:1678:2: ( (lv_from_0_0= RULE_STRING ) ) // InternalMelange.g:1679:1: (lv_from_0_0= RULE_STRING ) { // InternalMelange.g:1679:1: (lv_from_0_0= RULE_STRING ) // InternalMelange.g:1680:3: lv_from_0_0= RULE_STRING { lv_from_0_0=(Token)match(input,RULE_STRING,FOLLOW_30); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_from_0_0, grammarAccess.getPackageMappingAccess().getFromSTRINGTerminalRuleCall_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getPackageMappingRule()); } setWithLastConsumed( current, "from", lv_from_0_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } otherlv_1=(Token)match(input,38,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getPackageMappingAccess().getToKeyword_1()); } // InternalMelange.g:1700:1: ( (lv_to_2_0= RULE_STRING ) ) // InternalMelange.g:1701:1: (lv_to_2_0= RULE_STRING ) { // InternalMelange.g:1701:1: (lv_to_2_0= RULE_STRING ) // InternalMelange.g:1702:3: lv_to_2_0= RULE_STRING { lv_to_2_0=(Token)match(input,RULE_STRING,FOLLOW_32); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_to_2_0, grammarAccess.getPackageMappingAccess().getToSTRINGTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getPackageMappingRule()); } setWithLastConsumed( current, "to", lv_to_2_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:1718:2: (otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' )? int alt35=2; int LA35_0 = input.LA(1); if ( (LA35_0==20) ) { alt35=1; } switch (alt35) { case 1 : // InternalMelange.g:1718:4: otherlv_3= '{' ( (lv_classes_4_0= ruleClassMapping ) )* otherlv_5= '}' { otherlv_3=(Token)match(input,20,FOLLOW_31); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getPackageMappingAccess().getLeftCurlyBracketKeyword_3_0()); } // InternalMelange.g:1722:1: ( (lv_classes_4_0= ruleClassMapping ) )* loop34: do { int alt34=2; int LA34_0 = input.LA(1); if ( (LA34_0==RULE_STRING) ) { alt34=1; } switch (alt34) { case 1 : // InternalMelange.g:1723:1: (lv_classes_4_0= ruleClassMapping ) { // InternalMelange.g:1723:1: (lv_classes_4_0= ruleClassMapping ) // InternalMelange.g:1724:3: lv_classes_4_0= ruleClassMapping { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPackageMappingAccess().getClassesClassMappingParserRuleCall_3_1_0()); } pushFollow(FOLLOW_31); lv_classes_4_0=ruleClassMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getPackageMappingRule()); } add( current, "classes", lv_classes_4_0, "fr.inria.diverse.melange.Melange.ClassMapping"); afterParserOrEnumRuleCall(); } } } break; default : break loop34; } } while (true); otherlv_5=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getPackageMappingAccess().getRightCurlyBracketKeyword_3_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "rulePackageMapping" // $ANTLR start "entryRuleClassMapping" // InternalMelange.g:1752:1: entryRuleClassMapping returns [EObject current=null] : iv_ruleClassMapping= ruleClassMapping EOF ; public final EObject entryRuleClassMapping() throws RecognitionException { EObject current = null; EObject iv_ruleClassMapping = null; try { // InternalMelange.g:1753:2: (iv_ruleClassMapping= ruleClassMapping EOF ) // InternalMelange.g:1754:2: iv_ruleClassMapping= ruleClassMapping EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getClassMappingRule()); } pushFollow(FOLLOW_1); iv_ruleClassMapping=ruleClassMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleClassMapping; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleClassMapping" // $ANTLR start "ruleClassMapping" // InternalMelange.g:1761:1: ruleClassMapping returns [EObject current=null] : ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )? ) ; public final EObject ruleClassMapping() throws RecognitionException { EObject current = null; Token lv_from_0_0=null; Token otherlv_1=null; Token lv_to_2_0=null; Token otherlv_3=null; Token otherlv_5=null; EObject lv_properties_4_0 = null; enterRule(); try { // InternalMelange.g:1764:28: ( ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )? ) ) // InternalMelange.g:1765:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )? ) { // InternalMelange.g:1765:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )? ) // InternalMelange.g:1765:2: ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )? { // InternalMelange.g:1765:2: ( (lv_from_0_0= RULE_STRING ) ) // InternalMelange.g:1766:1: (lv_from_0_0= RULE_STRING ) { // InternalMelange.g:1766:1: (lv_from_0_0= RULE_STRING ) // InternalMelange.g:1767:3: lv_from_0_0= RULE_STRING { lv_from_0_0=(Token)match(input,RULE_STRING,FOLLOW_30); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_from_0_0, grammarAccess.getClassMappingAccess().getFromSTRINGTerminalRuleCall_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getClassMappingRule()); } setWithLastConsumed( current, "from", lv_from_0_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } otherlv_1=(Token)match(input,38,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getClassMappingAccess().getToKeyword_1()); } // InternalMelange.g:1787:1: ( (lv_to_2_0= RULE_STRING ) ) // InternalMelange.g:1788:1: (lv_to_2_0= RULE_STRING ) { // InternalMelange.g:1788:1: (lv_to_2_0= RULE_STRING ) // InternalMelange.g:1789:3: lv_to_2_0= RULE_STRING { lv_to_2_0=(Token)match(input,RULE_STRING,FOLLOW_32); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_to_2_0, grammarAccess.getClassMappingAccess().getToSTRINGTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getClassMappingRule()); } setWithLastConsumed( current, "to", lv_to_2_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:1805:2: (otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' )? int alt37=2; int LA37_0 = input.LA(1); if ( (LA37_0==20) ) { alt37=1; } switch (alt37) { case 1 : // InternalMelange.g:1805:4: otherlv_3= '{' ( (lv_properties_4_0= rulePropertyMapping ) )* otherlv_5= '}' { otherlv_3=(Token)match(input,20,FOLLOW_31); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getClassMappingAccess().getLeftCurlyBracketKeyword_3_0()); } // InternalMelange.g:1809:1: ( (lv_properties_4_0= rulePropertyMapping ) )* loop36: do { int alt36=2; int LA36_0 = input.LA(1); if ( (LA36_0==RULE_STRING) ) { alt36=1; } switch (alt36) { case 1 : // InternalMelange.g:1810:1: (lv_properties_4_0= rulePropertyMapping ) { // InternalMelange.g:1810:1: (lv_properties_4_0= rulePropertyMapping ) // InternalMelange.g:1811:3: lv_properties_4_0= rulePropertyMapping { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getClassMappingAccess().getPropertiesPropertyMappingParserRuleCall_3_1_0()); } pushFollow(FOLLOW_31); lv_properties_4_0=rulePropertyMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getClassMappingRule()); } add( current, "properties", lv_properties_4_0, "fr.inria.diverse.melange.Melange.PropertyMapping"); afterParserOrEnumRuleCall(); } } } break; default : break loop36; } } while (true); otherlv_5=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getClassMappingAccess().getRightCurlyBracketKeyword_3_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleClassMapping" // $ANTLR start "entryRulePropertyMapping" // InternalMelange.g:1839:1: entryRulePropertyMapping returns [EObject current=null] : iv_rulePropertyMapping= rulePropertyMapping EOF ; public final EObject entryRulePropertyMapping() throws RecognitionException { EObject current = null; EObject iv_rulePropertyMapping = null; try { // InternalMelange.g:1840:2: (iv_rulePropertyMapping= rulePropertyMapping EOF ) // InternalMelange.g:1841:2: iv_rulePropertyMapping= rulePropertyMapping EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getPropertyMappingRule()); } pushFollow(FOLLOW_1); iv_rulePropertyMapping=rulePropertyMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_rulePropertyMapping; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRulePropertyMapping" // $ANTLR start "rulePropertyMapping" // InternalMelange.g:1848:1: rulePropertyMapping returns [EObject current=null] : ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) ) ; public final EObject rulePropertyMapping() throws RecognitionException { EObject current = null; Token lv_from_0_0=null; Token otherlv_1=null; Token lv_to_2_0=null; enterRule(); try { // InternalMelange.g:1851:28: ( ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) ) ) // InternalMelange.g:1852:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) ) { // InternalMelange.g:1852:1: ( ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) ) // InternalMelange.g:1852:2: ( (lv_from_0_0= RULE_STRING ) ) otherlv_1= 'to' ( (lv_to_2_0= RULE_STRING ) ) { // InternalMelange.g:1852:2: ( (lv_from_0_0= RULE_STRING ) ) // InternalMelange.g:1853:1: (lv_from_0_0= RULE_STRING ) { // InternalMelange.g:1853:1: (lv_from_0_0= RULE_STRING ) // InternalMelange.g:1854:3: lv_from_0_0= RULE_STRING { lv_from_0_0=(Token)match(input,RULE_STRING,FOLLOW_30); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_from_0_0, grammarAccess.getPropertyMappingAccess().getFromSTRINGTerminalRuleCall_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getPropertyMappingRule()); } setWithLastConsumed( current, "from", lv_from_0_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } otherlv_1=(Token)match(input,38,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getPropertyMappingAccess().getToKeyword_1()); } // InternalMelange.g:1874:1: ( (lv_to_2_0= RULE_STRING ) ) // InternalMelange.g:1875:1: (lv_to_2_0= RULE_STRING ) { // InternalMelange.g:1875:1: (lv_to_2_0= RULE_STRING ) // InternalMelange.g:1876:3: lv_to_2_0= RULE_STRING { lv_to_2_0=(Token)match(input,RULE_STRING,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_to_2_0, grammarAccess.getPropertyMappingAccess().getToSTRINGTerminalRuleCall_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getPropertyMappingRule()); } setWithLastConsumed( current, "to", lv_to_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 "rulePropertyMapping" // $ANTLR start "entryRuleOperator" // InternalMelange.g:1900:1: entryRuleOperator returns [EObject current=null] : iv_ruleOperator= ruleOperator EOF ; public final EObject entryRuleOperator() throws RecognitionException { EObject current = null; EObject iv_ruleOperator = null; try { // InternalMelange.g:1901:2: (iv_ruleOperator= ruleOperator EOF ) // InternalMelange.g:1902:2: iv_ruleOperator= ruleOperator EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorRule()); } pushFollow(FOLLOW_1); iv_ruleOperator=ruleOperator(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOperator; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOperator" // $ANTLR start "ruleOperator" // InternalMelange.g:1909:1: ruleOperator returns [EObject current=null] : (this_Import_0= ruleImport | this_Merge_1= ruleMerge | this_Slice_2= ruleSlice | this_Weave_3= ruleWeave ) ; public final EObject ruleOperator() throws RecognitionException { EObject current = null; EObject this_Import_0 = null; EObject this_Merge_1 = null; EObject this_Slice_2 = null; EObject this_Weave_3 = null; enterRule(); try { // InternalMelange.g:1912:28: ( (this_Import_0= ruleImport | this_Merge_1= ruleMerge | this_Slice_2= ruleSlice | this_Weave_3= ruleWeave ) ) // InternalMelange.g:1913:1: (this_Import_0= ruleImport | this_Merge_1= ruleMerge | this_Slice_2= ruleSlice | this_Weave_3= ruleWeave ) { // InternalMelange.g:1913:1: (this_Import_0= ruleImport | this_Merge_1= ruleMerge | this_Slice_2= ruleSlice | this_Weave_3= ruleWeave ) int alt38=4; switch ( input.LA(1) ) { case 32: { alt38=1; } break; case 41: { alt38=2; } break; case 42: { alt38=3; } break; case 46: { alt38=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 38, 0, input); throw nvae; } switch (alt38) { case 1 : // InternalMelange.g:1914:5: this_Import_0= ruleImport { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorAccess().getImportParserRuleCall_0()); } pushFollow(FOLLOW_2); this_Import_0=ruleImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Import_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalMelange.g:1924:5: this_Merge_1= ruleMerge { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorAccess().getMergeParserRuleCall_1()); } pushFollow(FOLLOW_2); this_Merge_1=ruleMerge(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Merge_1; afterParserOrEnumRuleCall(); } } break; case 3 : // InternalMelange.g:1934:5: this_Slice_2= ruleSlice { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorAccess().getSliceParserRuleCall_2()); } pushFollow(FOLLOW_2); this_Slice_2=ruleSlice(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Slice_2; afterParserOrEnumRuleCall(); } } break; case 4 : // InternalMelange.g:1944:5: this_Weave_3= ruleWeave { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorAccess().getWeaveParserRuleCall_3()); } pushFollow(FOLLOW_2); this_Weave_3=ruleWeave(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Weave_3; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOperator" // $ANTLR start "entryRuleImport" // InternalMelange.g:1960:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ; public final EObject entryRuleImport() throws RecognitionException { EObject current = null; EObject iv_ruleImport = null; try { // InternalMelange.g:1961:2: (iv_ruleImport= ruleImport EOF ) // InternalMelange.g:1962:2: iv_ruleImport= ruleImport EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getImportRule()); } pushFollow(FOLLOW_1); iv_ruleImport=ruleImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleImport; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleImport" // $ANTLR start "ruleImport" // InternalMelange.g:1969:1: ruleImport returns [EObject current=null] : (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )? ) ; public final EObject ruleImport() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token lv_ecoreUri_1_0=null; Token otherlv_2=null; Token lv_genmodelUris_3_0=null; Token otherlv_4=null; Token lv_genmodelUris_5_0=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_9=null; EObject lv_mappingRules_8_0 = null; enterRule(); try { // InternalMelange.g:1972:28: ( (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )? ) ) // InternalMelange.g:1973:1: (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )? ) { // InternalMelange.g:1973:1: (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )? ) // InternalMelange.g:1973:3: otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )? { otherlv_0=(Token)match(input,32,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getImportAccess().getSyntaxKeyword_0()); } // InternalMelange.g:1977:1: ( (lv_ecoreUri_1_0= RULE_STRING ) ) // InternalMelange.g:1978:1: (lv_ecoreUri_1_0= RULE_STRING ) { // InternalMelange.g:1978:1: (lv_ecoreUri_1_0= RULE_STRING ) // InternalMelange.g:1979:3: lv_ecoreUri_1_0= RULE_STRING { lv_ecoreUri_1_0=(Token)match(input,RULE_STRING,FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_ecoreUri_1_0, grammarAccess.getImportAccess().getEcoreUriSTRINGTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getImportRule()); } setWithLastConsumed( current, "ecoreUri", lv_ecoreUri_1_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:1995:2: (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? int alt40=2; int LA40_0 = input.LA(1); if ( (LA40_0==39) ) { alt40=1; } switch (alt40) { case 1 : // InternalMelange.g:1995:4: otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) { otherlv_2=(Token)match(input,39,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getImportAccess().getWithGenmodelKeyword_2_0()); } // InternalMelange.g:1999:1: ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) // InternalMelange.g:1999:2: ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* { // InternalMelange.g:1999:2: ( (lv_genmodelUris_3_0= RULE_STRING ) ) // InternalMelange.g:2000:1: (lv_genmodelUris_3_0= RULE_STRING ) { // InternalMelange.g:2000:1: (lv_genmodelUris_3_0= RULE_STRING ) // InternalMelange.g:2001:3: lv_genmodelUris_3_0= RULE_STRING { lv_genmodelUris_3_0=(Token)match(input,RULE_STRING,FOLLOW_34); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_genmodelUris_3_0, grammarAccess.getImportAccess().getGenmodelUrisSTRINGTerminalRuleCall_2_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getImportRule()); } addWithLastConsumed( current, "genmodelUris", lv_genmodelUris_3_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:2017:2: (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* loop39: do { int alt39=2; int LA39_0 = input.LA(1); if ( (LA39_0==17) ) { alt39=1; } switch (alt39) { case 1 : // InternalMelange.g:2017:4: otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) { otherlv_4=(Token)match(input,17,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getImportAccess().getCommaKeyword_2_1_1_0()); } // InternalMelange.g:2021:1: ( (lv_genmodelUris_5_0= RULE_STRING ) ) // InternalMelange.g:2022:1: (lv_genmodelUris_5_0= RULE_STRING ) { // InternalMelange.g:2022:1: (lv_genmodelUris_5_0= RULE_STRING ) // InternalMelange.g:2023:3: lv_genmodelUris_5_0= RULE_STRING { lv_genmodelUris_5_0=(Token)match(input,RULE_STRING,FOLLOW_34); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_genmodelUris_5_0, grammarAccess.getImportAccess().getGenmodelUrisSTRINGTerminalRuleCall_2_1_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getImportRule()); } addWithLastConsumed( current, "genmodelUris", lv_genmodelUris_5_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; default : break loop39; } } while (true); } } break; } // InternalMelange.g:2039:7: (otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' )? int alt42=2; int LA42_0 = input.LA(1); if ( (LA42_0==40) ) { alt42=1; } switch (alt42) { case 1 : // InternalMelange.g:2039:9: otherlv_6= 'renaming' otherlv_7= '{' ( (lv_mappingRules_8_0= rulePackageMapping ) )* otherlv_9= '}' { otherlv_6=(Token)match(input,40,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getImportAccess().getRenamingKeyword_3_0()); } otherlv_7=(Token)match(input,20,FOLLOW_31); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getImportAccess().getLeftCurlyBracketKeyword_3_1()); } // InternalMelange.g:2047:1: ( (lv_mappingRules_8_0= rulePackageMapping ) )* loop41: do { int alt41=2; int LA41_0 = input.LA(1); if ( (LA41_0==RULE_STRING) ) { alt41=1; } switch (alt41) { case 1 : // InternalMelange.g:2048:1: (lv_mappingRules_8_0= rulePackageMapping ) { // InternalMelange.g:2048:1: (lv_mappingRules_8_0= rulePackageMapping ) // InternalMelange.g:2049:3: lv_mappingRules_8_0= rulePackageMapping { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getImportAccess().getMappingRulesPackageMappingParserRuleCall_3_2_0()); } pushFollow(FOLLOW_31); lv_mappingRules_8_0=rulePackageMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getImportRule()); } add( current, "mappingRules", lv_mappingRules_8_0, "fr.inria.diverse.melange.Melange.PackageMapping"); afterParserOrEnumRuleCall(); } } } break; default : break loop41; } } while (true); otherlv_9=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getImportAccess().getRightCurlyBracketKeyword_3_3()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleImport" // $ANTLR start "entryRuleExternalImport" // InternalMelange.g:2077:1: entryRuleExternalImport returns [EObject current=null] : iv_ruleExternalImport= ruleExternalImport EOF ; public final EObject entryRuleExternalImport() throws RecognitionException { EObject current = null; EObject iv_ruleExternalImport = null; try { // InternalMelange.g:2078:2: (iv_ruleExternalImport= ruleExternalImport EOF ) // InternalMelange.g:2079:2: iv_ruleExternalImport= ruleExternalImport EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExternalImportRule()); } pushFollow(FOLLOW_1); iv_ruleExternalImport=ruleExternalImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExternalImport; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExternalImport" // $ANTLR start "ruleExternalImport" // InternalMelange.g:2086:1: ruleExternalImport returns [EObject current=null] : (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? ) ; public final EObject ruleExternalImport() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token lv_ecoreUri_1_0=null; Token otherlv_2=null; Token lv_genmodelUris_3_0=null; Token otherlv_4=null; Token lv_genmodelUris_5_0=null; enterRule(); try { // InternalMelange.g:2089:28: ( (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? ) ) // InternalMelange.g:2090:1: (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? ) { // InternalMelange.g:2090:1: (otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? ) // InternalMelange.g:2090:3: otherlv_0= 'syntax' ( (lv_ecoreUri_1_0= RULE_STRING ) ) (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? { otherlv_0=(Token)match(input,32,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExternalImportAccess().getSyntaxKeyword_0()); } // InternalMelange.g:2094:1: ( (lv_ecoreUri_1_0= RULE_STRING ) ) // InternalMelange.g:2095:1: (lv_ecoreUri_1_0= RULE_STRING ) { // InternalMelange.g:2095:1: (lv_ecoreUri_1_0= RULE_STRING ) // InternalMelange.g:2096:3: lv_ecoreUri_1_0= RULE_STRING { lv_ecoreUri_1_0=(Token)match(input,RULE_STRING,FOLLOW_35); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_ecoreUri_1_0, grammarAccess.getExternalImportAccess().getEcoreUriSTRINGTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalImportRule()); } setWithLastConsumed( current, "ecoreUri", lv_ecoreUri_1_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:2112:2: (otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) )? int alt44=2; int LA44_0 = input.LA(1); if ( (LA44_0==39) ) { alt44=1; } switch (alt44) { case 1 : // InternalMelange.g:2112:4: otherlv_2= 'withGenmodel' ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) { otherlv_2=(Token)match(input,39,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getExternalImportAccess().getWithGenmodelKeyword_2_0()); } // InternalMelange.g:2116:1: ( ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* ) // InternalMelange.g:2116:2: ( (lv_genmodelUris_3_0= RULE_STRING ) ) (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* { // InternalMelange.g:2116:2: ( (lv_genmodelUris_3_0= RULE_STRING ) ) // InternalMelange.g:2117:1: (lv_genmodelUris_3_0= RULE_STRING ) { // InternalMelange.g:2117:1: (lv_genmodelUris_3_0= RULE_STRING ) // InternalMelange.g:2118:3: lv_genmodelUris_3_0= RULE_STRING { lv_genmodelUris_3_0=(Token)match(input,RULE_STRING,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_genmodelUris_3_0, grammarAccess.getExternalImportAccess().getGenmodelUrisSTRINGTerminalRuleCall_2_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalImportRule()); } addWithLastConsumed( current, "genmodelUris", lv_genmodelUris_3_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:2134:2: (otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) )* loop43: do { int alt43=2; int LA43_0 = input.LA(1); if ( (LA43_0==17) ) { alt43=1; } switch (alt43) { case 1 : // InternalMelange.g:2134:4: otherlv_4= ',' ( (lv_genmodelUris_5_0= RULE_STRING ) ) { otherlv_4=(Token)match(input,17,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getExternalImportAccess().getCommaKeyword_2_1_1_0()); } // InternalMelange.g:2138:1: ( (lv_genmodelUris_5_0= RULE_STRING ) ) // InternalMelange.g:2139:1: (lv_genmodelUris_5_0= RULE_STRING ) { // InternalMelange.g:2139:1: (lv_genmodelUris_5_0= RULE_STRING ) // InternalMelange.g:2140:3: lv_genmodelUris_5_0= RULE_STRING { lv_genmodelUris_5_0=(Token)match(input,RULE_STRING,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_genmodelUris_5_0, grammarAccess.getExternalImportAccess().getGenmodelUrisSTRINGTerminalRuleCall_2_1_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExternalImportRule()); } addWithLastConsumed( current, "genmodelUris", lv_genmodelUris_5_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; default : break loop43; } } while (true); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExternalImport" // $ANTLR start "entryRuleMerge" // InternalMelange.g:2164:1: entryRuleMerge returns [EObject current=null] : iv_ruleMerge= ruleMerge EOF ; public final EObject entryRuleMerge() throws RecognitionException { EObject current = null; EObject iv_ruleMerge = null; try { // InternalMelange.g:2165:2: (iv_ruleMerge= ruleMerge EOF ) // InternalMelange.g:2166:2: iv_ruleMerge= ruleMerge EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeRule()); } pushFollow(FOLLOW_1); iv_ruleMerge=ruleMerge(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMerge; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMerge" // $ANTLR start "ruleMerge" // InternalMelange.g:2173:1: ruleMerge returns [EObject current=null] : (otherlv_0= 'merge' ( ( ruleQualifiedName ) ) (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )? ) ; public final EObject ruleMerge() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_3=null; Token otherlv_5=null; EObject lv_mappingRules_4_0 = null; enterRule(); try { // InternalMelange.g:2176:28: ( (otherlv_0= 'merge' ( ( ruleQualifiedName ) ) (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )? ) ) // InternalMelange.g:2177:1: (otherlv_0= 'merge' ( ( ruleQualifiedName ) ) (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )? ) { // InternalMelange.g:2177:1: (otherlv_0= 'merge' ( ( ruleQualifiedName ) ) (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )? ) // InternalMelange.g:2177:3: otherlv_0= 'merge' ( ( ruleQualifiedName ) ) (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )? { otherlv_0=(Token)match(input,41,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getMergeAccess().getMergeKeyword_0()); } // InternalMelange.g:2181:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:2182:1: ( ruleQualifiedName ) { // InternalMelange.g:2182:1: ( ruleQualifiedName ) // InternalMelange.g:2183:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getMergeRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeAccess().getTargetLanguageLanguageCrossReference_1_0()); } pushFollow(FOLLOW_37); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:2196:2: (otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' )? int alt46=2; int LA46_0 = input.LA(1); if ( (LA46_0==40) ) { alt46=1; } switch (alt46) { case 1 : // InternalMelange.g:2196:4: otherlv_2= 'renaming' otherlv_3= '{' ( (lv_mappingRules_4_0= rulePackageMapping ) )* otherlv_5= '}' { otherlv_2=(Token)match(input,40,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getMergeAccess().getRenamingKeyword_2_0()); } otherlv_3=(Token)match(input,20,FOLLOW_31); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getMergeAccess().getLeftCurlyBracketKeyword_2_1()); } // InternalMelange.g:2204:1: ( (lv_mappingRules_4_0= rulePackageMapping ) )* loop45: do { int alt45=2; int LA45_0 = input.LA(1); if ( (LA45_0==RULE_STRING) ) { alt45=1; } switch (alt45) { case 1 : // InternalMelange.g:2205:1: (lv_mappingRules_4_0= rulePackageMapping ) { // InternalMelange.g:2205:1: (lv_mappingRules_4_0= rulePackageMapping ) // InternalMelange.g:2206:3: lv_mappingRules_4_0= rulePackageMapping { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeAccess().getMappingRulesPackageMappingParserRuleCall_2_2_0()); } pushFollow(FOLLOW_31); lv_mappingRules_4_0=rulePackageMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMergeRule()); } add( current, "mappingRules", lv_mappingRules_4_0, "fr.inria.diverse.melange.Melange.PackageMapping"); afterParserOrEnumRuleCall(); } } } break; default : break loop45; } } while (true); otherlv_5=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getMergeAccess().getRightCurlyBracketKeyword_2_3()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleMerge" // $ANTLR start "entryRuleSlice" // InternalMelange.g:2234:1: entryRuleSlice returns [EObject current=null] : iv_ruleSlice= ruleSlice EOF ; public final EObject entryRuleSlice() throws RecognitionException { EObject current = null; EObject iv_ruleSlice = null; try { // InternalMelange.g:2235:2: (iv_ruleSlice= ruleSlice EOF ) // InternalMelange.g:2236:2: iv_ruleSlice= ruleSlice EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSliceRule()); } pushFollow(FOLLOW_1); iv_ruleSlice=ruleSlice(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSlice; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSlice" // $ANTLR start "ruleSlice" // InternalMelange.g:2243:1: ruleSlice returns [EObject current=null] : (otherlv_0= 'slice' ( ( ruleQualifiedName ) ) otherlv_2= 'on' otherlv_3= '[' ( (lv_roots_4_0= RULE_STRING ) ) (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* otherlv_7= ']' (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )? ) ; public final EObject ruleSlice() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_3=null; Token lv_roots_4_0=null; Token otherlv_5=null; Token lv_roots_6_0=null; Token otherlv_7=null; Token otherlv_8=null; Token otherlv_9=null; Token otherlv_11=null; EObject lv_mappingRules_10_0 = null; enterRule(); try { // InternalMelange.g:2246:28: ( (otherlv_0= 'slice' ( ( ruleQualifiedName ) ) otherlv_2= 'on' otherlv_3= '[' ( (lv_roots_4_0= RULE_STRING ) ) (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* otherlv_7= ']' (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )? ) ) // InternalMelange.g:2247:1: (otherlv_0= 'slice' ( ( ruleQualifiedName ) ) otherlv_2= 'on' otherlv_3= '[' ( (lv_roots_4_0= RULE_STRING ) ) (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* otherlv_7= ']' (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )? ) { // InternalMelange.g:2247:1: (otherlv_0= 'slice' ( ( ruleQualifiedName ) ) otherlv_2= 'on' otherlv_3= '[' ( (lv_roots_4_0= RULE_STRING ) ) (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* otherlv_7= ']' (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )? ) // InternalMelange.g:2247:3: otherlv_0= 'slice' ( ( ruleQualifiedName ) ) otherlv_2= 'on' otherlv_3= '[' ( (lv_roots_4_0= RULE_STRING ) ) (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* otherlv_7= ']' (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )? { otherlv_0=(Token)match(input,42,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSliceAccess().getSliceKeyword_0()); } // InternalMelange.g:2251:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:2252:1: ( ruleQualifiedName ) { // InternalMelange.g:2252:1: ( ruleQualifiedName ) // InternalMelange.g:2253:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSliceRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSliceAccess().getTargetLanguageLanguageCrossReference_1_0()); } pushFollow(FOLLOW_38); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,43,FOLLOW_39); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getSliceAccess().getOnKeyword_2()); } otherlv_3=(Token)match(input,44,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSliceAccess().getLeftSquareBracketKeyword_3()); } // InternalMelange.g:2274:1: ( (lv_roots_4_0= RULE_STRING ) ) // InternalMelange.g:2275:1: (lv_roots_4_0= RULE_STRING ) { // InternalMelange.g:2275:1: (lv_roots_4_0= RULE_STRING ) // InternalMelange.g:2276:3: lv_roots_4_0= RULE_STRING { lv_roots_4_0=(Token)match(input,RULE_STRING,FOLLOW_40); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_roots_4_0, grammarAccess.getSliceAccess().getRootsSTRINGTerminalRuleCall_4_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSliceRule()); } addWithLastConsumed( current, "roots", lv_roots_4_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } // InternalMelange.g:2292:2: (otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) )* loop47: do { int alt47=2; int LA47_0 = input.LA(1); if ( (LA47_0==17) ) { alt47=1; } switch (alt47) { case 1 : // InternalMelange.g:2292:4: otherlv_5= ',' ( (lv_roots_6_0= RULE_STRING ) ) { otherlv_5=(Token)match(input,17,FOLLOW_14); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getSliceAccess().getCommaKeyword_5_0()); } // InternalMelange.g:2296:1: ( (lv_roots_6_0= RULE_STRING ) ) // InternalMelange.g:2297:1: (lv_roots_6_0= RULE_STRING ) { // InternalMelange.g:2297:1: (lv_roots_6_0= RULE_STRING ) // InternalMelange.g:2298:3: lv_roots_6_0= RULE_STRING { lv_roots_6_0=(Token)match(input,RULE_STRING,FOLLOW_40); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_roots_6_0, grammarAccess.getSliceAccess().getRootsSTRINGTerminalRuleCall_5_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSliceRule()); } addWithLastConsumed( current, "roots", lv_roots_6_0, "org.eclipse.xtext.xbase.Xtype.STRING"); } } } } break; default : break loop47; } } while (true); otherlv_7=(Token)match(input,45,FOLLOW_37); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getSliceAccess().getRightSquareBracketKeyword_6()); } // InternalMelange.g:2318:1: (otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' )? int alt49=2; int LA49_0 = input.LA(1); if ( (LA49_0==40) ) { alt49=1; } switch (alt49) { case 1 : // InternalMelange.g:2318:3: otherlv_8= 'renaming' otherlv_9= '{' ( (lv_mappingRules_10_0= rulePackageMapping ) )* otherlv_11= '}' { otherlv_8=(Token)match(input,40,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getSliceAccess().getRenamingKeyword_7_0()); } otherlv_9=(Token)match(input,20,FOLLOW_31); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getSliceAccess().getLeftCurlyBracketKeyword_7_1()); } // InternalMelange.g:2326:1: ( (lv_mappingRules_10_0= rulePackageMapping ) )* loop48: do { int alt48=2; int LA48_0 = input.LA(1); if ( (LA48_0==RULE_STRING) ) { alt48=1; } switch (alt48) { case 1 : // InternalMelange.g:2327:1: (lv_mappingRules_10_0= rulePackageMapping ) { // InternalMelange.g:2327:1: (lv_mappingRules_10_0= rulePackageMapping ) // InternalMelange.g:2328:3: lv_mappingRules_10_0= rulePackageMapping { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSliceAccess().getMappingRulesPackageMappingParserRuleCall_7_2_0()); } pushFollow(FOLLOW_31); lv_mappingRules_10_0=rulePackageMapping(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSliceRule()); } add( current, "mappingRules", lv_mappingRules_10_0, "fr.inria.diverse.melange.Melange.PackageMapping"); afterParserOrEnumRuleCall(); } } } break; default : break loop48; } } while (true); otherlv_11=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getSliceAccess().getRightCurlyBracketKeyword_7_3()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSlice" // $ANTLR start "entryRuleInherit" // InternalMelange.g:2356:1: entryRuleInherit returns [EObject current=null] : iv_ruleInherit= ruleInherit EOF ; public final EObject entryRuleInherit() throws RecognitionException { EObject current = null; EObject iv_ruleInherit = null; try { // InternalMelange.g:2357:2: (iv_ruleInherit= ruleInherit EOF ) // InternalMelange.g:2358:2: iv_ruleInherit= ruleInherit EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInheritRule()); } pushFollow(FOLLOW_1); iv_ruleInherit=ruleInherit(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleInherit; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleInherit" // $ANTLR start "ruleInherit" // InternalMelange.g:2365:1: ruleInherit returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; public final EObject ruleInherit() throws RecognitionException { EObject current = null; enterRule(); try { // InternalMelange.g:2368:28: ( ( ( ruleQualifiedName ) ) ) // InternalMelange.g:2369:1: ( ( ruleQualifiedName ) ) { // InternalMelange.g:2369:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:2370:1: ( ruleQualifiedName ) { // InternalMelange.g:2370:1: ( ruleQualifiedName ) // InternalMelange.g:2371:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getInheritRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInheritAccess().getTargetLanguageLanguageCrossReference_0()); } pushFollow(FOLLOW_2); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleInherit" // $ANTLR start "entryRuleWeave" // InternalMelange.g:2392:1: entryRuleWeave returns [EObject current=null] : iv_ruleWeave= ruleWeave EOF ; public final EObject entryRuleWeave() throws RecognitionException { EObject current = null; EObject iv_ruleWeave = null; try { // InternalMelange.g:2393:2: (iv_ruleWeave= ruleWeave EOF ) // InternalMelange.g:2394:2: iv_ruleWeave= ruleWeave EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getWeaveRule()); } pushFollow(FOLLOW_1); iv_ruleWeave=ruleWeave(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleWeave; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleWeave" // $ANTLR start "ruleWeave" // InternalMelange.g:2401:1: ruleWeave returns [EObject current=null] : (this_AspectTypeRef_0= ruleAspectTypeRef | this_AspectWildcard_1= ruleAspectWildcard ) ; public final EObject ruleWeave() throws RecognitionException { EObject current = null; EObject this_AspectTypeRef_0 = null; EObject this_AspectWildcard_1 = null; enterRule(); try { // InternalMelange.g:2404:28: ( (this_AspectTypeRef_0= ruleAspectTypeRef | this_AspectWildcard_1= ruleAspectWildcard ) ) // InternalMelange.g:2405:1: (this_AspectTypeRef_0= ruleAspectTypeRef | this_AspectWildcard_1= ruleAspectWildcard ) { // InternalMelange.g:2405:1: (this_AspectTypeRef_0= ruleAspectTypeRef | this_AspectWildcard_1= ruleAspectWildcard ) int alt50=2; alt50 = dfa50.predict(input); switch (alt50) { case 1 : // InternalMelange.g:2406:5: this_AspectTypeRef_0= ruleAspectTypeRef { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getWeaveAccess().getAspectTypeRefParserRuleCall_0()); } pushFollow(FOLLOW_2); this_AspectTypeRef_0=ruleAspectTypeRef(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_AspectTypeRef_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalMelange.g:2416:5: this_AspectWildcard_1= ruleAspectWildcard { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getWeaveAccess().getAspectWildcardParserRuleCall_1()); } pushFollow(FOLLOW_2); this_AspectWildcard_1=ruleAspectWildcard(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_AspectWildcard_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleWeave" // $ANTLR start "entryRuleAspectTypeRef" // InternalMelange.g:2432:1: entryRuleAspectTypeRef returns [EObject current=null] : iv_ruleAspectTypeRef= ruleAspectTypeRef EOF ; public final EObject entryRuleAspectTypeRef() throws RecognitionException { EObject current = null; EObject iv_ruleAspectTypeRef = null; try { // InternalMelange.g:2433:2: (iv_ruleAspectTypeRef= ruleAspectTypeRef EOF ) // InternalMelange.g:2434:2: iv_ruleAspectTypeRef= ruleAspectTypeRef EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAspectTypeRefRule()); } pushFollow(FOLLOW_1); iv_ruleAspectTypeRef=ruleAspectTypeRef(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleAspectTypeRef; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleAspectTypeRef" // $ANTLR start "ruleAspectTypeRef" // InternalMelange.g:2441:1: ruleAspectTypeRef returns [EObject current=null] : (otherlv_0= 'with' ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) ) ) ; public final EObject ruleAspectTypeRef() throws RecognitionException { EObject current = null; Token otherlv_0=null; EObject lv_aspectTypeRef_1_0 = null; enterRule(); try { // InternalMelange.g:2444:28: ( (otherlv_0= 'with' ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) ) ) ) // InternalMelange.g:2445:1: (otherlv_0= 'with' ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) ) ) { // InternalMelange.g:2445:1: (otherlv_0= 'with' ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) ) ) // InternalMelange.g:2445:3: otherlv_0= 'with' ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,46,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getAspectTypeRefAccess().getWithKeyword_0()); } // InternalMelange.g:2449:1: ( (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) ) // InternalMelange.g:2450:1: (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) { // InternalMelange.g:2450:1: (lv_aspectTypeRef_1_0= ruleJvmTypeReference ) // InternalMelange.g:2451:3: lv_aspectTypeRef_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAspectTypeRefAccess().getAspectTypeRefJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FOLLOW_2); lv_aspectTypeRef_1_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAspectTypeRefRule()); } set( current, "aspectTypeRef", lv_aspectTypeRef_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 "ruleAspectTypeRef" // $ANTLR start "entryRuleAspectWildcard" // InternalMelange.g:2475:1: entryRuleAspectWildcard returns [EObject current=null] : iv_ruleAspectWildcard= ruleAspectWildcard EOF ; public final EObject entryRuleAspectWildcard() throws RecognitionException { EObject current = null; EObject iv_ruleAspectWildcard = null; try { // InternalMelange.g:2476:2: (iv_ruleAspectWildcard= ruleAspectWildcard EOF ) // InternalMelange.g:2477:2: iv_ruleAspectWildcard= ruleAspectWildcard EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAspectWildcardRule()); } pushFollow(FOLLOW_1); iv_ruleAspectWildcard=ruleAspectWildcard(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleAspectWildcard; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleAspectWildcard" // $ANTLR start "ruleAspectWildcard" // InternalMelange.g:2484:1: ruleAspectWildcard returns [EObject current=null] : (otherlv_0= 'with' ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) ) ) ; public final EObject ruleAspectWildcard() throws RecognitionException { EObject current = null; Token otherlv_0=null; AntlrDatatypeRuleToken lv_aspectWildcardImport_1_0 = null; enterRule(); try { // InternalMelange.g:2487:28: ( (otherlv_0= 'with' ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) ) ) ) // InternalMelange.g:2488:1: (otherlv_0= 'with' ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) ) ) { // InternalMelange.g:2488:1: (otherlv_0= 'with' ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) ) ) // InternalMelange.g:2488:3: otherlv_0= 'with' ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) ) { otherlv_0=(Token)match(input,46,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getAspectWildcardAccess().getWithKeyword_0()); } // InternalMelange.g:2492:1: ( (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) ) // InternalMelange.g:2493:1: (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) { // InternalMelange.g:2493:1: (lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard ) // InternalMelange.g:2494:3: lv_aspectWildcardImport_1_0= ruleQualifiedNameWithWildcard { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAspectWildcardAccess().getAspectWildcardImportQualifiedNameWithWildcardParserRuleCall_1_0()); } pushFollow(FOLLOW_2); lv_aspectWildcardImport_1_0=ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAspectWildcardRule()); } set( current, "aspectWildcardImport", lv_aspectWildcardImport_1_0, "org.eclipse.xtext.xbase.Xtype.QualifiedNameWithWildcard"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleAspectWildcard" // $ANTLR start "entryRuleXExpression" // InternalMelange.g:2518:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ; public final EObject entryRuleXExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXExpression = null; try { // InternalMelange.g:2519:2: (iv_ruleXExpression= ruleXExpression EOF ) // InternalMelange.g:2520:2: iv_ruleXExpression= ruleXExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXExpression=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXExpression" // $ANTLR start "ruleXExpression" // InternalMelange.g:2527: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 { // InternalMelange.g:2530:28: (this_XAssignment_0= ruleXAssignment ) // InternalMelange.g:2532:5: this_XAssignment_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } pushFollow(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" // InternalMelange.g:2548:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ; public final EObject entryRuleXAssignment() throws RecognitionException { EObject current = null; EObject iv_ruleXAssignment = null; try { // InternalMelange.g:2549:2: (iv_ruleXAssignment= ruleXAssignment EOF ) // InternalMelange.g:2550:2: iv_ruleXAssignment= ruleXAssignment EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentRule()); } pushFollow(FOLLOW_1); iv_ruleXAssignment=ruleXAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAssignment; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAssignment" // $ANTLR start "ruleXAssignment" // InternalMelange.g:2557: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 { // InternalMelange.g:2560:28: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ) // InternalMelange.g:2561:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) { // InternalMelange.g:2561:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) int alt52=2; switch ( input.LA(1) ) { case RULE_ID: { int LA52_1 = input.LA(2); if ( (LA52_1==47) ) { alt52=1; } else if ( (LA52_1==EOF||(LA52_1>=RULE_STRING && LA52_1<=RULE_ID)||LA52_1==17||LA52_1==20||LA52_1==30||(LA52_1>=35 && LA52_1<=36)||(LA52_1>=44 && LA52_1<=45)||(LA52_1>=48 && LA52_1<=82)||(LA52_1>=84 && LA52_1<=111)) ) { alt52=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 52, 1, input); throw nvae; } } break; case 96: { int LA52_2 = input.LA(2); if ( (LA52_2==47) ) { alt52=1; } else if ( (LA52_2==EOF||(LA52_2>=RULE_STRING && LA52_2<=RULE_ID)||LA52_2==17||LA52_2==20||LA52_2==30||(LA52_2>=35 && LA52_2<=36)||(LA52_2>=44 && LA52_2<=45)||(LA52_2>=48 && LA52_2<=82)||(LA52_2>=84 && LA52_2<=111)) ) { alt52=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 52, 2, input); throw nvae; } } break; case 97: { int LA52_3 = input.LA(2); if ( (LA52_3==47) ) { alt52=1; } else if ( (LA52_3==EOF||(LA52_3>=RULE_STRING && LA52_3<=RULE_ID)||LA52_3==17||LA52_3==20||LA52_3==30||(LA52_3>=35 && LA52_3<=36)||(LA52_3>=44 && LA52_3<=45)||(LA52_3>=48 && LA52_3<=82)||(LA52_3>=84 && LA52_3<=111)) ) { alt52=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 52, 3, input); throw nvae; } } break; case 98: { int LA52_4 = input.LA(2); if ( (LA52_4==47) ) { alt52=1; } else if ( (LA52_4==EOF||(LA52_4>=RULE_STRING && LA52_4<=RULE_ID)||LA52_4==17||LA52_4==20||LA52_4==30||(LA52_4>=35 && LA52_4<=36)||(LA52_4>=44 && LA52_4<=45)||(LA52_4>=48 && LA52_4<=82)||(LA52_4>=84 && LA52_4<=111)) ) { alt52=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 52, 4, input); throw nvae; } } break; case 99: { int LA52_5 = input.LA(2); if ( (LA52_5==47) ) { alt52=1; } else if ( (LA52_5==EOF||(LA52_5>=RULE_STRING && LA52_5<=RULE_ID)||LA52_5==17||LA52_5==20||LA52_5==30||(LA52_5>=35 && LA52_5<=36)||(LA52_5>=44 && LA52_5<=45)||(LA52_5>=48 && LA52_5<=82)||(LA52_5>=84 && LA52_5<=111)) ) { alt52=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 52, 5, input); throw nvae; } } break; case RULE_STRING: case RULE_HEX: case RULE_INT: case RULE_DECIMAL: case 20: case 35: case 44: case 53: case 69: case 70: case 75: case 82: case 85: case 87: case 91: case 92: case 93: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 110: { alt52=2; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 52, 0, input); throw nvae; } switch (alt52) { case 1 : // InternalMelange.g:2561:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) { // InternalMelange.g:2561:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) // InternalMelange.g:2561:3: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) { // InternalMelange.g:2561:3: () // InternalMelange.g:2562:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), current); } } // InternalMelange.g:2567:2: ( ( ruleFeatureCallID ) ) // InternalMelange.g:2568:1: ( ruleFeatureCallID ) { // InternalMelange.g:2568:1: ( ruleFeatureCallID ) // InternalMelange.g:2569: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(FOLLOW_41); ruleFeatureCallID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); } pushFollow(FOLLOW_42); ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } // InternalMelange.g:2590:1: ( (lv_value_3_0= ruleXAssignment ) ) // InternalMelange.g:2591:1: (lv_value_3_0= ruleXAssignment ) { // InternalMelange.g:2591:1: (lv_value_3_0= ruleXAssignment ) // InternalMelange.g:2592:3: lv_value_3_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); } pushFollow(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 : // InternalMelange.g:2609:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) { // InternalMelange.g:2609:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) // InternalMelange.g:2610:5: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); } pushFollow(FOLLOW_43); this_XOrExpression_4=ruleXOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XOrExpression_4; afterParserOrEnumRuleCall(); } // InternalMelange.g:2618:1: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? int alt51=2; alt51 = dfa51.predict(input); switch (alt51) { case 1 : // InternalMelange.g:2618:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) { // InternalMelange.g:2618:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) // InternalMelange.g:2618:3: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) { // InternalMelange.g:2623:6: ( () ( ( ruleOpMultiAssign ) ) ) // InternalMelange.g:2623:7: () ( ( ruleOpMultiAssign ) ) { // InternalMelange.g:2623:7: () // InternalMelange.g:2624:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), current); } } // InternalMelange.g:2629:2: ( ( ruleOpMultiAssign ) ) // InternalMelange.g:2630:1: ( ruleOpMultiAssign ) { // InternalMelange.g:2630:1: ( ruleOpMultiAssign ) // InternalMelange.g:2631: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(FOLLOW_42); ruleOpMultiAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalMelange.g:2644:4: ( (lv_rightOperand_7_0= ruleXAssignment ) ) // InternalMelange.g:2645:1: (lv_rightOperand_7_0= ruleXAssignment ) { // InternalMelange.g:2645:1: (lv_rightOperand_7_0= ruleXAssignment ) // InternalMelange.g:2646:3: lv_rightOperand_7_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); } pushFollow(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" // InternalMelange.g:2670:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ; public final String entryRuleOpSingleAssign() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null; try { // InternalMelange.g:2671:2: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ) // InternalMelange.g:2672:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpSingleAssignRule()); } pushFollow(FOLLOW_1); iv_ruleOpSingleAssign=ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpSingleAssign.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpSingleAssign" // $ANTLR start "ruleOpSingleAssign" // InternalMelange.g:2679:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ; public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalMelange.g:2682:28: (kw= '=' ) // InternalMelange.g:2684:2: kw= '=' { kw=(Token)match(input,47,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" // InternalMelange.g:2697:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ; public final String entryRuleOpMultiAssign() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null; try { // InternalMelange.g:2698:2: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ) // InternalMelange.g:2699:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpMultiAssignRule()); } pushFollow(FOLLOW_1); iv_ruleOpMultiAssign=ruleOpMultiAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpMultiAssign.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpMultiAssign" // $ANTLR start "ruleOpMultiAssign" // InternalMelange.g:2706: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 { // InternalMelange.g:2709:28: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ) // InternalMelange.g:2710:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) { // InternalMelange.g:2710:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) int alt54=7; switch ( input.LA(1) ) { case 48: { alt54=1; } break; case 49: { alt54=2; } break; case 50: { alt54=3; } break; case 51: { alt54=4; } break; case 52: { alt54=5; } break; case 53: { alt54=6; } break; case 54: { alt54=7; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 54, 0, input); throw nvae; } switch (alt54) { case 1 : // InternalMelange.g:2711:2: kw= '+=' { kw=(Token)match(input,48,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); } } break; case 2 : // InternalMelange.g:2718:2: kw= '-=' { kw=(Token)match(input,49,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); } } break; case 3 : // InternalMelange.g:2725:2: kw= '*=' { kw=(Token)match(input,50,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); } } break; case 4 : // InternalMelange.g:2732:2: kw= '/=' { kw=(Token)match(input,51,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); } } break; case 5 : // InternalMelange.g:2739:2: kw= '%=' { kw=(Token)match(input,52,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); } } break; case 6 : // InternalMelange.g:2745:6: (kw= '<' kw= '<' kw= '=' ) { // InternalMelange.g:2745:6: (kw= '<' kw= '<' kw= '=' ) // InternalMelange.g:2746:2: kw= '<' kw= '<' kw= '=' { kw=(Token)match(input,53,FOLLOW_44); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); } kw=(Token)match(input,53,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); } kw=(Token)match(input,47,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); } } } break; case 7 : // InternalMelange.g:2764:6: (kw= '>' (kw= '>' )? kw= '>=' ) { // InternalMelange.g:2764:6: (kw= '>' (kw= '>' )? kw= '>=' ) // InternalMelange.g:2765:2: kw= '>' (kw= '>' )? kw= '>=' { kw=(Token)match(input,54,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); } // InternalMelange.g:2770:1: (kw= '>' )? int alt53=2; int LA53_0 = input.LA(1); if ( (LA53_0==54) ) { alt53=1; } switch (alt53) { case 1 : // InternalMelange.g:2771:2: kw= '>' { kw=(Token)match(input,54,FOLLOW_46); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); } } break; } kw=(Token)match(input,55,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" // InternalMelange.g:2790:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ; public final EObject entryRuleXOrExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXOrExpression = null; try { // InternalMelange.g:2791:2: (iv_ruleXOrExpression= ruleXOrExpression EOF ) // InternalMelange.g:2792:2: iv_ruleXOrExpression= ruleXOrExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXOrExpression=ruleXOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXOrExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXOrExpression" // $ANTLR start "ruleXOrExpression" // InternalMelange.g:2799: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 { // InternalMelange.g:2802:28: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ) // InternalMelange.g:2803:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) { // InternalMelange.g:2803:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) // InternalMelange.g:2804:5: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); } pushFollow(FOLLOW_47); this_XAndExpression_0=ruleXAndExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAndExpression_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:2812:1: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* loop55: do { int alt55=2; int LA55_0 = input.LA(1); if ( (LA55_0==56) ) { int LA55_2 = input.LA(2); if ( (synpred6_InternalMelange()) ) { alt55=1; } } switch (alt55) { case 1 : // InternalMelange.g:2812:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) { // InternalMelange.g:2812:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) // InternalMelange.g:2812:3: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) { // InternalMelange.g:2817:6: ( () ( ( ruleOpOr ) ) ) // InternalMelange.g:2817:7: () ( ( ruleOpOr ) ) { // InternalMelange.g:2817:7: () // InternalMelange.g:2818:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalMelange.g:2823:2: ( ( ruleOpOr ) ) // InternalMelange.g:2824:1: ( ruleOpOr ) { // InternalMelange.g:2824:1: ( ruleOpOr ) // InternalMelange.g:2825: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(FOLLOW_42); ruleOpOr(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalMelange.g:2838:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) ) // InternalMelange.g:2839:1: (lv_rightOperand_3_0= ruleXAndExpression ) { // InternalMelange.g:2839:1: (lv_rightOperand_3_0= ruleXAndExpression ) // InternalMelange.g:2840:3: lv_rightOperand_3_0= ruleXAndExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_47); 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 loop55; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXOrExpression" // $ANTLR start "entryRuleOpOr" // InternalMelange.g:2864:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ; public final String entryRuleOpOr() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpOr = null; try { // InternalMelange.g:2865:2: (iv_ruleOpOr= ruleOpOr EOF ) // InternalMelange.g:2866:2: iv_ruleOpOr= ruleOpOr EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpOrRule()); } pushFollow(FOLLOW_1); iv_ruleOpOr=ruleOpOr(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpOr.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpOr" // $ANTLR start "ruleOpOr" // InternalMelange.g:2873:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ; public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalMelange.g:2876:28: (kw= '||' ) // InternalMelange.g:2878:2: kw= '||' { kw=(Token)match(input,56,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" // InternalMelange.g:2891:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ; public final EObject entryRuleXAndExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXAndExpression = null; try { // InternalMelange.g:2892:2: (iv_ruleXAndExpression= ruleXAndExpression EOF ) // InternalMelange.g:2893:2: iv_ruleXAndExpression= ruleXAndExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXAndExpression=ruleXAndExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAndExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAndExpression" // $ANTLR start "ruleXAndExpression" // InternalMelange.g:2900: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 { // InternalMelange.g:2903:28: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ) // InternalMelange.g:2904:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) { // InternalMelange.g:2904:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) // InternalMelange.g:2905:5: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); } pushFollow(FOLLOW_48); this_XEqualityExpression_0=ruleXEqualityExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XEqualityExpression_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:2913:1: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* loop56: do { int alt56=2; int LA56_0 = input.LA(1); if ( (LA56_0==57) ) { int LA56_2 = input.LA(2); if ( (synpred7_InternalMelange()) ) { alt56=1; } } switch (alt56) { case 1 : // InternalMelange.g:2913:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) { // InternalMelange.g:2913:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) // InternalMelange.g:2913:3: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) { // InternalMelange.g:2918:6: ( () ( ( ruleOpAnd ) ) ) // InternalMelange.g:2918:7: () ( ( ruleOpAnd ) ) { // InternalMelange.g:2918:7: () // InternalMelange.g:2919:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalMelange.g:2924:2: ( ( ruleOpAnd ) ) // InternalMelange.g:2925:1: ( ruleOpAnd ) { // InternalMelange.g:2925:1: ( ruleOpAnd ) // InternalMelange.g:2926: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(FOLLOW_42); ruleOpAnd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalMelange.g:2939:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) // InternalMelange.g:2940:1: (lv_rightOperand_3_0= ruleXEqualityExpression ) { // InternalMelange.g:2940:1: (lv_rightOperand_3_0= ruleXEqualityExpression ) // InternalMelange.g:2941:3: lv_rightOperand_3_0= ruleXEqualityExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_48); 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 loop56; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAndExpression" // $ANTLR start "entryRuleOpAnd" // InternalMelange.g:2965:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ; public final String entryRuleOpAnd() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpAnd = null; try { // InternalMelange.g:2966:2: (iv_ruleOpAnd= ruleOpAnd EOF ) // InternalMelange.g:2967:2: iv_ruleOpAnd= ruleOpAnd EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpAndRule()); } pushFollow(FOLLOW_1); iv_ruleOpAnd=ruleOpAnd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpAnd.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpAnd" // $ANTLR start "ruleOpAnd" // InternalMelange.g:2974:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ; public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalMelange.g:2977:28: (kw= '&&' ) // InternalMelange.g:2979:2: kw= '&&' { kw=(Token)match(input,57,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" // InternalMelange.g:2992:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ; public final EObject entryRuleXEqualityExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXEqualityExpression = null; try { // InternalMelange.g:2993:2: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ) // InternalMelange.g:2994:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXEqualityExpression=ruleXEqualityExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXEqualityExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXEqualityExpression" // $ANTLR start "ruleXEqualityExpression" // InternalMelange.g:3001: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 { // InternalMelange.g:3004:28: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ) // InternalMelange.g:3005:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) { // InternalMelange.g:3005:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) // InternalMelange.g:3006:5: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); } pushFollow(FOLLOW_49); this_XRelationalExpression_0=ruleXRelationalExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XRelationalExpression_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:3014:1: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* loop57: do { int alt57=2; switch ( input.LA(1) ) { case 58: { int LA57_2 = input.LA(2); if ( (synpred8_InternalMelange()) ) { alt57=1; } } break; case 59: { int LA57_3 = input.LA(2); if ( (synpred8_InternalMelange()) ) { alt57=1; } } break; case 60: { int LA57_4 = input.LA(2); if ( (synpred8_InternalMelange()) ) { alt57=1; } } break; case 61: { int LA57_5 = input.LA(2); if ( (synpred8_InternalMelange()) ) { alt57=1; } } break; } switch (alt57) { case 1 : // InternalMelange.g:3014:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) { // InternalMelange.g:3014:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) // InternalMelange.g:3014:3: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) { // InternalMelange.g:3019:6: ( () ( ( ruleOpEquality ) ) ) // InternalMelange.g:3019:7: () ( ( ruleOpEquality ) ) { // InternalMelange.g:3019:7: () // InternalMelange.g:3020:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalMelange.g:3025:2: ( ( ruleOpEquality ) ) // InternalMelange.g:3026:1: ( ruleOpEquality ) { // InternalMelange.g:3026:1: ( ruleOpEquality ) // InternalMelange.g:3027: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(FOLLOW_42); ruleOpEquality(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalMelange.g:3040:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) // InternalMelange.g:3041:1: (lv_rightOperand_3_0= ruleXRelationalExpression ) { // InternalMelange.g:3041:1: (lv_rightOperand_3_0= ruleXRelationalExpression ) // InternalMelange.g:3042:3: lv_rightOperand_3_0= ruleXRelationalExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_49); 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 loop57; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXEqualityExpression" // $ANTLR start "entryRuleOpEquality" // InternalMelange.g:3066:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ; public final String entryRuleOpEquality() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpEquality = null; try { // InternalMelange.g:3067:2: (iv_ruleOpEquality= ruleOpEquality EOF ) // InternalMelange.g:3068:2: iv_ruleOpEquality= ruleOpEquality EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpEqualityRule()); } pushFollow(FOLLOW_1); iv_ruleOpEquality=ruleOpEquality(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpEquality.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpEquality" // $ANTLR start "ruleOpEquality" // InternalMelange.g:3075: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 { // InternalMelange.g:3078:28: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ) // InternalMelange.g:3079:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) { // InternalMelange.g:3079:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) int alt58=4; switch ( input.LA(1) ) { case 58: { alt58=1; } break; case 59: { alt58=2; } break; case 60: { alt58=3; } break; case 61: { alt58=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 58, 0, input); throw nvae; } switch (alt58) { case 1 : // InternalMelange.g:3080:2: kw= '==' { kw=(Token)match(input,58,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); } } break; case 2 : // InternalMelange.g:3087:2: kw= '!=' { kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); } } break; case 3 : // InternalMelange.g:3094:2: kw= '===' { kw=(Token)match(input,60,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); } } break; case 4 : // InternalMelange.g:3101:2: kw= '!==' { kw=(Token)match(input,61,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" // InternalMelange.g:3114:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ; public final EObject entryRuleXRelationalExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXRelationalExpression = null; try { // InternalMelange.g:3115:2: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ) // InternalMelange.g:3116:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXRelationalExpression=ruleXRelationalExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXRelationalExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXRelationalExpression" // $ANTLR start "ruleXRelationalExpression" // InternalMelange.g:3123: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 { // InternalMelange.g:3126:28: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ) // InternalMelange.g:3127:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) { // InternalMelange.g:3127:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) // InternalMelange.g:3128: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(FOLLOW_50); this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XOtherOperatorExpression_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:3136:1: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* loop59: do { int alt59=3; switch ( input.LA(1) ) { case 53: { int LA59_2 = input.LA(2); if ( (synpred10_InternalMelange()) ) { alt59=2; } } break; case 54: { int LA59_3 = input.LA(2); if ( (synpred10_InternalMelange()) ) { alt59=2; } } break; case 62: { int LA59_4 = input.LA(2); if ( (synpred9_InternalMelange()) ) { alt59=1; } } break; case 55: { int LA59_5 = input.LA(2); if ( (synpred10_InternalMelange()) ) { alt59=2; } } break; } switch (alt59) { case 1 : // InternalMelange.g:3136:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) { // InternalMelange.g:3136:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) // InternalMelange.g:3136:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) { // InternalMelange.g:3136:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) // InternalMelange.g:3136:4: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) { // InternalMelange.g:3138:5: ( () otherlv_2= 'instanceof' ) // InternalMelange.g:3138:6: () otherlv_2= 'instanceof' { // InternalMelange.g:3138:6: () // InternalMelange.g:3139:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(), current); } } otherlv_2=(Token)match(input,62,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); } } } // InternalMelange.g:3148:3: ( (lv_type_3_0= ruleJvmTypeReference ) ) // InternalMelange.g:3149:1: (lv_type_3_0= ruleJvmTypeReference ) { // InternalMelange.g:3149:1: (lv_type_3_0= ruleJvmTypeReference ) // InternalMelange.g:3150:3: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); } pushFollow(FOLLOW_50); 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 : // InternalMelange.g:3167:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) { // InternalMelange.g:3167:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) // InternalMelange.g:3167:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) { // InternalMelange.g:3167:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) // InternalMelange.g:3167:8: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) { // InternalMelange.g:3172:6: ( () ( ( ruleOpCompare ) ) ) // InternalMelange.g:3172:7: () ( ( ruleOpCompare ) ) { // InternalMelange.g:3172:7: () // InternalMelange.g:3173:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), current); } } // InternalMelange.g:3178:2: ( ( ruleOpCompare ) ) // InternalMelange.g:3179:1: ( ruleOpCompare ) { // InternalMelange.g:3179:1: ( ruleOpCompare ) // InternalMelange.g:3180: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(FOLLOW_42); ruleOpCompare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalMelange.g:3193:4: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) // InternalMelange.g:3194:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) { // InternalMelange.g:3194:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) // InternalMelange.g:3195:3: lv_rightOperand_6_0= ruleXOtherOperatorExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); } pushFollow(FOLLOW_50); 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 loop59; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXRelationalExpression" // $ANTLR start "entryRuleOpCompare" // InternalMelange.g:3219:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ; public final String entryRuleOpCompare() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpCompare = null; try { // InternalMelange.g:3220:2: (iv_ruleOpCompare= ruleOpCompare EOF ) // InternalMelange.g:3221:2: iv_ruleOpCompare= ruleOpCompare EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpCompareRule()); } pushFollow(FOLLOW_1); iv_ruleOpCompare=ruleOpCompare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpCompare.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpCompare" // $ANTLR start "ruleOpCompare" // InternalMelange.g:3228: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 { // InternalMelange.g:3231:28: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ) // InternalMelange.g:3232:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) { // InternalMelange.g:3232:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) int alt60=4; switch ( input.LA(1) ) { case 55: { alt60=1; } break; case 53: { int LA60_2 = input.LA(2); if ( (LA60_2==EOF||(LA60_2>=RULE_STRING && LA60_2<=RULE_ID)||LA60_2==20||LA60_2==35||LA60_2==44||LA60_2==53||(LA60_2>=69 && LA60_2<=70)||LA60_2==75||LA60_2==82||LA60_2==85||LA60_2==87||(LA60_2>=91 && LA60_2<=93)||(LA60_2>=96 && LA60_2<=108)||LA60_2==110) ) { alt60=4; } else if ( (LA60_2==47) ) { alt60=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 60, 2, input); throw nvae; } } break; case 54: { alt60=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 60, 0, input); throw nvae; } switch (alt60) { case 1 : // InternalMelange.g:3233:2: kw= '>=' { kw=(Token)match(input,55,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); } } break; case 2 : // InternalMelange.g:3239:6: (kw= '<' kw= '=' ) { // InternalMelange.g:3239:6: (kw= '<' kw= '=' ) // InternalMelange.g:3240:2: kw= '<' kw= '=' { kw=(Token)match(input,53,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); } kw=(Token)match(input,47,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); } } } break; case 3 : // InternalMelange.g:3253:2: kw= '>' { kw=(Token)match(input,54,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); } } break; case 4 : // InternalMelange.g:3260:2: kw= '<' { kw=(Token)match(input,53,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" // InternalMelange.g:3273:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ; public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXOtherOperatorExpression = null; try { // InternalMelange.g:3274:2: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ) // InternalMelange.g:3275:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXOtherOperatorExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXOtherOperatorExpression" // $ANTLR start "ruleXOtherOperatorExpression" // InternalMelange.g:3282: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 { // InternalMelange.g:3285:28: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ) // InternalMelange.g:3286:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) { // InternalMelange.g:3286:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) // InternalMelange.g:3287:5: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); } pushFollow(FOLLOW_51); this_XAdditiveExpression_0=ruleXAdditiveExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAdditiveExpression_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:3295:1: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* loop61: do { int alt61=2; alt61 = dfa61.predict(input); switch (alt61) { case 1 : // InternalMelange.g:3295:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) { // InternalMelange.g:3295:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) // InternalMelange.g:3295:3: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) { // InternalMelange.g:3300:6: ( () ( ( ruleOpOther ) ) ) // InternalMelange.g:3300:7: () ( ( ruleOpOther ) ) { // InternalMelange.g:3300:7: () // InternalMelange.g:3301:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalMelange.g:3306:2: ( ( ruleOpOther ) ) // InternalMelange.g:3307:1: ( ruleOpOther ) { // InternalMelange.g:3307:1: ( ruleOpOther ) // InternalMelange.g:3308: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(FOLLOW_42); ruleOpOther(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalMelange.g:3321:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) // InternalMelange.g:3322:1: (lv_rightOperand_3_0= ruleXAdditiveExpression ) { // InternalMelange.g:3322:1: (lv_rightOperand_3_0= ruleXAdditiveExpression ) // InternalMelange.g:3323:3: lv_rightOperand_3_0= ruleXAdditiveExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_51); 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 loop61; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXOtherOperatorExpression" // $ANTLR start "entryRuleOpOther" // InternalMelange.g:3347:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ; public final String entryRuleOpOther() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpOther = null; try { // InternalMelange.g:3348:2: (iv_ruleOpOther= ruleOpOther EOF ) // InternalMelange.g:3349:2: iv_ruleOpOther= ruleOpOther EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpOtherRule()); } pushFollow(FOLLOW_1); iv_ruleOpOther=ruleOpOther(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpOther.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpOther" // $ANTLR start "ruleOpOther" // InternalMelange.g:3356: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 { // InternalMelange.g:3359:28: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ) // InternalMelange.g:3360:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) { // InternalMelange.g:3360:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) int alt64=9; alt64 = dfa64.predict(input); switch (alt64) { case 1 : // InternalMelange.g:3361:2: kw= '->' { kw=(Token)match(input,63,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); } } break; case 2 : // InternalMelange.g:3368:2: kw= '..<' { kw=(Token)match(input,64,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); } } break; case 3 : // InternalMelange.g:3374:6: (kw= '>' kw= '..' ) { // InternalMelange.g:3374:6: (kw= '>' kw= '..' ) // InternalMelange.g:3375:2: kw= '>' kw= '..' { kw=(Token)match(input,54,FOLLOW_52); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); } kw=(Token)match(input,65,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); } } } break; case 4 : // InternalMelange.g:3388:2: kw= '..' { kw=(Token)match(input,65,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); } } break; case 5 : // InternalMelange.g:3395:2: kw= '=>' { kw=(Token)match(input,66,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); } } break; case 6 : // InternalMelange.g:3401:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) { // InternalMelange.g:3401:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) // InternalMelange.g:3402:2: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) { kw=(Token)match(input,54,FOLLOW_53); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); } // InternalMelange.g:3407:1: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) int alt62=2; int LA62_0 = input.LA(1); if ( (LA62_0==54) ) { int LA62_1 = input.LA(2); if ( (LA62_1==EOF||(LA62_1>=RULE_STRING && LA62_1<=RULE_ID)||LA62_1==20||LA62_1==35||LA62_1==44||LA62_1==53||(LA62_1>=69 && LA62_1<=70)||LA62_1==75||LA62_1==82||LA62_1==85||LA62_1==87||(LA62_1>=91 && LA62_1<=93)||(LA62_1>=96 && LA62_1<=108)||LA62_1==110) ) { alt62=2; } else if ( (LA62_1==54) && (synpred12_InternalMelange())) { alt62=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 62, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 62, 0, input); throw nvae; } switch (alt62) { case 1 : // InternalMelange.g:3407:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) { // InternalMelange.g:3407:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) // InternalMelange.g:3407:3: ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) { // InternalMelange.g:3411:5: (kw= '>' kw= '>' ) // InternalMelange.g:3412:2: kw= '>' kw= '>' { kw=(Token)match(input,54,FOLLOW_53); 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,54,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 : // InternalMelange.g:3425:2: kw= '>' { kw=(Token)match(input,54,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 : // InternalMelange.g:3431:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) { // InternalMelange.g:3431:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) // InternalMelange.g:3432:2: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) { kw=(Token)match(input,53,FOLLOW_54); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); } // InternalMelange.g:3437:1: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) int alt63=3; int LA63_0 = input.LA(1); if ( (LA63_0==53) ) { int LA63_1 = input.LA(2); if ( (synpred13_InternalMelange()) ) { alt63=1; } else if ( (true) ) { alt63=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 63, 1, input); throw nvae; } } else if ( (LA63_0==66) ) { alt63=3; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 63, 0, input); throw nvae; } switch (alt63) { case 1 : // InternalMelange.g:3437:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) { // InternalMelange.g:3437:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) // InternalMelange.g:3437:3: ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) { // InternalMelange.g:3441:5: (kw= '<' kw= '<' ) // InternalMelange.g:3442:2: kw= '<' kw= '<' { kw=(Token)match(input,53,FOLLOW_44); 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,53,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 : // InternalMelange.g:3455:2: kw= '<' { kw=(Token)match(input,53,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 : // InternalMelange.g:3462:2: kw= '=>' { kw=(Token)match(input,66,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 : // InternalMelange.g:3469:2: kw= '<>' { kw=(Token)match(input,67,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); } } break; case 9 : // InternalMelange.g:3476:2: kw= '?:' { kw=(Token)match(input,68,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" // InternalMelange.g:3489:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ; public final EObject entryRuleXAdditiveExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXAdditiveExpression = null; try { // InternalMelange.g:3490:2: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ) // InternalMelange.g:3491:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXAdditiveExpression=ruleXAdditiveExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAdditiveExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAdditiveExpression" // $ANTLR start "ruleXAdditiveExpression" // InternalMelange.g:3498: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 { // InternalMelange.g:3501:28: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ) // InternalMelange.g:3502:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) { // InternalMelange.g:3502:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) // InternalMelange.g:3503:5: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); } pushFollow(FOLLOW_55); this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XMultiplicativeExpression_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:3511:1: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* loop65: do { int alt65=2; int LA65_0 = input.LA(1); if ( (LA65_0==69) ) { int LA65_2 = input.LA(2); if ( (synpred14_InternalMelange()) ) { alt65=1; } } else if ( (LA65_0==70) ) { int LA65_3 = input.LA(2); if ( (synpred14_InternalMelange()) ) { alt65=1; } } switch (alt65) { case 1 : // InternalMelange.g:3511:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) { // InternalMelange.g:3511:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) // InternalMelange.g:3511:3: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) { // InternalMelange.g:3516:6: ( () ( ( ruleOpAdd ) ) ) // InternalMelange.g:3516:7: () ( ( ruleOpAdd ) ) { // InternalMelange.g:3516:7: () // InternalMelange.g:3517:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalMelange.g:3522:2: ( ( ruleOpAdd ) ) // InternalMelange.g:3523:1: ( ruleOpAdd ) { // InternalMelange.g:3523:1: ( ruleOpAdd ) // InternalMelange.g:3524: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(FOLLOW_42); ruleOpAdd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalMelange.g:3537:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) // InternalMelange.g:3538:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) { // InternalMelange.g:3538:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) // InternalMelange.g:3539:3: lv_rightOperand_3_0= ruleXMultiplicativeExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_55); 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 loop65; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAdditiveExpression" // $ANTLR start "entryRuleOpAdd" // InternalMelange.g:3563:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ; public final String entryRuleOpAdd() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpAdd = null; try { // InternalMelange.g:3564:2: (iv_ruleOpAdd= ruleOpAdd EOF ) // InternalMelange.g:3565:2: iv_ruleOpAdd= ruleOpAdd EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpAddRule()); } pushFollow(FOLLOW_1); iv_ruleOpAdd=ruleOpAdd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpAdd.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpAdd" // $ANTLR start "ruleOpAdd" // InternalMelange.g:3572:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ; public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalMelange.g:3575:28: ( (kw= '+' | kw= '-' ) ) // InternalMelange.g:3576:1: (kw= '+' | kw= '-' ) { // InternalMelange.g:3576:1: (kw= '+' | kw= '-' ) int alt66=2; int LA66_0 = input.LA(1); if ( (LA66_0==69) ) { alt66=1; } else if ( (LA66_0==70) ) { alt66=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 66, 0, input); throw nvae; } switch (alt66) { case 1 : // InternalMelange.g:3577:2: kw= '+' { kw=(Token)match(input,69,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); } } break; case 2 : // InternalMelange.g:3584:2: kw= '-' { kw=(Token)match(input,70,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" // InternalMelange.g:3597:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ; public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXMultiplicativeExpression = null; try { // InternalMelange.g:3598:2: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ) // InternalMelange.g:3599:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXMultiplicativeExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXMultiplicativeExpression" // $ANTLR start "ruleXMultiplicativeExpression" // InternalMelange.g:3606: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 { // InternalMelange.g:3609:28: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ) // InternalMelange.g:3610:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) { // InternalMelange.g:3610:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) // InternalMelange.g:3611:5: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); } pushFollow(FOLLOW_56); this_XUnaryOperation_0=ruleXUnaryOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XUnaryOperation_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:3619:1: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* loop67: do { int alt67=2; switch ( input.LA(1) ) { case 71: { int LA67_2 = input.LA(2); if ( (synpred15_InternalMelange()) ) { alt67=1; } } break; case 72: { int LA67_3 = input.LA(2); if ( (synpred15_InternalMelange()) ) { alt67=1; } } break; case 73: { int LA67_4 = input.LA(2); if ( (synpred15_InternalMelange()) ) { alt67=1; } } break; case 74: { int LA67_5 = input.LA(2); if ( (synpred15_InternalMelange()) ) { alt67=1; } } break; } switch (alt67) { case 1 : // InternalMelange.g:3619:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) { // InternalMelange.g:3619:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) // InternalMelange.g:3619:3: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) { // InternalMelange.g:3624:6: ( () ( ( ruleOpMulti ) ) ) // InternalMelange.g:3624:7: () ( ( ruleOpMulti ) ) { // InternalMelange.g:3624:7: () // InternalMelange.g:3625:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalMelange.g:3630:2: ( ( ruleOpMulti ) ) // InternalMelange.g:3631:1: ( ruleOpMulti ) { // InternalMelange.g:3631:1: ( ruleOpMulti ) // InternalMelange.g:3632: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(FOLLOW_42); ruleOpMulti(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalMelange.g:3645:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) // InternalMelange.g:3646:1: (lv_rightOperand_3_0= ruleXUnaryOperation ) { // InternalMelange.g:3646:1: (lv_rightOperand_3_0= ruleXUnaryOperation ) // InternalMelange.g:3647:3: lv_rightOperand_3_0= ruleXUnaryOperation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); } pushFollow(FOLLOW_56); 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 loop67; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXMultiplicativeExpression" // $ANTLR start "entryRuleOpMulti" // InternalMelange.g:3671:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ; public final String entryRuleOpMulti() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpMulti = null; try { // InternalMelange.g:3672:2: (iv_ruleOpMulti= ruleOpMulti EOF ) // InternalMelange.g:3673:2: iv_ruleOpMulti= ruleOpMulti EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpMultiRule()); } pushFollow(FOLLOW_1); iv_ruleOpMulti=ruleOpMulti(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpMulti.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpMulti" // $ANTLR start "ruleOpMulti" // InternalMelange.g:3680: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 { // InternalMelange.g:3683:28: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ) // InternalMelange.g:3684:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) { // InternalMelange.g:3684:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) int alt68=4; switch ( input.LA(1) ) { case 71: { alt68=1; } break; case 72: { alt68=2; } break; case 73: { alt68=3; } break; case 74: { alt68=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 68, 0, input); throw nvae; } switch (alt68) { case 1 : // InternalMelange.g:3685:2: kw= '*' { kw=(Token)match(input,71,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); } } break; case 2 : // InternalMelange.g:3692:2: kw= '**' { kw=(Token)match(input,72,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); } } break; case 3 : // InternalMelange.g:3699:2: kw= '/' { kw=(Token)match(input,73,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); } } break; case 4 : // InternalMelange.g:3706:2: kw= '%' { kw=(Token)match(input,74,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" // InternalMelange.g:3719:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ; public final EObject entryRuleXUnaryOperation() throws RecognitionException { EObject current = null; EObject iv_ruleXUnaryOperation = null; try { // InternalMelange.g:3720:2: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ) // InternalMelange.g:3721:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationRule()); } pushFollow(FOLLOW_1); iv_ruleXUnaryOperation=ruleXUnaryOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXUnaryOperation; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXUnaryOperation" // $ANTLR start "ruleXUnaryOperation" // InternalMelange.g:3728: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 { // InternalMelange.g:3731:28: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ) // InternalMelange.g:3732:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) { // InternalMelange.g:3732:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) int alt69=2; int LA69_0 = input.LA(1); if ( ((LA69_0>=69 && LA69_0<=70)||LA69_0==75) ) { alt69=1; } else if ( ((LA69_0>=RULE_STRING && LA69_0<=RULE_ID)||LA69_0==20||LA69_0==35||LA69_0==44||LA69_0==53||LA69_0==82||LA69_0==85||LA69_0==87||(LA69_0>=91 && LA69_0<=93)||(LA69_0>=96 && LA69_0<=108)||LA69_0==110) ) { alt69=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 69, 0, input); throw nvae; } switch (alt69) { case 1 : // InternalMelange.g:3732:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) { // InternalMelange.g:3732:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) // InternalMelange.g:3732:3: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) { // InternalMelange.g:3732:3: () // InternalMelange.g:3733:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(), current); } } // InternalMelange.g:3738:2: ( ( ruleOpUnary ) ) // InternalMelange.g:3739:1: ( ruleOpUnary ) { // InternalMelange.g:3739:1: ( ruleOpUnary ) // InternalMelange.g:3740: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(FOLLOW_42); ruleOpUnary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:3753:2: ( (lv_operand_2_0= ruleXUnaryOperation ) ) // InternalMelange.g:3754:1: (lv_operand_2_0= ruleXUnaryOperation ) { // InternalMelange.g:3754:1: (lv_operand_2_0= ruleXUnaryOperation ) // InternalMelange.g:3755:3: lv_operand_2_0= ruleXUnaryOperation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); } pushFollow(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 : // InternalMelange.g:3773:5: this_XCastedExpression_3= ruleXCastedExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); } pushFollow(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" // InternalMelange.g:3789:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ; public final String entryRuleOpUnary() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpUnary = null; try { // InternalMelange.g:3790:2: (iv_ruleOpUnary= ruleOpUnary EOF ) // InternalMelange.g:3791:2: iv_ruleOpUnary= ruleOpUnary EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpUnaryRule()); } pushFollow(FOLLOW_1); iv_ruleOpUnary=ruleOpUnary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpUnary.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpUnary" // $ANTLR start "ruleOpUnary" // InternalMelange.g:3798: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 { // InternalMelange.g:3801:28: ( (kw= '!' | kw= '-' | kw= '+' ) ) // InternalMelange.g:3802:1: (kw= '!' | kw= '-' | kw= '+' ) { // InternalMelange.g:3802:1: (kw= '!' | kw= '-' | kw= '+' ) int alt70=3; switch ( input.LA(1) ) { case 75: { alt70=1; } break; case 70: { alt70=2; } break; case 69: { alt70=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 70, 0, input); throw nvae; } switch (alt70) { case 1 : // InternalMelange.g:3803:2: kw= '!' { kw=(Token)match(input,75,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); } } break; case 2 : // InternalMelange.g:3810:2: kw= '-' { kw=(Token)match(input,70,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); } } break; case 3 : // InternalMelange.g:3817:2: kw= '+' { kw=(Token)match(input,69,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" // InternalMelange.g:3830:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ; public final EObject entryRuleXCastedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXCastedExpression = null; try { // InternalMelange.g:3831:2: (iv_ruleXCastedExpression= ruleXCastedExpression EOF ) // InternalMelange.g:3832:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXCastedExpression=ruleXCastedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCastedExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCastedExpression" // $ANTLR start "ruleXCastedExpression" // InternalMelange.g:3839: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 { // InternalMelange.g:3842:28: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ) // InternalMelange.g:3843:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) { // InternalMelange.g:3843:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) // InternalMelange.g:3844:5: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); } pushFollow(FOLLOW_57); this_XPostfixOperation_0=ruleXPostfixOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XPostfixOperation_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:3852:1: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* loop71: do { int alt71=2; int LA71_0 = input.LA(1); if ( (LA71_0==76) ) { int LA71_2 = input.LA(2); if ( (synpred16_InternalMelange()) ) { alt71=1; } } switch (alt71) { case 1 : // InternalMelange.g:3852:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) { // InternalMelange.g:3852:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) // InternalMelange.g:3852:3: ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) { // InternalMelange.g:3854:5: ( () otherlv_2= 'as' ) // InternalMelange.g:3854:6: () otherlv_2= 'as' { // InternalMelange.g:3854:6: () // InternalMelange.g:3855:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(), current); } } otherlv_2=(Token)match(input,76,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); } } } // InternalMelange.g:3864:3: ( (lv_type_3_0= ruleJvmTypeReference ) ) // InternalMelange.g:3865:1: (lv_type_3_0= ruleJvmTypeReference ) { // InternalMelange.g:3865:1: (lv_type_3_0= ruleJvmTypeReference ) // InternalMelange.g:3866:3: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FOLLOW_57); 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 loop71; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXCastedExpression" // $ANTLR start "entryRuleXPostfixOperation" // InternalMelange.g:3890:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ; public final EObject entryRuleXPostfixOperation() throws RecognitionException { EObject current = null; EObject iv_ruleXPostfixOperation = null; try { // InternalMelange.g:3891:2: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ) // InternalMelange.g:3892:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPostfixOperationRule()); } pushFollow(FOLLOW_1); iv_ruleXPostfixOperation=ruleXPostfixOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXPostfixOperation; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXPostfixOperation" // $ANTLR start "ruleXPostfixOperation" // InternalMelange.g:3899: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 { // InternalMelange.g:3902:28: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ) // InternalMelange.g:3903:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) { // InternalMelange.g:3903:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) // InternalMelange.g:3904:5: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); } pushFollow(FOLLOW_58); this_XMemberFeatureCall_0=ruleXMemberFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XMemberFeatureCall_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:3912:1: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? int alt72=2; int LA72_0 = input.LA(1); if ( (LA72_0==77) ) { int LA72_1 = input.LA(2); if ( (synpred17_InternalMelange()) ) { alt72=1; } } else if ( (LA72_0==78) ) { int LA72_2 = input.LA(2); if ( (synpred17_InternalMelange()) ) { alt72=1; } } switch (alt72) { case 1 : // InternalMelange.g:3912:2: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) { // InternalMelange.g:3917:6: ( () ( ( ruleOpPostfix ) ) ) // InternalMelange.g:3917:7: () ( ( ruleOpPostfix ) ) { // InternalMelange.g:3917:7: () // InternalMelange.g:3918:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(), current); } } // InternalMelange.g:3923:2: ( ( ruleOpPostfix ) ) // InternalMelange.g:3924:1: ( ruleOpPostfix ) { // InternalMelange.g:3924:1: ( ruleOpPostfix ) // InternalMelange.g:3925: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(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" // InternalMelange.g:3946:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ; public final String entryRuleOpPostfix() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpPostfix = null; try { // InternalMelange.g:3947:2: (iv_ruleOpPostfix= ruleOpPostfix EOF ) // InternalMelange.g:3948:2: iv_ruleOpPostfix= ruleOpPostfix EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpPostfixRule()); } pushFollow(FOLLOW_1); iv_ruleOpPostfix=ruleOpPostfix(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpPostfix.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpPostfix" // $ANTLR start "ruleOpPostfix" // InternalMelange.g:3955:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ; public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalMelange.g:3958:28: ( (kw= '++' | kw= '--' ) ) // InternalMelange.g:3959:1: (kw= '++' | kw= '--' ) { // InternalMelange.g:3959:1: (kw= '++' | kw= '--' ) int alt73=2; int LA73_0 = input.LA(1); if ( (LA73_0==77) ) { alt73=1; } else if ( (LA73_0==78) ) { alt73=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 73, 0, input); throw nvae; } switch (alt73) { case 1 : // InternalMelange.g:3960:2: kw= '++' { kw=(Token)match(input,77,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); } } break; case 2 : // InternalMelange.g:3967:2: kw= '--' { kw=(Token)match(input,78,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" // InternalMelange.g:3980:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ; public final EObject entryRuleXMemberFeatureCall() throws RecognitionException { EObject current = null; EObject iv_ruleXMemberFeatureCall = null; try { // InternalMelange.g:3981:2: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ) // InternalMelange.g:3982:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); } pushFollow(FOLLOW_1); iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXMemberFeatureCall; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXMemberFeatureCall" // $ANTLR start "ruleXMemberFeatureCall" // InternalMelange.g:3989: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 { // InternalMelange.g:3992: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 ) )? ) )* ) ) // InternalMelange.g:3993: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 ) )? ) )* ) { // InternalMelange.g:3993: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 ) )? ) )* ) // InternalMelange.g:3994: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(FOLLOW_59); this_XPrimaryExpression_0=ruleXPrimaryExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XPrimaryExpression_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:4002: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 ) )? ) )* loop82: do { int alt82=3; switch ( input.LA(1) ) { case 79: { int LA82_2 = input.LA(2); if ( (synpred18_InternalMelange()) ) { alt82=1; } else if ( (synpred19_InternalMelange()) ) { alt82=2; } } break; case 80: { int LA82_3 = input.LA(2); if ( (synpred18_InternalMelange()) ) { alt82=1; } else if ( (synpred19_InternalMelange()) ) { alt82=2; } } break; case 81: { int LA82_4 = input.LA(2); if ( (synpred19_InternalMelange()) ) { alt82=2; } } break; } switch (alt82) { case 1 : // InternalMelange.g:4002:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) { // InternalMelange.g:4002:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) // InternalMelange.g:4002:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) { // InternalMelange.g:4002:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) // InternalMelange.g:4002:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) { // InternalMelange.g:4015:25: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) // InternalMelange.g:4015:26: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign { // InternalMelange.g:4015:26: () // InternalMelange.g:4016:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(), current); } } // InternalMelange.g:4021:2: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) int alt74=2; int LA74_0 = input.LA(1); if ( (LA74_0==79) ) { alt74=1; } else if ( (LA74_0==80) ) { alt74=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 74, 0, input); throw nvae; } switch (alt74) { case 1 : // InternalMelange.g:4021:4: otherlv_2= '.' { otherlv_2=(Token)match(input,79,FOLLOW_60); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); } } break; case 2 : // InternalMelange.g:4026:6: ( (lv_explicitStatic_3_0= '::' ) ) { // InternalMelange.g:4026:6: ( (lv_explicitStatic_3_0= '::' ) ) // InternalMelange.g:4027:1: (lv_explicitStatic_3_0= '::' ) { // InternalMelange.g:4027:1: (lv_explicitStatic_3_0= '::' ) // InternalMelange.g:4028:3: lv_explicitStatic_3_0= '::' { lv_explicitStatic_3_0=(Token)match(input,80,FOLLOW_60); 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; } // InternalMelange.g:4041:3: ( ( ruleFeatureCallID ) ) // InternalMelange.g:4042:1: ( ruleFeatureCallID ) { // InternalMelange.g:4042:1: ( ruleFeatureCallID ) // InternalMelange.g:4043: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(FOLLOW_41); 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(FOLLOW_42); ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:4064:3: ( (lv_value_6_0= ruleXAssignment ) ) // InternalMelange.g:4065:1: (lv_value_6_0= ruleXAssignment ) { // InternalMelange.g:4065:1: (lv_value_6_0= ruleXAssignment ) // InternalMelange.g:4066:3: lv_value_6_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); } pushFollow(FOLLOW_59); 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 : // InternalMelange.g:4083: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 ) )? ) { // InternalMelange.g:4083: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 ) )? ) // InternalMelange.g:4083: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 ) )? { // InternalMelange.g:4083:7: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) // InternalMelange.g:4083:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) { // InternalMelange.g:4099:7: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) // InternalMelange.g:4099:8: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) { // InternalMelange.g:4099:8: () // InternalMelange.g:4100:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), current); } } // InternalMelange.g:4105:2: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) int alt75=3; switch ( input.LA(1) ) { case 79: { alt75=1; } break; case 81: { alt75=2; } break; case 80: { alt75=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 75, 0, input); throw nvae; } switch (alt75) { case 1 : // InternalMelange.g:4105:4: otherlv_8= '.' { otherlv_8=(Token)match(input,79,FOLLOW_61); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); } } break; case 2 : // InternalMelange.g:4110:6: ( (lv_nullSafe_9_0= '?.' ) ) { // InternalMelange.g:4110:6: ( (lv_nullSafe_9_0= '?.' ) ) // InternalMelange.g:4111:1: (lv_nullSafe_9_0= '?.' ) { // InternalMelange.g:4111:1: (lv_nullSafe_9_0= '?.' ) // InternalMelange.g:4112:3: lv_nullSafe_9_0= '?.' { lv_nullSafe_9_0=(Token)match(input,81,FOLLOW_61); 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 : // InternalMelange.g:4126:6: ( (lv_explicitStatic_10_0= '::' ) ) { // InternalMelange.g:4126:6: ( (lv_explicitStatic_10_0= '::' ) ) // InternalMelange.g:4127:1: (lv_explicitStatic_10_0= '::' ) { // InternalMelange.g:4127:1: (lv_explicitStatic_10_0= '::' ) // InternalMelange.g:4128:3: lv_explicitStatic_10_0= '::' { lv_explicitStatic_10_0=(Token)match(input,80,FOLLOW_61); 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; } } } // InternalMelange.g:4141:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? int alt77=2; int LA77_0 = input.LA(1); if ( (LA77_0==53) ) { alt77=1; } switch (alt77) { case 1 : // InternalMelange.g:4141:7: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' { otherlv_11=(Token)match(input,53,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); } // InternalMelange.g:4145:1: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) // InternalMelange.g:4146:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) { // InternalMelange.g:4146:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) // InternalMelange.g:4147:3: lv_typeArguments_12_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); } pushFollow(FOLLOW_63); 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(); } } } // InternalMelange.g:4163:2: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* loop76: do { int alt76=2; int LA76_0 = input.LA(1); if ( (LA76_0==17) ) { alt76=1; } switch (alt76) { case 1 : // InternalMelange.g:4163:4: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) { otherlv_13=(Token)match(input,17,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); } // InternalMelange.g:4167:1: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) // InternalMelange.g:4168:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) { // InternalMelange.g:4168:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) // InternalMelange.g:4169:3: lv_typeArguments_14_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); } pushFollow(FOLLOW_63); 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 loop76; } } while (true); otherlv_15=(Token)match(input,54,FOLLOW_61); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); } } break; } // InternalMelange.g:4189:3: ( ( ruleIdOrSuper ) ) // InternalMelange.g:4190:1: ( ruleIdOrSuper ) { // InternalMelange.g:4190:1: ( ruleIdOrSuper ) // InternalMelange.g:4191: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(FOLLOW_64); ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:4204: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 alt80=2; alt80 = dfa80.predict(input); switch (alt80) { case 1 : // InternalMelange.g:4204: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= ')' { // InternalMelange.g:4204:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) // InternalMelange.g:4204:4: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) { // InternalMelange.g:4211:1: (lv_explicitOperationCall_17_0= '(' ) // InternalMelange.g:4212:3: lv_explicitOperationCall_17_0= '(' { lv_explicitOperationCall_17_0=(Token)match(input,35,FOLLOW_65); 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, "("); } } } // InternalMelange.g:4225:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? int alt79=3; alt79 = dfa79.predict(input); switch (alt79) { case 1 : // InternalMelange.g:4225:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) { // InternalMelange.g:4225:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) // InternalMelange.g:4225:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) { // InternalMelange.g:4242:1: (lv_memberCallArguments_18_0= ruleXShortClosure ) // InternalMelange.g:4243:3: lv_memberCallArguments_18_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); } pushFollow(FOLLOW_66); 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 : // InternalMelange.g:4260:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) { // InternalMelange.g:4260:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) // InternalMelange.g:4260:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* { // InternalMelange.g:4260:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) // InternalMelange.g:4261:1: (lv_memberCallArguments_19_0= ruleXExpression ) { // InternalMelange.g:4261:1: (lv_memberCallArguments_19_0= ruleXExpression ) // InternalMelange.g:4262:3: lv_memberCallArguments_19_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); } pushFollow(FOLLOW_29); 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(); } } } // InternalMelange.g:4278:2: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* loop78: do { int alt78=2; int LA78_0 = input.LA(1); if ( (LA78_0==17) ) { alt78=1; } switch (alt78) { case 1 : // InternalMelange.g:4278:4: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) { otherlv_20=(Token)match(input,17,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); } // InternalMelange.g:4282:1: ( (lv_memberCallArguments_21_0= ruleXExpression ) ) // InternalMelange.g:4283:1: (lv_memberCallArguments_21_0= ruleXExpression ) { // InternalMelange.g:4283:1: (lv_memberCallArguments_21_0= ruleXExpression ) // InternalMelange.g:4284:3: lv_memberCallArguments_21_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); } pushFollow(FOLLOW_29); 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 loop78; } } while (true); } } break; } otherlv_22=(Token)match(input,36,FOLLOW_67); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); } } break; } // InternalMelange.g:4304:3: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? int alt81=2; alt81 = dfa81.predict(input); switch (alt81) { case 1 : // InternalMelange.g:4304:4: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) { // InternalMelange.g:4307:1: (lv_memberCallArguments_23_0= ruleXClosure ) // InternalMelange.g:4308:3: lv_memberCallArguments_23_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); } pushFollow(FOLLOW_59); 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 loop82; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXMemberFeatureCall" // $ANTLR start "entryRuleXPrimaryExpression" // InternalMelange.g:4332:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ; public final EObject entryRuleXPrimaryExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXPrimaryExpression = null; try { // InternalMelange.g:4333:2: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ) // InternalMelange.g:4334:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXPrimaryExpression=ruleXPrimaryExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXPrimaryExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXPrimaryExpression" // $ANTLR start "ruleXPrimaryExpression" // InternalMelange.g:4341: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 { // InternalMelange.g:4344: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 ) ) // InternalMelange.g:4345: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 ) { // InternalMelange.g:4345: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 alt83=15; alt83 = dfa83.predict(input); switch (alt83) { case 1 : // InternalMelange.g:4346:5: this_XConstructorCall_0= ruleXConstructorCall { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); } pushFollow(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 : // InternalMelange.g:4356:5: this_XBlockExpression_1= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); } pushFollow(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 : // InternalMelange.g:4366:5: this_XSwitchExpression_2= ruleXSwitchExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); } pushFollow(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 : // InternalMelange.g:4375:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) { // InternalMelange.g:4375:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) // InternalMelange.g:4375:7: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); } pushFollow(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 : // InternalMelange.g:4389:5: this_XFeatureCall_4= ruleXFeatureCall { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); } pushFollow(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 : // InternalMelange.g:4399:5: this_XLiteral_5= ruleXLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); } pushFollow(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 : // InternalMelange.g:4409:5: this_XIfExpression_6= ruleXIfExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); } pushFollow(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 : // InternalMelange.g:4418:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) { // InternalMelange.g:4418:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) // InternalMelange.g:4418:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); } pushFollow(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 : // InternalMelange.g:4437:5: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); } pushFollow(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 : // InternalMelange.g:4447:5: this_XWhileExpression_9= ruleXWhileExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); } pushFollow(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 : // InternalMelange.g:4457:5: this_XDoWhileExpression_10= ruleXDoWhileExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); } pushFollow(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 : // InternalMelange.g:4467:5: this_XThrowExpression_11= ruleXThrowExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); } pushFollow(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 : // InternalMelange.g:4477:5: this_XReturnExpression_12= ruleXReturnExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); } pushFollow(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 : // InternalMelange.g:4487:5: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); } pushFollow(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 : // InternalMelange.g:4497:5: this_XParenthesizedExpression_14= ruleXParenthesizedExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); } pushFollow(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" // InternalMelange.g:4513:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ; public final EObject entryRuleXLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXLiteral = null; try { // InternalMelange.g:4514:2: (iv_ruleXLiteral= ruleXLiteral EOF ) // InternalMelange.g:4515:2: iv_ruleXLiteral= ruleXLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleXLiteral=ruleXLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXLiteral" // $ANTLR start "ruleXLiteral" // InternalMelange.g:4522: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 { // InternalMelange.g:4525: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 ) ) // InternalMelange.g:4526: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 ) { // InternalMelange.g:4526: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 alt84=7; int LA84_0 = input.LA(1); if ( (LA84_0==82) ) { alt84=1; } else if ( (LA84_0==44) && (synpred25_InternalMelange())) { alt84=2; } else if ( ((LA84_0>=102 && LA84_0<=103)) ) { alt84=3; } else if ( ((LA84_0>=RULE_HEX && LA84_0<=RULE_DECIMAL)) ) { alt84=4; } else if ( (LA84_0==104) ) { alt84=5; } else if ( (LA84_0==RULE_STRING) ) { alt84=6; } else if ( (LA84_0==105) ) { alt84=7; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 84, 0, input); throw nvae; } switch (alt84) { case 1 : // InternalMelange.g:4527:5: this_XCollectionLiteral_0= ruleXCollectionLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); } pushFollow(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 : // InternalMelange.g:4536:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) { // InternalMelange.g:4536:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) // InternalMelange.g:4536:7: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); } pushFollow(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 : // InternalMelange.g:4549:5: this_XBooleanLiteral_2= ruleXBooleanLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); } pushFollow(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 : // InternalMelange.g:4559:5: this_XNumberLiteral_3= ruleXNumberLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); } pushFollow(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 : // InternalMelange.g:4569:5: this_XNullLiteral_4= ruleXNullLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); } pushFollow(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 : // InternalMelange.g:4579:5: this_XStringLiteral_5= ruleXStringLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); } pushFollow(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 : // InternalMelange.g:4589:5: this_XTypeLiteral_6= ruleXTypeLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); } pushFollow(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" // InternalMelange.g:4605:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ; public final EObject entryRuleXCollectionLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXCollectionLiteral = null; try { // InternalMelange.g:4606:2: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ) // InternalMelange.g:4607:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCollectionLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleXCollectionLiteral=ruleXCollectionLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCollectionLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCollectionLiteral" // $ANTLR start "ruleXCollectionLiteral" // InternalMelange.g:4614: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 { // InternalMelange.g:4617:28: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ) // InternalMelange.g:4618:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) { // InternalMelange.g:4618:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) int alt85=2; int LA85_0 = input.LA(1); if ( (LA85_0==82) ) { int LA85_1 = input.LA(2); if ( (LA85_1==44) ) { alt85=2; } else if ( (LA85_1==20) ) { alt85=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 85, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 85, 0, input); throw nvae; } switch (alt85) { case 1 : // InternalMelange.g:4619:5: this_XSetLiteral_0= ruleXSetLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); } pushFollow(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 : // InternalMelange.g:4629:5: this_XListLiteral_1= ruleXListLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); } pushFollow(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" // InternalMelange.g:4645:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ; public final EObject entryRuleXSetLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXSetLiteral = null; try { // InternalMelange.g:4646:2: (iv_ruleXSetLiteral= ruleXSetLiteral EOF ) // InternalMelange.g:4647:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleXSetLiteral=ruleXSetLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXSetLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXSetLiteral" // $ANTLR start "ruleXSetLiteral" // InternalMelange.g:4654: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 { // InternalMelange.g:4657:28: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ) // InternalMelange.g:4658:1: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) { // InternalMelange.g:4658:1: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) // InternalMelange.g:4658:2: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' { // InternalMelange.g:4658:2: () // InternalMelange.g:4659:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(), current); } } otherlv_1=(Token)match(input,82,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); } otherlv_2=(Token)match(input,20,FOLLOW_68); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); } // InternalMelange.g:4672:1: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? int alt87=2; int LA87_0 = input.LA(1); if ( ((LA87_0>=RULE_STRING && LA87_0<=RULE_ID)||LA87_0==20||LA87_0==35||LA87_0==44||LA87_0==53||(LA87_0>=69 && LA87_0<=70)||LA87_0==75||LA87_0==82||LA87_0==85||LA87_0==87||(LA87_0>=91 && LA87_0<=93)||(LA87_0>=96 && LA87_0<=108)||LA87_0==110) ) { alt87=1; } switch (alt87) { case 1 : // InternalMelange.g:4672:2: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* { // InternalMelange.g:4672:2: ( (lv_elements_3_0= ruleXExpression ) ) // InternalMelange.g:4673:1: (lv_elements_3_0= ruleXExpression ) { // InternalMelange.g:4673:1: (lv_elements_3_0= ruleXExpression ) // InternalMelange.g:4674:3: lv_elements_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } pushFollow(FOLLOW_69); 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(); } } } // InternalMelange.g:4690:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* loop86: do { int alt86=2; int LA86_0 = input.LA(1); if ( (LA86_0==17) ) { alt86=1; } switch (alt86) { case 1 : // InternalMelange.g:4690:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,17,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); } // InternalMelange.g:4694:1: ( (lv_elements_5_0= ruleXExpression ) ) // InternalMelange.g:4695:1: (lv_elements_5_0= ruleXExpression ) { // InternalMelange.g:4695:1: (lv_elements_5_0= ruleXExpression ) // InternalMelange.g:4696:3: lv_elements_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } pushFollow(FOLLOW_69); 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 loop86; } } while (true); } break; } otherlv_6=(Token)match(input,30,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" // InternalMelange.g:4724:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ; public final EObject entryRuleXListLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXListLiteral = null; try { // InternalMelange.g:4725:2: (iv_ruleXListLiteral= ruleXListLiteral EOF ) // InternalMelange.g:4726:2: iv_ruleXListLiteral= ruleXListLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleXListLiteral=ruleXListLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXListLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXListLiteral" // $ANTLR start "ruleXListLiteral" // InternalMelange.g:4733: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 { // InternalMelange.g:4736:28: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ) // InternalMelange.g:4737:1: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) { // InternalMelange.g:4737:1: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) // InternalMelange.g:4737:2: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' { // InternalMelange.g:4737:2: () // InternalMelange.g:4738:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(), current); } } otherlv_1=(Token)match(input,82,FOLLOW_39); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); } otherlv_2=(Token)match(input,44,FOLLOW_70); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); } // InternalMelange.g:4751:1: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? int alt89=2; int LA89_0 = input.LA(1); if ( ((LA89_0>=RULE_STRING && LA89_0<=RULE_ID)||LA89_0==20||LA89_0==35||LA89_0==44||LA89_0==53||(LA89_0>=69 && LA89_0<=70)||LA89_0==75||LA89_0==82||LA89_0==85||LA89_0==87||(LA89_0>=91 && LA89_0<=93)||(LA89_0>=96 && LA89_0<=108)||LA89_0==110) ) { alt89=1; } switch (alt89) { case 1 : // InternalMelange.g:4751:2: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* { // InternalMelange.g:4751:2: ( (lv_elements_3_0= ruleXExpression ) ) // InternalMelange.g:4752:1: (lv_elements_3_0= ruleXExpression ) { // InternalMelange.g:4752:1: (lv_elements_3_0= ruleXExpression ) // InternalMelange.g:4753:3: lv_elements_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } pushFollow(FOLLOW_40); 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(); } } } // InternalMelange.g:4769:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* loop88: do { int alt88=2; int LA88_0 = input.LA(1); if ( (LA88_0==17) ) { alt88=1; } switch (alt88) { case 1 : // InternalMelange.g:4769:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,17,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); } // InternalMelange.g:4773:1: ( (lv_elements_5_0= ruleXExpression ) ) // InternalMelange.g:4774:1: (lv_elements_5_0= ruleXExpression ) { // InternalMelange.g:4774:1: (lv_elements_5_0= ruleXExpression ) // InternalMelange.g:4775:3: lv_elements_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } pushFollow(FOLLOW_40); 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 loop88; } } while (true); } break; } otherlv_6=(Token)match(input,45,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" // InternalMelange.g:4803:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ; public final EObject entryRuleXClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXClosure = null; try { // InternalMelange.g:4804:2: (iv_ruleXClosure= ruleXClosure EOF ) // InternalMelange.g:4805:2: iv_ruleXClosure= ruleXClosure EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureRule()); } pushFollow(FOLLOW_1); iv_ruleXClosure=ruleXClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXClosure; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXClosure" // $ANTLR start "ruleXClosure" // InternalMelange.g:4812: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 { // InternalMelange.g:4815: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= ']' ) ) // InternalMelange.g:4816: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= ']' ) { // InternalMelange.g:4816: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= ']' ) // InternalMelange.g:4816: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= ']' { // InternalMelange.g:4816:2: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) // InternalMelange.g:4816:3: ( ( () '[' ) )=> ( () otherlv_1= '[' ) { // InternalMelange.g:4818:5: ( () otherlv_1= '[' ) // InternalMelange.g:4818:6: () otherlv_1= '[' { // InternalMelange.g:4818:6: () // InternalMelange.g:4819:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(), current); } } otherlv_1=(Token)match(input,44,FOLLOW_71); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); } } } // InternalMelange.g:4828:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? int alt92=2; alt92 = dfa92.predict(input); switch (alt92) { case 1 : // InternalMelange.g:4828:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) { // InternalMelange.g:4843:6: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) // InternalMelange.g:4843:7: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) { // InternalMelange.g:4843:7: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? int alt91=2; int LA91_0 = input.LA(1); if ( (LA91_0==RULE_ID||LA91_0==35||LA91_0==66) ) { alt91=1; } switch (alt91) { case 1 : // InternalMelange.g:4843:8: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* { // InternalMelange.g:4843:8: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) // InternalMelange.g:4844:1: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) { // InternalMelange.g:4844:1: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) // InternalMelange.g:4845:3: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); } pushFollow(FOLLOW_72); 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(); } } } // InternalMelange.g:4861:2: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* loop90: do { int alt90=2; int LA90_0 = input.LA(1); if ( (LA90_0==17) ) { alt90=1; } switch (alt90) { case 1 : // InternalMelange.g:4861:4: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) { otherlv_3=(Token)match(input,17,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); } // InternalMelange.g:4865:1: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) // InternalMelange.g:4866:1: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) { // InternalMelange.g:4866:1: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) // InternalMelange.g:4867:3: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); } pushFollow(FOLLOW_72); 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 loop90; } } while (true); } break; } // InternalMelange.g:4883:6: ( (lv_explicitSyntax_5_0= '|' ) ) // InternalMelange.g:4884:1: (lv_explicitSyntax_5_0= '|' ) { // InternalMelange.g:4884:1: (lv_explicitSyntax_5_0= '|' ) // InternalMelange.g:4885:3: lv_explicitSyntax_5_0= '|' { lv_explicitSyntax_5_0=(Token)match(input,83,FOLLOW_73); 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; } // InternalMelange.g:4898:5: ( (lv_expression_6_0= ruleXExpressionInClosure ) ) // InternalMelange.g:4899:1: (lv_expression_6_0= ruleXExpressionInClosure ) { // InternalMelange.g:4899:1: (lv_expression_6_0= ruleXExpressionInClosure ) // InternalMelange.g:4900:3: lv_expression_6_0= ruleXExpressionInClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); } pushFollow(FOLLOW_74); 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,45,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" // InternalMelange.g:4928:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ; public final EObject entryRuleXExpressionInClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXExpressionInClosure = null; try { // InternalMelange.g:4929:2: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ) // InternalMelange.g:4930:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionInClosureRule()); } pushFollow(FOLLOW_1); iv_ruleXExpressionInClosure=ruleXExpressionInClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXExpressionInClosure; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXExpressionInClosure" // $ANTLR start "ruleXExpressionInClosure" // InternalMelange.g:4937: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 { // InternalMelange.g:4940:28: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ) // InternalMelange.g:4941:1: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) { // InternalMelange.g:4941:1: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) // InternalMelange.g:4941:2: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* { // InternalMelange.g:4941:2: () // InternalMelange.g:4942:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(), current); } } // InternalMelange.g:4947:2: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* loop94: do { int alt94=2; int LA94_0 = input.LA(1); if ( ((LA94_0>=RULE_STRING && LA94_0<=RULE_ID)||LA94_0==20||LA94_0==35||LA94_0==44||LA94_0==53||(LA94_0>=69 && LA94_0<=70)||LA94_0==75||LA94_0==82||LA94_0==85||LA94_0==87||(LA94_0>=91 && LA94_0<=108)||LA94_0==110) ) { alt94=1; } switch (alt94) { case 1 : // InternalMelange.g:4947:3: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? { // InternalMelange.g:4947:3: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) // InternalMelange.g:4948:1: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) { // InternalMelange.g:4948:1: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) // InternalMelange.g:4949:3: lv_expressions_1_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); } pushFollow(FOLLOW_75); 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(); } } } // InternalMelange.g:4965:2: (otherlv_2= ';' )? int alt93=2; int LA93_0 = input.LA(1); if ( (LA93_0==84) ) { alt93=1; } switch (alt93) { case 1 : // InternalMelange.g:4965:4: otherlv_2= ';' { otherlv_2=(Token)match(input,84,FOLLOW_76); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); } } break; } } break; default : break loop94; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXExpressionInClosure" // $ANTLR start "entryRuleXShortClosure" // InternalMelange.g:4977:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ; public final EObject entryRuleXShortClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXShortClosure = null; try { // InternalMelange.g:4978:2: (iv_ruleXShortClosure= ruleXShortClosure EOF ) // InternalMelange.g:4979:2: iv_ruleXShortClosure= ruleXShortClosure EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureRule()); } pushFollow(FOLLOW_1); iv_ruleXShortClosure=ruleXShortClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXShortClosure; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXShortClosure" // $ANTLR start "ruleXShortClosure" // InternalMelange.g:4986: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 { // InternalMelange.g:4989:28: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ) // InternalMelange.g:4990:1: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) { // InternalMelange.g:4990:1: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) // InternalMelange.g:4990:2: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) { // InternalMelange.g:4990:2: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) // InternalMelange.g:4990:3: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) { // InternalMelange.g:5006:6: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) // InternalMelange.g:5006:7: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) { // InternalMelange.g:5006:7: () // InternalMelange.g:5007:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(), current); } } // InternalMelange.g:5012:2: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? int alt96=2; int LA96_0 = input.LA(1); if ( (LA96_0==RULE_ID||LA96_0==35||LA96_0==66) ) { alt96=1; } switch (alt96) { case 1 : // InternalMelange.g:5012:3: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* { // InternalMelange.g:5012:3: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) // InternalMelange.g:5013:1: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) { // InternalMelange.g:5013:1: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) // InternalMelange.g:5014:3: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); } pushFollow(FOLLOW_72); 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(); } } } // InternalMelange.g:5030:2: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* loop95: do { int alt95=2; int LA95_0 = input.LA(1); if ( (LA95_0==17) ) { alt95=1; } switch (alt95) { case 1 : // InternalMelange.g:5030:4: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) { otherlv_2=(Token)match(input,17,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); } // InternalMelange.g:5034:1: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) // InternalMelange.g:5035:1: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) { // InternalMelange.g:5035:1: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) // InternalMelange.g:5036:3: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); } pushFollow(FOLLOW_72); 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 loop95; } } while (true); } break; } // InternalMelange.g:5052:6: ( (lv_explicitSyntax_4_0= '|' ) ) // InternalMelange.g:5053:1: (lv_explicitSyntax_4_0= '|' ) { // InternalMelange.g:5053:1: (lv_explicitSyntax_4_0= '|' ) // InternalMelange.g:5054:3: lv_explicitSyntax_4_0= '|' { lv_explicitSyntax_4_0=(Token)match(input,83,FOLLOW_42); 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, "|"); } } } } } // InternalMelange.g:5067:4: ( (lv_expression_5_0= ruleXExpression ) ) // InternalMelange.g:5068:1: (lv_expression_5_0= ruleXExpression ) { // InternalMelange.g:5068:1: (lv_expression_5_0= ruleXExpression ) // InternalMelange.g:5069:3: lv_expression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); } pushFollow(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" // InternalMelange.g:5093:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ; public final EObject entryRuleXParenthesizedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXParenthesizedExpression = null; try { // InternalMelange.g:5094:2: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ) // InternalMelange.g:5095:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXParenthesizedExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXParenthesizedExpression" // $ANTLR start "ruleXParenthesizedExpression" // InternalMelange.g:5102: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 { // InternalMelange.g:5105:28: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ) // InternalMelange.g:5106:1: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) { // InternalMelange.g:5106:1: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) // InternalMelange.g:5106:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' { otherlv_0=(Token)match(input,35,FOLLOW_42); 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(FOLLOW_66); 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,36,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" // InternalMelange.g:5131:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ; public final EObject entryRuleXIfExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXIfExpression = null; try { // InternalMelange.g:5132:2: (iv_ruleXIfExpression= ruleXIfExpression EOF ) // InternalMelange.g:5133:2: iv_ruleXIfExpression= ruleXIfExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXIfExpression=ruleXIfExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXIfExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXIfExpression" // $ANTLR start "ruleXIfExpression" // InternalMelange.g:5140: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 { // InternalMelange.g:5143: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 ) ) )? ) ) // InternalMelange.g:5144: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 ) ) )? ) { // InternalMelange.g:5144: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 ) ) )? ) // InternalMelange.g:5144: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 ) ) )? { // InternalMelange.g:5144:2: () // InternalMelange.g:5145:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(), current); } } otherlv_1=(Token)match(input,85,FOLLOW_27); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); } otherlv_2=(Token)match(input,35,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); } // InternalMelange.g:5158:1: ( (lv_if_3_0= ruleXExpression ) ) // InternalMelange.g:5159:1: (lv_if_3_0= ruleXExpression ) { // InternalMelange.g:5159:1: (lv_if_3_0= ruleXExpression ) // InternalMelange.g:5160:3: lv_if_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); } pushFollow(FOLLOW_66); 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,36,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); } // InternalMelange.g:5180:1: ( (lv_then_5_0= ruleXExpression ) ) // InternalMelange.g:5181:1: (lv_then_5_0= ruleXExpression ) { // InternalMelange.g:5181:1: (lv_then_5_0= ruleXExpression ) // InternalMelange.g:5182:3: lv_then_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); } pushFollow(FOLLOW_77); 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(); } } } // InternalMelange.g:5198:2: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? int alt97=2; int LA97_0 = input.LA(1); if ( (LA97_0==86) ) { int LA97_1 = input.LA(2); if ( (synpred29_InternalMelange()) ) { alt97=1; } } switch (alt97) { case 1 : // InternalMelange.g:5198:3: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) { // InternalMelange.g:5198:3: ( ( 'else' )=>otherlv_6= 'else' ) // InternalMelange.g:5198:4: ( 'else' )=>otherlv_6= 'else' { otherlv_6=(Token)match(input,86,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); } } // InternalMelange.g:5203:2: ( (lv_else_7_0= ruleXExpression ) ) // InternalMelange.g:5204:1: (lv_else_7_0= ruleXExpression ) { // InternalMelange.g:5204:1: (lv_else_7_0= ruleXExpression ) // InternalMelange.g:5205:3: lv_else_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); } pushFollow(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" // InternalMelange.g:5229:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ; public final EObject entryRuleXSwitchExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXSwitchExpression = null; try { // InternalMelange.g:5230:2: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ) // InternalMelange.g:5231:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXSwitchExpression=ruleXSwitchExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXSwitchExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXSwitchExpression" // $ANTLR start "ruleXSwitchExpression" // InternalMelange.g:5238: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 { // InternalMelange.g:5241: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= '}' ) ) // InternalMelange.g:5242: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= '}' ) { // InternalMelange.g:5242: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= '}' ) // InternalMelange.g:5242: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= '}' { // InternalMelange.g:5242:2: () // InternalMelange.g:5243:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(), current); } } otherlv_1=(Token)match(input,87,FOLLOW_78); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); } // InternalMelange.g:5252: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 alt99=2; alt99 = dfa99.predict(input); switch (alt99) { case 1 : // InternalMelange.g:5252:2: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) { // InternalMelange.g:5252:2: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) // InternalMelange.g:5252:3: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' { // InternalMelange.g:5252:3: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) // InternalMelange.g:5252:4: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) { // InternalMelange.g:5258:5: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) // InternalMelange.g:5258:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' { otherlv_2=(Token)match(input,35,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); } // InternalMelange.g:5262:1: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) // InternalMelange.g:5263:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) { // InternalMelange.g:5263:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) // InternalMelange.g:5264:3: lv_declaredParam_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); } pushFollow(FOLLOW_79); 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,88,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); } } } // InternalMelange.g:5284:3: ( (lv_switch_5_0= ruleXExpression ) ) // InternalMelange.g:5285:1: (lv_switch_5_0= ruleXExpression ) { // InternalMelange.g:5285:1: (lv_switch_5_0= ruleXExpression ) // InternalMelange.g:5286:3: lv_switch_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); } pushFollow(FOLLOW_66); 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,36,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); } } } break; case 2 : // InternalMelange.g:5307:6: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) { // InternalMelange.g:5307:6: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) // InternalMelange.g:5307:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) { // InternalMelange.g:5307:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? int alt98=2; alt98 = dfa98.predict(input); switch (alt98) { case 1 : // InternalMelange.g:5307:8: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) { // InternalMelange.g:5312:5: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) // InternalMelange.g:5312:6: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' { // InternalMelange.g:5312:6: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) // InternalMelange.g:5313:1: (lv_declaredParam_7_0= ruleJvmFormalParameter ) { // InternalMelange.g:5313:1: (lv_declaredParam_7_0= ruleJvmFormalParameter ) // InternalMelange.g:5314:3: lv_declaredParam_7_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); } pushFollow(FOLLOW_79); 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,88,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); } } } break; } // InternalMelange.g:5334:4: ( (lv_switch_9_0= ruleXExpression ) ) // InternalMelange.g:5335:1: (lv_switch_9_0= ruleXExpression ) { // InternalMelange.g:5335:1: (lv_switch_9_0= ruleXExpression ) // InternalMelange.g:5336:3: lv_switch_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); } pushFollow(FOLLOW_24); 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,20,FOLLOW_80); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); } // InternalMelange.g:5356:1: ( (lv_cases_11_0= ruleXCasePart ) )* loop100: do { int alt100=2; int LA100_0 = input.LA(1); if ( (LA100_0==RULE_ID||LA100_0==17||LA100_0==35||LA100_0==66||LA100_0==88||LA100_0==90) ) { alt100=1; } switch (alt100) { case 1 : // InternalMelange.g:5357:1: (lv_cases_11_0= ruleXCasePart ) { // InternalMelange.g:5357:1: (lv_cases_11_0= ruleXCasePart ) // InternalMelange.g:5358:3: lv_cases_11_0= ruleXCasePart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); } pushFollow(FOLLOW_80); 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 loop100; } } while (true); // InternalMelange.g:5374:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? int alt101=2; int LA101_0 = input.LA(1); if ( (LA101_0==89) ) { alt101=1; } switch (alt101) { case 1 : // InternalMelange.g:5374:5: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) { otherlv_12=(Token)match(input,89,FOLLOW_79); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); } otherlv_13=(Token)match(input,88,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); } // InternalMelange.g:5382:1: ( (lv_default_14_0= ruleXExpression ) ) // InternalMelange.g:5383:1: (lv_default_14_0= ruleXExpression ) { // InternalMelange.g:5383:1: (lv_default_14_0= ruleXExpression ) // InternalMelange.g:5384:3: lv_default_14_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); } pushFollow(FOLLOW_19); 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,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" // InternalMelange.g:5412:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ; public final EObject entryRuleXCasePart() throws RecognitionException { EObject current = null; EObject iv_ruleXCasePart = null; try { // InternalMelange.g:5413:2: (iv_ruleXCasePart= ruleXCasePart EOF ) // InternalMelange.g:5414:2: iv_ruleXCasePart= ruleXCasePart EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartRule()); } pushFollow(FOLLOW_1); iv_ruleXCasePart=ruleXCasePart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCasePart; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCasePart" // $ANTLR start "ruleXCasePart" // InternalMelange.g:5421: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 { // InternalMelange.g:5424: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= ',' ) ) ) ) ) // InternalMelange.g:5425: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= ',' ) ) ) ) { // InternalMelange.g:5425: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= ',' ) ) ) ) // InternalMelange.g:5425: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= ',' ) ) ) { // InternalMelange.g:5425:2: () // InternalMelange.g:5426:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXCasePartAccess().getXCasePartAction_0(), current); } } // InternalMelange.g:5431:2: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? int alt102=2; int LA102_0 = input.LA(1); if ( (LA102_0==RULE_ID||LA102_0==35||LA102_0==66) ) { alt102=1; } switch (alt102) { case 1 : // InternalMelange.g:5432:1: (lv_typeGuard_1_0= ruleJvmTypeReference ) { // InternalMelange.g:5432:1: (lv_typeGuard_1_0= ruleJvmTypeReference ) // InternalMelange.g:5433:3: lv_typeGuard_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FOLLOW_81); 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; } // InternalMelange.g:5449:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? int alt103=2; int LA103_0 = input.LA(1); if ( (LA103_0==90) ) { alt103=1; } switch (alt103) { case 1 : // InternalMelange.g:5449:5: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) { otherlv_2=(Token)match(input,90,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); } // InternalMelange.g:5453:1: ( (lv_case_3_0= ruleXExpression ) ) // InternalMelange.g:5454:1: (lv_case_3_0= ruleXExpression ) { // InternalMelange.g:5454:1: (lv_case_3_0= ruleXExpression ) // InternalMelange.g:5455:3: lv_case_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); } pushFollow(FOLLOW_82); 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; } // InternalMelange.g:5471:4: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) int alt104=2; int LA104_0 = input.LA(1); if ( (LA104_0==88) ) { alt104=1; } else if ( (LA104_0==17) ) { 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 : // InternalMelange.g:5471:5: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) { // InternalMelange.g:5471:5: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) // InternalMelange.g:5471:7: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,88,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); } // InternalMelange.g:5475:1: ( (lv_then_5_0= ruleXExpression ) ) // InternalMelange.g:5476:1: (lv_then_5_0= ruleXExpression ) { // InternalMelange.g:5476:1: (lv_then_5_0= ruleXExpression ) // InternalMelange.g:5477:3: lv_then_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); } pushFollow(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 : // InternalMelange.g:5494:6: ( (lv_fallThrough_6_0= ',' ) ) { // InternalMelange.g:5494:6: ( (lv_fallThrough_6_0= ',' ) ) // InternalMelange.g:5495:1: (lv_fallThrough_6_0= ',' ) { // InternalMelange.g:5495:1: (lv_fallThrough_6_0= ',' ) // InternalMelange.g:5496:3: lv_fallThrough_6_0= ',' { lv_fallThrough_6_0=(Token)match(input,17,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" // InternalMelange.g:5517:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ; public final EObject entryRuleXForLoopExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXForLoopExpression = null; try { // InternalMelange.g:5518:2: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ) // InternalMelange.g:5519:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXForLoopExpression=ruleXForLoopExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXForLoopExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXForLoopExpression" // $ANTLR start "ruleXForLoopExpression" // InternalMelange.g:5526: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 { // InternalMelange.g:5529: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 ) ) ) ) // InternalMelange.g:5530: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 ) ) ) { // InternalMelange.g:5530: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 ) ) ) // InternalMelange.g:5530: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 ) ) { // InternalMelange.g:5530:2: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) // InternalMelange.g:5530:3: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) { // InternalMelange.g:5538:5: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) // InternalMelange.g:5538:6: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' { // InternalMelange.g:5538:6: () // InternalMelange.g:5539:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(), current); } } otherlv_1=(Token)match(input,91,FOLLOW_27); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); } otherlv_2=(Token)match(input,35,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } // InternalMelange.g:5552:1: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) // InternalMelange.g:5553:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) { // InternalMelange.g:5553:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) // InternalMelange.g:5554:3: lv_declaredParam_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); } pushFollow(FOLLOW_79); 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,88,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); } } } // InternalMelange.g:5574:3: ( (lv_forExpression_5_0= ruleXExpression ) ) // InternalMelange.g:5575:1: (lv_forExpression_5_0= ruleXExpression ) { // InternalMelange.g:5575:1: (lv_forExpression_5_0= ruleXExpression ) // InternalMelange.g:5576:3: lv_forExpression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); } pushFollow(FOLLOW_66); 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,36,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); } // InternalMelange.g:5596:1: ( (lv_eachExpression_7_0= ruleXExpression ) ) // InternalMelange.g:5597:1: (lv_eachExpression_7_0= ruleXExpression ) { // InternalMelange.g:5597:1: (lv_eachExpression_7_0= ruleXExpression ) // InternalMelange.g:5598:3: lv_eachExpression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); } pushFollow(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" // InternalMelange.g:5622:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ; public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXBasicForLoopExpression = null; try { // InternalMelange.g:5623:2: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ) // InternalMelange.g:5624:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXBasicForLoopExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXBasicForLoopExpression" // $ANTLR start "ruleXBasicForLoopExpression" // InternalMelange.g:5631: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 { // InternalMelange.g:5634: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 ) ) ) ) // InternalMelange.g:5635: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 ) ) ) { // InternalMelange.g:5635: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 ) ) ) // InternalMelange.g:5635: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 ) ) { // InternalMelange.g:5635:2: () // InternalMelange.g:5636:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(), current); } } otherlv_1=(Token)match(input,91,FOLLOW_27); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); } otherlv_2=(Token)match(input,35,FOLLOW_83); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); } // InternalMelange.g:5649:1: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? int alt106=2; int LA106_0 = input.LA(1); if ( ((LA106_0>=RULE_STRING && LA106_0<=RULE_ID)||LA106_0==20||LA106_0==35||LA106_0==44||LA106_0==53||(LA106_0>=69 && LA106_0<=70)||LA106_0==75||LA106_0==82||LA106_0==85||LA106_0==87||(LA106_0>=91 && LA106_0<=108)||LA106_0==110) ) { alt106=1; } switch (alt106) { case 1 : // InternalMelange.g:5649:2: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* { // InternalMelange.g:5649:2: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) // InternalMelange.g:5650:1: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) { // InternalMelange.g:5650:1: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) // InternalMelange.g:5651:3: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); } pushFollow(FOLLOW_84); 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(); } } } // InternalMelange.g:5667:2: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* loop105: do { int alt105=2; int LA105_0 = input.LA(1); if ( (LA105_0==17) ) { alt105=1; } switch (alt105) { case 1 : // InternalMelange.g:5667:4: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) { otherlv_4=(Token)match(input,17,FOLLOW_85); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); } // InternalMelange.g:5671:1: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) // InternalMelange.g:5672:1: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) { // InternalMelange.g:5672:1: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) // InternalMelange.g:5673:3: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); } pushFollow(FOLLOW_84); 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 loop105; } } while (true); } break; } otherlv_6=(Token)match(input,84,FOLLOW_86); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); } // InternalMelange.g:5693:1: ( (lv_expression_7_0= ruleXExpression ) )? int alt107=2; int LA107_0 = input.LA(1); if ( ((LA107_0>=RULE_STRING && LA107_0<=RULE_ID)||LA107_0==20||LA107_0==35||LA107_0==44||LA107_0==53||(LA107_0>=69 && LA107_0<=70)||LA107_0==75||LA107_0==82||LA107_0==85||LA107_0==87||(LA107_0>=91 && LA107_0<=93)||(LA107_0>=96 && LA107_0<=108)||LA107_0==110) ) { alt107=1; } switch (alt107) { case 1 : // InternalMelange.g:5694:1: (lv_expression_7_0= ruleXExpression ) { // InternalMelange.g:5694:1: (lv_expression_7_0= ruleXExpression ) // InternalMelange.g:5695:3: lv_expression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); } pushFollow(FOLLOW_87); 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,84,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); } // InternalMelange.g:5715:1: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? int alt109=2; int LA109_0 = input.LA(1); if ( ((LA109_0>=RULE_STRING && LA109_0<=RULE_ID)||LA109_0==20||LA109_0==35||LA109_0==44||LA109_0==53||(LA109_0>=69 && LA109_0<=70)||LA109_0==75||LA109_0==82||LA109_0==85||LA109_0==87||(LA109_0>=91 && LA109_0<=93)||(LA109_0>=96 && LA109_0<=108)||LA109_0==110) ) { alt109=1; } switch (alt109) { case 1 : // InternalMelange.g:5715:2: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* { // InternalMelange.g:5715:2: ( (lv_updateExpressions_9_0= ruleXExpression ) ) // InternalMelange.g:5716:1: (lv_updateExpressions_9_0= ruleXExpression ) { // InternalMelange.g:5716:1: (lv_updateExpressions_9_0= ruleXExpression ) // InternalMelange.g:5717:3: lv_updateExpressions_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); } pushFollow(FOLLOW_29); 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(); } } } // InternalMelange.g:5733:2: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* loop108: do { int alt108=2; int LA108_0 = input.LA(1); if ( (LA108_0==17) ) { alt108=1; } switch (alt108) { case 1 : // InternalMelange.g:5733:4: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) { otherlv_10=(Token)match(input,17,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); } // InternalMelange.g:5737:1: ( (lv_updateExpressions_11_0= ruleXExpression ) ) // InternalMelange.g:5738:1: (lv_updateExpressions_11_0= ruleXExpression ) { // InternalMelange.g:5738:1: (lv_updateExpressions_11_0= ruleXExpression ) // InternalMelange.g:5739:3: lv_updateExpressions_11_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); } pushFollow(FOLLOW_29); 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 loop108; } } while (true); } break; } otherlv_12=(Token)match(input,36,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); } // InternalMelange.g:5759:1: ( (lv_eachExpression_13_0= ruleXExpression ) ) // InternalMelange.g:5760:1: (lv_eachExpression_13_0= ruleXExpression ) { // InternalMelange.g:5760:1: (lv_eachExpression_13_0= ruleXExpression ) // InternalMelange.g:5761:3: lv_eachExpression_13_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); } pushFollow(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" // InternalMelange.g:5785:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ; public final EObject entryRuleXWhileExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXWhileExpression = null; try { // InternalMelange.g:5786:2: (iv_ruleXWhileExpression= ruleXWhileExpression EOF ) // InternalMelange.g:5787:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXWhileExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXWhileExpression=ruleXWhileExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXWhileExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXWhileExpression" // $ANTLR start "ruleXWhileExpression" // InternalMelange.g:5794: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 { // InternalMelange.g:5797:28: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ) // InternalMelange.g:5798:1: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) { // InternalMelange.g:5798:1: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) // InternalMelange.g:5798:2: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) { // InternalMelange.g:5798:2: () // InternalMelange.g:5799:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(), current); } } otherlv_1=(Token)match(input,92,FOLLOW_27); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); } otherlv_2=(Token)match(input,35,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); } // InternalMelange.g:5812:1: ( (lv_predicate_3_0= ruleXExpression ) ) // InternalMelange.g:5813:1: (lv_predicate_3_0= ruleXExpression ) { // InternalMelange.g:5813:1: (lv_predicate_3_0= ruleXExpression ) // InternalMelange.g:5814:3: lv_predicate_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); } pushFollow(FOLLOW_66); 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,36,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); } // InternalMelange.g:5834:1: ( (lv_body_5_0= ruleXExpression ) ) // InternalMelange.g:5835:1: (lv_body_5_0= ruleXExpression ) { // InternalMelange.g:5835:1: (lv_body_5_0= ruleXExpression ) // InternalMelange.g:5836:3: lv_body_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); } pushFollow(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" // InternalMelange.g:5860:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ; public final EObject entryRuleXDoWhileExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXDoWhileExpression = null; try { // InternalMelange.g:5861:2: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ) // InternalMelange.g:5862:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXDoWhileExpression=ruleXDoWhileExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXDoWhileExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXDoWhileExpression" // $ANTLR start "ruleXDoWhileExpression" // InternalMelange.g:5869: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 { // InternalMelange.g:5872:28: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ) // InternalMelange.g:5873:1: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) { // InternalMelange.g:5873:1: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) // InternalMelange.g:5873:2: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' { // InternalMelange.g:5873:2: () // InternalMelange.g:5874:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(), current); } } otherlv_1=(Token)match(input,93,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); } // InternalMelange.g:5883:1: ( (lv_body_2_0= ruleXExpression ) ) // InternalMelange.g:5884:1: (lv_body_2_0= ruleXExpression ) { // InternalMelange.g:5884:1: (lv_body_2_0= ruleXExpression ) // InternalMelange.g:5885:3: lv_body_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); } pushFollow(FOLLOW_89); 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,92,FOLLOW_27); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); } otherlv_4=(Token)match(input,35,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); } // InternalMelange.g:5909:1: ( (lv_predicate_5_0= ruleXExpression ) ) // InternalMelange.g:5910:1: (lv_predicate_5_0= ruleXExpression ) { // InternalMelange.g:5910:1: (lv_predicate_5_0= ruleXExpression ) // InternalMelange.g:5911:3: lv_predicate_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); } pushFollow(FOLLOW_66); 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,36,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 "entryRuleXBlockExpression" // InternalMelange.g:5939:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ; public final EObject entryRuleXBlockExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXBlockExpression = null; try { // InternalMelange.g:5940:2: (iv_ruleXBlockExpression= ruleXBlockExpression EOF ) // InternalMelange.g:5941:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBlockExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXBlockExpression=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXBlockExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXBlockExpression" // $ANTLR start "ruleXBlockExpression" // InternalMelange.g:5948: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 { // InternalMelange.g:5951:28: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ) // InternalMelange.g:5952:1: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) { // InternalMelange.g:5952:1: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) // InternalMelange.g:5952:2: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' { // InternalMelange.g:5952:2: () // InternalMelange.g:5953:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(), current); } } otherlv_1=(Token)match(input,20,FOLLOW_90); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); } // InternalMelange.g:5962:1: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* loop111: do { int alt111=2; int LA111_0 = input.LA(1); if ( ((LA111_0>=RULE_STRING && LA111_0<=RULE_ID)||LA111_0==20||LA111_0==35||LA111_0==44||LA111_0==53||(LA111_0>=69 && LA111_0<=70)||LA111_0==75||LA111_0==82||LA111_0==85||LA111_0==87||(LA111_0>=91 && LA111_0<=108)||LA111_0==110) ) { alt111=1; } switch (alt111) { case 1 : // InternalMelange.g:5962:2: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? { // InternalMelange.g:5962:2: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) // InternalMelange.g:5963:1: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) { // InternalMelange.g:5963:1: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) // InternalMelange.g:5964:3: lv_expressions_2_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); } pushFollow(FOLLOW_91); 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(); } } } // InternalMelange.g:5980:2: (otherlv_3= ';' )? int alt110=2; int LA110_0 = input.LA(1); if ( (LA110_0==84) ) { alt110=1; } switch (alt110) { case 1 : // InternalMelange.g:5980:4: otherlv_3= ';' { otherlv_3=(Token)match(input,84,FOLLOW_90); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); } } break; } } break; default : break loop111; } } while (true); otherlv_4=(Token)match(input,30,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 "entryRuleXExpressionOrVarDeclaration" // InternalMelange.g:5996:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ; public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXExpressionOrVarDeclaration = null; try { // InternalMelange.g:5997:2: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ) // InternalMelange.g:5998:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); } pushFollow(FOLLOW_1); iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXExpressionOrVarDeclaration; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXExpressionOrVarDeclaration" // $ANTLR start "ruleXExpressionOrVarDeclaration" // InternalMelange.g:6005: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 { // InternalMelange.g:6008:28: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ) // InternalMelange.g:6009:1: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) { // InternalMelange.g:6009:1: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) int alt112=2; int LA112_0 = input.LA(1); if ( ((LA112_0>=94 && LA112_0<=95)) ) { alt112=1; } else if ( ((LA112_0>=RULE_STRING && LA112_0<=RULE_ID)||LA112_0==20||LA112_0==35||LA112_0==44||LA112_0==53||(LA112_0>=69 && LA112_0<=70)||LA112_0==75||LA112_0==82||LA112_0==85||LA112_0==87||(LA112_0>=91 && LA112_0<=93)||(LA112_0>=96 && LA112_0<=108)||LA112_0==110) ) { alt112=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 112, 0, input); throw nvae; } switch (alt112) { case 1 : // InternalMelange.g:6010:5: this_XVariableDeclaration_0= ruleXVariableDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); } pushFollow(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 : // InternalMelange.g:6020:5: this_XExpression_1= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); } pushFollow(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" // InternalMelange.g:6036:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ; public final EObject entryRuleXVariableDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXVariableDeclaration = null; try { // InternalMelange.g:6037:2: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ) // InternalMelange.g:6038:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationRule()); } pushFollow(FOLLOW_1); iv_ruleXVariableDeclaration=ruleXVariableDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXVariableDeclaration; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXVariableDeclaration" // $ANTLR start "ruleXVariableDeclaration" // InternalMelange.g:6045: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 { // InternalMelange.g:6048: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 ) ) )? ) ) // InternalMelange.g:6049: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 ) ) )? ) { // InternalMelange.g:6049: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 ) ) )? ) // InternalMelange.g:6049: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 ) ) )? { // InternalMelange.g:6049:2: () // InternalMelange.g:6050:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(), current); } } // InternalMelange.g:6055:2: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) int alt113=2; int LA113_0 = input.LA(1); if ( (LA113_0==94) ) { alt113=1; } else if ( (LA113_0==95) ) { alt113=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 113, 0, input); throw nvae; } switch (alt113) { case 1 : // InternalMelange.g:6055:3: ( (lv_writeable_1_0= 'var' ) ) { // InternalMelange.g:6055:3: ( (lv_writeable_1_0= 'var' ) ) // InternalMelange.g:6056:1: (lv_writeable_1_0= 'var' ) { // InternalMelange.g:6056:1: (lv_writeable_1_0= 'var' ) // InternalMelange.g:6057:3: lv_writeable_1_0= 'var' { lv_writeable_1_0=(Token)match(input,94,FOLLOW_16); 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 : // InternalMelange.g:6071:7: otherlv_2= 'val' { otherlv_2=(Token)match(input,95,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); } } break; } // InternalMelange.g:6075:2: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) int alt114=2; int LA114_0 = input.LA(1); if ( (LA114_0==RULE_ID) ) { int LA114_1 = input.LA(2); if ( (synpred33_InternalMelange()) ) { alt114=1; } else if ( (true) ) { alt114=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 114, 1, input); throw nvae; } } else if ( (LA114_0==35) && (synpred33_InternalMelange())) { alt114=1; } else if ( (LA114_0==66) && (synpred33_InternalMelange())) { alt114=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 114, 0, input); throw nvae; } switch (alt114) { case 1 : // InternalMelange.g:6075:3: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) { // InternalMelange.g:6075:3: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) // InternalMelange.g:6075:4: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) { // InternalMelange.g:6083:6: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) // InternalMelange.g:6083:7: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) { // InternalMelange.g:6083:7: ( (lv_type_3_0= ruleJvmTypeReference ) ) // InternalMelange.g:6084:1: (lv_type_3_0= ruleJvmTypeReference ) { // InternalMelange.g:6084:1: (lv_type_3_0= ruleJvmTypeReference ) // InternalMelange.g:6085:3: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); } pushFollow(FOLLOW_3); 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(); } } } // InternalMelange.g:6101:2: ( (lv_name_4_0= ruleValidID ) ) // InternalMelange.g:6102:1: (lv_name_4_0= ruleValidID ) { // InternalMelange.g:6102:1: (lv_name_4_0= ruleValidID ) // InternalMelange.g:6103:3: lv_name_4_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); } pushFollow(FOLLOW_92); 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.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } } } } break; case 2 : // InternalMelange.g:6120:6: ( (lv_name_5_0= ruleValidID ) ) { // InternalMelange.g:6120:6: ( (lv_name_5_0= ruleValidID ) ) // InternalMelange.g:6121:1: (lv_name_5_0= ruleValidID ) { // InternalMelange.g:6121:1: (lv_name_5_0= ruleValidID ) // InternalMelange.g:6122:3: lv_name_5_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); } pushFollow(FOLLOW_92); 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.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } } break; } // InternalMelange.g:6138:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? int alt115=2; int LA115_0 = input.LA(1); if ( (LA115_0==47) ) { alt115=1; } switch (alt115) { case 1 : // InternalMelange.g:6138:5: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) { otherlv_6=(Token)match(input,47,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); } // InternalMelange.g:6142:1: ( (lv_right_7_0= ruleXExpression ) ) // InternalMelange.g:6143:1: (lv_right_7_0= ruleXExpression ) { // InternalMelange.g:6143:1: (lv_right_7_0= ruleXExpression ) // InternalMelange.g:6144:3: lv_right_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); } pushFollow(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" // InternalMelange.g:6168:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ; public final EObject entryRuleJvmFormalParameter() throws RecognitionException { EObject current = null; EObject iv_ruleJvmFormalParameter = null; try { // InternalMelange.g:6169:2: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ) // InternalMelange.g:6170:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterRule()); } pushFollow(FOLLOW_1); iv_ruleJvmFormalParameter=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmFormalParameter; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmFormalParameter" // $ANTLR start "ruleJvmFormalParameter" // InternalMelange.g:6177: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 { // InternalMelange.g:6180:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ) // InternalMelange.g:6181:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) { // InternalMelange.g:6181:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) // InternalMelange.g:6181:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) { // InternalMelange.g:6181:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? int alt116=2; int LA116_0 = input.LA(1); if ( (LA116_0==RULE_ID) ) { int LA116_1 = input.LA(2); if ( (LA116_1==RULE_ID||LA116_1==44||LA116_1==53||LA116_1==79) ) { alt116=1; } } else if ( (LA116_0==35||LA116_0==66) ) { alt116=1; } switch (alt116) { case 1 : // InternalMelange.g:6182:1: (lv_parameterType_0_0= ruleJvmTypeReference ) { // InternalMelange.g:6182:1: (lv_parameterType_0_0= ruleJvmTypeReference ) // InternalMelange.g:6183:3: lv_parameterType_0_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } pushFollow(FOLLOW_3); 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; } // InternalMelange.g:6199:3: ( (lv_name_1_0= ruleValidID ) ) // InternalMelange.g:6200:1: (lv_name_1_0= ruleValidID ) { // InternalMelange.g:6200:1: (lv_name_1_0= ruleValidID ) // InternalMelange.g:6201:3: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(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.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmFormalParameter" // $ANTLR start "entryRuleFullJvmFormalParameter" // InternalMelange.g:6225:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ; public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException { EObject current = null; EObject iv_ruleFullJvmFormalParameter = null; try { // InternalMelange.g:6226:2: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ) // InternalMelange.g:6227:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); } pushFollow(FOLLOW_1); iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFullJvmFormalParameter; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFullJvmFormalParameter" // $ANTLR start "ruleFullJvmFormalParameter" // InternalMelange.g:6234: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 { // InternalMelange.g:6237:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ) // InternalMelange.g:6238:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) { // InternalMelange.g:6238:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) // InternalMelange.g:6238:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) { // InternalMelange.g:6238:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) // InternalMelange.g:6239:1: (lv_parameterType_0_0= ruleJvmTypeReference ) { // InternalMelange.g:6239:1: (lv_parameterType_0_0= ruleJvmTypeReference ) // InternalMelange.g:6240:3: lv_parameterType_0_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } pushFollow(FOLLOW_3); 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(); } } } // InternalMelange.g:6256:2: ( (lv_name_1_0= ruleValidID ) ) // InternalMelange.g:6257:1: (lv_name_1_0= ruleValidID ) { // InternalMelange.g:6257:1: (lv_name_1_0= ruleValidID ) // InternalMelange.g:6258:3: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(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.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFullJvmFormalParameter" // $ANTLR start "entryRuleXFeatureCall" // InternalMelange.g:6282:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ; public final EObject entryRuleXFeatureCall() throws RecognitionException { EObject current = null; EObject iv_ruleXFeatureCall = null; try { // InternalMelange.g:6283:2: (iv_ruleXFeatureCall= ruleXFeatureCall EOF ) // InternalMelange.g:6284:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallRule()); } pushFollow(FOLLOW_1); iv_ruleXFeatureCall=ruleXFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXFeatureCall; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXFeatureCall" // $ANTLR start "ruleXFeatureCall" // InternalMelange.g:6291: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 { // InternalMelange.g:6294: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 ) )? ) ) // InternalMelange.g:6295: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 ) )? ) { // InternalMelange.g:6295: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 ) )? ) // InternalMelange.g:6295: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 ) )? { // InternalMelange.g:6295:2: () // InternalMelange.g:6296:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(), current); } } // InternalMelange.g:6301:2: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? int alt118=2; int LA118_0 = input.LA(1); if ( (LA118_0==53) ) { alt118=1; } switch (alt118) { case 1 : // InternalMelange.g:6301:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' { otherlv_1=(Token)match(input,53,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); } // InternalMelange.g:6305:1: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) // InternalMelange.g:6306:1: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) { // InternalMelange.g:6306:1: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) // InternalMelange.g:6307:3: lv_typeArguments_2_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FOLLOW_63); 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(); } } } // InternalMelange.g:6323:2: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* loop117: do { int alt117=2; int LA117_0 = input.LA(1); if ( (LA117_0==17) ) { alt117=1; } switch (alt117) { case 1 : // InternalMelange.g:6323:4: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) { otherlv_3=(Token)match(input,17,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); } // InternalMelange.g:6327:1: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) // InternalMelange.g:6328:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) { // InternalMelange.g:6328:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) // InternalMelange.g:6329:3: lv_typeArguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } pushFollow(FOLLOW_63); 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 loop117; } } while (true); otherlv_5=(Token)match(input,54,FOLLOW_61); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); } } break; } // InternalMelange.g:6349:3: ( ( ruleIdOrSuper ) ) // InternalMelange.g:6350:1: ( ruleIdOrSuper ) { // InternalMelange.g:6350:1: ( ruleIdOrSuper ) // InternalMelange.g:6351:3: ruleIdOrSuper { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXFeatureCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); } pushFollow(FOLLOW_93); ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:6364: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 alt121=2; alt121 = dfa121.predict(input); switch (alt121) { case 1 : // InternalMelange.g:6364: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= ')' { // InternalMelange.g:6364:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) // InternalMelange.g:6364:4: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) { // InternalMelange.g:6371:1: (lv_explicitOperationCall_7_0= '(' ) // InternalMelange.g:6372:3: lv_explicitOperationCall_7_0= '(' { lv_explicitOperationCall_7_0=(Token)match(input,35,FOLLOW_65); 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, "("); } } } // InternalMelange.g:6385:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? int alt120=3; alt120 = dfa120.predict(input); switch (alt120) { case 1 : // InternalMelange.g:6385:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) { // InternalMelange.g:6385:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) // InternalMelange.g:6385:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) { // InternalMelange.g:6402:1: (lv_featureCallArguments_8_0= ruleXShortClosure ) // InternalMelange.g:6403:3: lv_featureCallArguments_8_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); } pushFollow(FOLLOW_66); 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 : // InternalMelange.g:6420:6: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) { // InternalMelange.g:6420:6: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) // InternalMelange.g:6420:7: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* { // InternalMelange.g:6420:7: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) // InternalMelange.g:6421:1: (lv_featureCallArguments_9_0= ruleXExpression ) { // InternalMelange.g:6421:1: (lv_featureCallArguments_9_0= ruleXExpression ) // InternalMelange.g:6422:3: lv_featureCallArguments_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); } pushFollow(FOLLOW_29); 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(); } } } // InternalMelange.g:6438:2: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* loop119: do { int alt119=2; int LA119_0 = input.LA(1); if ( (LA119_0==17) ) { alt119=1; } switch (alt119) { case 1 : // InternalMelange.g:6438:4: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) { otherlv_10=(Token)match(input,17,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); } // InternalMelange.g:6442:1: ( (lv_featureCallArguments_11_0= ruleXExpression ) ) // InternalMelange.g:6443:1: (lv_featureCallArguments_11_0= ruleXExpression ) { // InternalMelange.g:6443:1: (lv_featureCallArguments_11_0= ruleXExpression ) // InternalMelange.g:6444:3: lv_featureCallArguments_11_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); } pushFollow(FOLLOW_29); 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 loop119; } } while (true); } } break; } otherlv_12=(Token)match(input,36,FOLLOW_94); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); } } break; } // InternalMelange.g:6464:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? int alt122=2; alt122 = dfa122.predict(input); switch (alt122) { case 1 : // InternalMelange.g:6464:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) { // InternalMelange.g:6467:1: (lv_featureCallArguments_13_0= ruleXClosure ) // InternalMelange.g:6468:3: lv_featureCallArguments_13_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); } pushFollow(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 "entryRuleFeatureCallID" // InternalMelange.g:6492:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ; public final String entryRuleFeatureCallID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleFeatureCallID = null; try { // InternalMelange.g:6493:2: (iv_ruleFeatureCallID= ruleFeatureCallID EOF ) // InternalMelange.g:6494:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFeatureCallIDRule()); } pushFollow(FOLLOW_1); iv_ruleFeatureCallID=ruleFeatureCallID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFeatureCallID.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFeatureCallID" // $ANTLR start "ruleFeatureCallID" // InternalMelange.g:6501:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ; public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_ValidID_0 = null; enterRule(); try { // InternalMelange.g:6504:28: ( (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ) // InternalMelange.g:6505:1: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) { // InternalMelange.g:6505:1: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) int alt123=5; switch ( input.LA(1) ) { case RULE_ID: { alt123=1; } break; case 96: { alt123=2; } break; case 97: { alt123=3; } break; case 98: { alt123=4; } break; case 99: { alt123=5; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 123, 0, input); throw nvae; } switch (alt123) { case 1 : // InternalMelange.g:6506:5: this_ValidID_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); } pushFollow(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 : // InternalMelange.g:6518:2: kw= 'extends' { kw=(Token)match(input,96,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); } } break; case 3 : // InternalMelange.g:6525:2: kw= 'static' { kw=(Token)match(input,97,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); } } break; case 4 : // InternalMelange.g:6532:2: kw= 'import' { kw=(Token)match(input,98,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); } } break; case 5 : // InternalMelange.g:6539:2: kw= 'extension' { kw=(Token)match(input,99,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFeatureCallID" // $ANTLR start "entryRuleIdOrSuper" // InternalMelange.g:6552:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ; public final String entryRuleIdOrSuper() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleIdOrSuper = null; try { // InternalMelange.g:6553:2: (iv_ruleIdOrSuper= ruleIdOrSuper EOF ) // InternalMelange.g:6554:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIdOrSuperRule()); } pushFollow(FOLLOW_1); iv_ruleIdOrSuper=ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleIdOrSuper.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleIdOrSuper" // $ANTLR start "ruleIdOrSuper" // InternalMelange.g:6561: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 { // InternalMelange.g:6564:28: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ) // InternalMelange.g:6565:1: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) { // InternalMelange.g:6565:1: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) int alt124=2; int LA124_0 = input.LA(1); if ( (LA124_0==RULE_ID||(LA124_0>=96 && LA124_0<=99)) ) { alt124=1; } else if ( (LA124_0==100) ) { alt124=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 124, 0, input); throw nvae; } switch (alt124) { case 1 : // InternalMelange.g:6566:5: this_FeatureCallID_0= ruleFeatureCallID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); } pushFollow(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 : // InternalMelange.g:6578:2: kw= 'super' { kw=(Token)match(input,100,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" // InternalMelange.g:6591:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ; public final EObject entryRuleXConstructorCall() throws RecognitionException { EObject current = null; EObject iv_ruleXConstructorCall = null; try { // InternalMelange.g:6592:2: (iv_ruleXConstructorCall= ruleXConstructorCall EOF ) // InternalMelange.g:6593:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallRule()); } pushFollow(FOLLOW_1); iv_ruleXConstructorCall=ruleXConstructorCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXConstructorCall; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXConstructorCall" // $ANTLR start "ruleXConstructorCall" // InternalMelange.g:6600: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 { // InternalMelange.g:6603: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 ) )? ) ) // InternalMelange.g:6604: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 ) )? ) { // InternalMelange.g:6604: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 ) )? ) // InternalMelange.g:6604: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 ) )? { // InternalMelange.g:6604:2: () // InternalMelange.g:6605:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(), current); } } otherlv_1=(Token)match(input,101,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); } // InternalMelange.g:6614:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:6615:1: ( ruleQualifiedName ) { // InternalMelange.g:6615:1: ( ruleQualifiedName ) // InternalMelange.g:6616:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXConstructorCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); } pushFollow(FOLLOW_95); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:6629:2: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? int alt126=2; alt126 = dfa126.predict(input); switch (alt126) { case 1 : // InternalMelange.g:6629:3: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' { // InternalMelange.g:6629:3: ( ( '<' )=>otherlv_3= '<' ) // InternalMelange.g:6629:4: ( '<' )=>otherlv_3= '<' { otherlv_3=(Token)match(input,53,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); } } // InternalMelange.g:6634:2: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) // InternalMelange.g:6635:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) { // InternalMelange.g:6635:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) // InternalMelange.g:6636:3: lv_typeArguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); } pushFollow(FOLLOW_63); 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(); } } } // InternalMelange.g:6652:2: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* loop125: do { int alt125=2; int LA125_0 = input.LA(1); if ( (LA125_0==17) ) { alt125=1; } switch (alt125) { case 1 : // InternalMelange.g:6652:4: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) { otherlv_5=(Token)match(input,17,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); } // InternalMelange.g:6656:1: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) // InternalMelange.g:6657:1: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) { // InternalMelange.g:6657:1: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) // InternalMelange.g:6658:3: lv_typeArguments_6_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); } pushFollow(FOLLOW_63); 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 loop125; } } while (true); otherlv_7=(Token)match(input,54,FOLLOW_93); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); } } break; } // InternalMelange.g:6678: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 alt129=2; alt129 = dfa129.predict(input); switch (alt129) { case 1 : // InternalMelange.g:6678: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= ')' { // InternalMelange.g:6678:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) // InternalMelange.g:6678:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) { // InternalMelange.g:6685:1: (lv_explicitConstructorCall_8_0= '(' ) // InternalMelange.g:6686:3: lv_explicitConstructorCall_8_0= '(' { lv_explicitConstructorCall_8_0=(Token)match(input,35,FOLLOW_65); 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, "("); } } } // InternalMelange.g:6699:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? int alt128=3; alt128 = dfa128.predict(input); switch (alt128) { case 1 : // InternalMelange.g:6699:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) { // InternalMelange.g:6699:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) // InternalMelange.g:6699:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) { // InternalMelange.g:6716:1: (lv_arguments_9_0= ruleXShortClosure ) // InternalMelange.g:6717:3: lv_arguments_9_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); } pushFollow(FOLLOW_66); 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 : // InternalMelange.g:6734:6: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) { // InternalMelange.g:6734:6: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) // InternalMelange.g:6734:7: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* { // InternalMelange.g:6734:7: ( (lv_arguments_10_0= ruleXExpression ) ) // InternalMelange.g:6735:1: (lv_arguments_10_0= ruleXExpression ) { // InternalMelange.g:6735:1: (lv_arguments_10_0= ruleXExpression ) // InternalMelange.g:6736:3: lv_arguments_10_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); } pushFollow(FOLLOW_29); 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(); } } } // InternalMelange.g:6752:2: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* loop127: do { int alt127=2; int LA127_0 = input.LA(1); if ( (LA127_0==17) ) { alt127=1; } switch (alt127) { case 1 : // InternalMelange.g:6752:4: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) { otherlv_11=(Token)match(input,17,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); } // InternalMelange.g:6756:1: ( (lv_arguments_12_0= ruleXExpression ) ) // InternalMelange.g:6757:1: (lv_arguments_12_0= ruleXExpression ) { // InternalMelange.g:6757:1: (lv_arguments_12_0= ruleXExpression ) // InternalMelange.g:6758:3: lv_arguments_12_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); } pushFollow(FOLLOW_29); 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 loop127; } } while (true); } } break; } otherlv_13=(Token)match(input,36,FOLLOW_94); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); } } break; } // InternalMelange.g:6778:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? int alt130=2; alt130 = dfa130.predict(input); switch (alt130) { case 1 : // InternalMelange.g:6778:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) { // InternalMelange.g:6781:1: (lv_arguments_14_0= ruleXClosure ) // InternalMelange.g:6782:3: lv_arguments_14_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); } pushFollow(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" // InternalMelange.g:6806:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ; public final EObject entryRuleXBooleanLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXBooleanLiteral = null; try { // InternalMelange.g:6807:2: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ) // InternalMelange.g:6808:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBooleanLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleXBooleanLiteral=ruleXBooleanLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXBooleanLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXBooleanLiteral" // $ANTLR start "ruleXBooleanLiteral" // InternalMelange.g:6815: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 { // InternalMelange.g:6818:28: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ) // InternalMelange.g:6819:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) { // InternalMelange.g:6819:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) // InternalMelange.g:6819:2: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) { // InternalMelange.g:6819:2: () // InternalMelange.g:6820:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(), current); } } // InternalMelange.g:6825:2: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) int alt131=2; int LA131_0 = input.LA(1); if ( (LA131_0==102) ) { alt131=1; } else if ( (LA131_0==103) ) { alt131=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 131, 0, input); throw nvae; } switch (alt131) { case 1 : // InternalMelange.g:6825:4: otherlv_1= 'false' { otherlv_1=(Token)match(input,102,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); } } break; case 2 : // InternalMelange.g:6830:6: ( (lv_isTrue_2_0= 'true' ) ) { // InternalMelange.g:6830:6: ( (lv_isTrue_2_0= 'true' ) ) // InternalMelange.g:6831:1: (lv_isTrue_2_0= 'true' ) { // InternalMelange.g:6831:1: (lv_isTrue_2_0= 'true' ) // InternalMelange.g:6832:3: lv_isTrue_2_0= 'true' { lv_isTrue_2_0=(Token)match(input,103,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" // InternalMelange.g:6853:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ; public final EObject entryRuleXNullLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXNullLiteral = null; try { // InternalMelange.g:6854:2: (iv_ruleXNullLiteral= ruleXNullLiteral EOF ) // InternalMelange.g:6855:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXNullLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleXNullLiteral=ruleXNullLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXNullLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXNullLiteral" // $ANTLR start "ruleXNullLiteral" // InternalMelange.g:6862:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ; public final EObject ruleXNullLiteral() throws RecognitionException { EObject current = null; Token otherlv_1=null; enterRule(); try { // InternalMelange.g:6865:28: ( ( () otherlv_1= 'null' ) ) // InternalMelange.g:6866:1: ( () otherlv_1= 'null' ) { // InternalMelange.g:6866:1: ( () otherlv_1= 'null' ) // InternalMelange.g:6866:2: () otherlv_1= 'null' { // InternalMelange.g:6866:2: () // InternalMelange.g:6867:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(), current); } } otherlv_1=(Token)match(input,104,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" // InternalMelange.g:6884:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ; public final EObject entryRuleXNumberLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXNumberLiteral = null; try { // InternalMelange.g:6885:2: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ) // InternalMelange.g:6886:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXNumberLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleXNumberLiteral=ruleXNumberLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXNumberLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXNumberLiteral" // $ANTLR start "ruleXNumberLiteral" // InternalMelange.g:6893: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 { // InternalMelange.g:6896:28: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) ) // InternalMelange.g:6897:1: ( () ( (lv_value_1_0= ruleNumber ) ) ) { // InternalMelange.g:6897:1: ( () ( (lv_value_1_0= ruleNumber ) ) ) // InternalMelange.g:6897:2: () ( (lv_value_1_0= ruleNumber ) ) { // InternalMelange.g:6897:2: () // InternalMelange.g:6898:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(), current); } } // InternalMelange.g:6903:2: ( (lv_value_1_0= ruleNumber ) ) // InternalMelange.g:6904:1: (lv_value_1_0= ruleNumber ) { // InternalMelange.g:6904:1: (lv_value_1_0= ruleNumber ) // InternalMelange.g:6905:3: lv_value_1_0= ruleNumber { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); } pushFollow(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" // InternalMelange.g:6929:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ; public final EObject entryRuleXStringLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXStringLiteral = null; try { // InternalMelange.g:6930:2: (iv_ruleXStringLiteral= ruleXStringLiteral EOF ) // InternalMelange.g:6931:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXStringLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleXStringLiteral=ruleXStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXStringLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXStringLiteral" // $ANTLR start "ruleXStringLiteral" // InternalMelange.g:6938: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 { // InternalMelange.g:6941:28: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) ) // InternalMelange.g:6942:1: ( () ( (lv_value_1_0= RULE_STRING ) ) ) { // InternalMelange.g:6942:1: ( () ( (lv_value_1_0= RULE_STRING ) ) ) // InternalMelange.g:6942:2: () ( (lv_value_1_0= RULE_STRING ) ) { // InternalMelange.g:6942:2: () // InternalMelange.g:6943:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(), current); } } // InternalMelange.g:6948:2: ( (lv_value_1_0= RULE_STRING ) ) // InternalMelange.g:6949:1: (lv_value_1_0= RULE_STRING ) { // InternalMelange.g:6949:1: (lv_value_1_0= RULE_STRING ) // InternalMelange.g:6950:3: lv_value_1_0= RULE_STRING { lv_value_1_0=(Token)match(input,RULE_STRING,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" // InternalMelange.g:6974:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ; public final EObject entryRuleXTypeLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXTypeLiteral = null; try { // InternalMelange.g:6975:2: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ) // InternalMelange.g:6976:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleXTypeLiteral=ruleXTypeLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXTypeLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXTypeLiteral" // $ANTLR start "ruleXTypeLiteral" // InternalMelange.g:6983: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 { // InternalMelange.g:6986:28: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ) // InternalMelange.g:6987:1: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) { // InternalMelange.g:6987:1: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) // InternalMelange.g:6987:2: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' { // InternalMelange.g:6987:2: () // InternalMelange.g:6988:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(), current); } } otherlv_1=(Token)match(input,105,FOLLOW_27); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); } otherlv_2=(Token)match(input,35,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); } // InternalMelange.g:7001:1: ( ( ruleQualifiedName ) ) // InternalMelange.g:7002:1: ( ruleQualifiedName ) { // InternalMelange.g:7002:1: ( ruleQualifiedName ) // InternalMelange.g:7003:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXTypeLiteralRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); } pushFollow(FOLLOW_96); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:7016:2: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* loop132: do { int alt132=2; int LA132_0 = input.LA(1); if ( (LA132_0==44) ) { alt132=1; } switch (alt132) { case 1 : // InternalMelange.g:7017:1: (lv_arrayDimensions_4_0= ruleArrayBrackets ) { // InternalMelange.g:7017:1: (lv_arrayDimensions_4_0= ruleArrayBrackets ) // InternalMelange.g:7018:3: lv_arrayDimensions_4_0= ruleArrayBrackets { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); } pushFollow(FOLLOW_96); 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 loop132; } } while (true); otherlv_5=(Token)match(input,36,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" // InternalMelange.g:7046:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ; public final EObject entryRuleXThrowExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXThrowExpression = null; try { // InternalMelange.g:7047:2: (iv_ruleXThrowExpression= ruleXThrowExpression EOF ) // InternalMelange.g:7048:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXThrowExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXThrowExpression=ruleXThrowExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXThrowExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXThrowExpression" // $ANTLR start "ruleXThrowExpression" // InternalMelange.g:7055: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 { // InternalMelange.g:7058:28: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ) // InternalMelange.g:7059:1: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) { // InternalMelange.g:7059:1: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) // InternalMelange.g:7059:2: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) { // InternalMelange.g:7059:2: () // InternalMelange.g:7060:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(), current); } } otherlv_1=(Token)match(input,106,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); } // InternalMelange.g:7069:1: ( (lv_expression_2_0= ruleXExpression ) ) // InternalMelange.g:7070:1: (lv_expression_2_0= ruleXExpression ) { // InternalMelange.g:7070:1: (lv_expression_2_0= ruleXExpression ) // InternalMelange.g:7071:3: lv_expression_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } pushFollow(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" // InternalMelange.g:7095:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ; public final EObject entryRuleXReturnExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXReturnExpression = null; try { // InternalMelange.g:7096:2: (iv_ruleXReturnExpression= ruleXReturnExpression EOF ) // InternalMelange.g:7097:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReturnExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXReturnExpression=ruleXReturnExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXReturnExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXReturnExpression" // $ANTLR start "ruleXReturnExpression" // InternalMelange.g:7104:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 { // InternalMelange.g:7107:28: ( ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 ) )? ) ) // InternalMelange.g:7108:1: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 ) )? ) { // InternalMelange.g:7108:1: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 ) )? ) // InternalMelange.g:7108:2: () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 ) )? { // InternalMelange.g:7108:2: () // InternalMelange.g:7109:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(), current); } } otherlv_1=(Token)match(input,107,FOLLOW_97); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); } // InternalMelange.g:7118:1: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 alt133=2; alt133 = dfa133.predict(input); switch (alt133) { case 1 : // InternalMelange.g:7118:2: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 ) { // InternalMelange.g:7146:1: (lv_expression_2_0= ruleXExpression ) // InternalMelange.g:7147:3: lv_expression_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } pushFollow(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" // InternalMelange.g:7171:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ; public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXTryCatchFinallyExpression = null; try { // InternalMelange.g:7172:2: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ) // InternalMelange.g:7173:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXTryCatchFinallyExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXTryCatchFinallyExpression" // $ANTLR start "ruleXTryCatchFinallyExpression" // InternalMelange.g:7180: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 { // InternalMelange.g:7183: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 ) ) ) ) ) ) // InternalMelange.g:7184: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 ) ) ) ) ) { // InternalMelange.g:7184: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 ) ) ) ) ) // InternalMelange.g:7184: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 ) ) ) ) { // InternalMelange.g:7184:2: () // InternalMelange.g:7185:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(), current); } } otherlv_1=(Token)match(input,108,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); } // InternalMelange.g:7194:1: ( (lv_expression_2_0= ruleXExpression ) ) // InternalMelange.g:7195:1: (lv_expression_2_0= ruleXExpression ) { // InternalMelange.g:7195:1: (lv_expression_2_0= ruleXExpression ) // InternalMelange.g:7196:3: lv_expression_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } pushFollow(FOLLOW_98); 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(); } } } // InternalMelange.g:7212: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 alt136=2; int LA136_0 = input.LA(1); if ( (LA136_0==111) ) { alt136=1; } else if ( (LA136_0==109) ) { alt136=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 136, 0, input); throw nvae; } switch (alt136) { case 1 : // InternalMelange.g:7212:3: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) { // InternalMelange.g:7212:3: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) // InternalMelange.g:7212:4: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? { // InternalMelange.g:7212:4: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ int cnt134=0; loop134: do { int alt134=2; int LA134_0 = input.LA(1); if ( (LA134_0==111) ) { int LA134_2 = input.LA(2); if ( (synpred42_InternalMelange()) ) { alt134=1; } } switch (alt134) { case 1 : // InternalMelange.g:7212:5: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) { // InternalMelange.g:7214:1: (lv_catchClauses_3_0= ruleXCatchClause ) // InternalMelange.g:7215:3: lv_catchClauses_3_0= ruleXCatchClause { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); } pushFollow(FOLLOW_99); 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 ( cnt134 >= 1 ) break loop134; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(134, input); throw eee; } cnt134++; } while (true); // InternalMelange.g:7231:3: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? int alt135=2; int LA135_0 = input.LA(1); if ( (LA135_0==109) ) { int LA135_1 = input.LA(2); if ( (synpred43_InternalMelange()) ) { alt135=1; } } switch (alt135) { case 1 : // InternalMelange.g:7231:4: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) { // InternalMelange.g:7231:4: ( ( 'finally' )=>otherlv_4= 'finally' ) // InternalMelange.g:7231:5: ( 'finally' )=>otherlv_4= 'finally' { otherlv_4=(Token)match(input,109,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); } } // InternalMelange.g:7236:2: ( (lv_finallyExpression_5_0= ruleXExpression ) ) // InternalMelange.g:7237:1: (lv_finallyExpression_5_0= ruleXExpression ) { // InternalMelange.g:7237:1: (lv_finallyExpression_5_0= ruleXExpression ) // InternalMelange.g:7238:3: lv_finallyExpression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); } pushFollow(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 : // InternalMelange.g:7255:6: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) { // InternalMelange.g:7255:6: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) // InternalMelange.g:7255:8: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) { otherlv_6=(Token)match(input,109,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); } // InternalMelange.g:7259:1: ( (lv_finallyExpression_7_0= ruleXExpression ) ) // InternalMelange.g:7260:1: (lv_finallyExpression_7_0= ruleXExpression ) { // InternalMelange.g:7260:1: (lv_finallyExpression_7_0= ruleXExpression ) // InternalMelange.g:7261:3: lv_finallyExpression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); } pushFollow(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" // InternalMelange.g:7285:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ; public final EObject entryRuleXSynchronizedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXSynchronizedExpression = null; try { // InternalMelange.g:7286:2: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ) // InternalMelange.g:7287:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXSynchronizedExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXSynchronizedExpression" // $ANTLR start "ruleXSynchronizedExpression" // InternalMelange.g:7294: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 { // InternalMelange.g:7297:28: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ) // InternalMelange.g:7298:1: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) { // InternalMelange.g:7298:1: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) // InternalMelange.g:7298:2: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) { // InternalMelange.g:7298:2: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) // InternalMelange.g:7298:3: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) { // InternalMelange.g:7301:5: ( () otherlv_1= 'synchronized' otherlv_2= '(' ) // InternalMelange.g:7301:6: () otherlv_1= 'synchronized' otherlv_2= '(' { // InternalMelange.g:7301:6: () // InternalMelange.g:7302:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(), current); } } otherlv_1=(Token)match(input,110,FOLLOW_27); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); } otherlv_2=(Token)match(input,35,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } } } // InternalMelange.g:7315:3: ( (lv_param_3_0= ruleXExpression ) ) // InternalMelange.g:7316:1: (lv_param_3_0= ruleXExpression ) { // InternalMelange.g:7316:1: (lv_param_3_0= ruleXExpression ) // InternalMelange.g:7317:3: lv_param_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); } pushFollow(FOLLOW_66); 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,36,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); } // InternalMelange.g:7337:1: ( (lv_expression_5_0= ruleXExpression ) ) // InternalMelange.g:7338:1: (lv_expression_5_0= ruleXExpression ) { // InternalMelange.g:7338:1: (lv_expression_5_0= ruleXExpression ) // InternalMelange.g:7339:3: lv_expression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); } pushFollow(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" // InternalMelange.g:7363:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ; public final EObject entryRuleXCatchClause() throws RecognitionException { EObject current = null; EObject iv_ruleXCatchClause = null; try { // InternalMelange.g:7364:2: (iv_ruleXCatchClause= ruleXCatchClause EOF ) // InternalMelange.g:7365:2: iv_ruleXCatchClause= ruleXCatchClause EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCatchClauseRule()); } pushFollow(FOLLOW_1); iv_ruleXCatchClause=ruleXCatchClause(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCatchClause; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCatchClause" // $ANTLR start "ruleXCatchClause" // InternalMelange.g:7372: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 { // InternalMelange.g:7375:28: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ) // InternalMelange.g:7376:1: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) { // InternalMelange.g:7376:1: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) // InternalMelange.g:7376:2: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) { // InternalMelange.g:7376:2: ( ( 'catch' )=>otherlv_0= 'catch' ) // InternalMelange.g:7376:3: ( 'catch' )=>otherlv_0= 'catch' { otherlv_0=(Token)match(input,111,FOLLOW_27); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); } } otherlv_1=(Token)match(input,35,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); } // InternalMelange.g:7385:1: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) // InternalMelange.g:7386:1: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) { // InternalMelange.g:7386:1: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) // InternalMelange.g:7387:3: lv_declaredParam_2_0= ruleFullJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); } pushFollow(FOLLOW_66); 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,36,FOLLOW_42); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); } // InternalMelange.g:7407:1: ( (lv_expression_4_0= ruleXExpression ) ) // InternalMelange.g:7408:1: (lv_expression_4_0= ruleXExpression ) { // InternalMelange.g:7408:1: (lv_expression_4_0= ruleXExpression ) // InternalMelange.g:7409:3: lv_expression_4_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); } pushFollow(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" // InternalMelange.g:7433:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; public final String entryRuleQualifiedName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedName = null; try { // InternalMelange.g:7434:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) // InternalMelange.g:7435:2: iv_ruleQualifiedName= ruleQualifiedName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameRule()); } pushFollow(FOLLOW_1); iv_ruleQualifiedName=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedName.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedName" // $ANTLR start "ruleQualifiedName" // InternalMelange.g:7442: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 { // InternalMelange.g:7445:28: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ) // InternalMelange.g:7446:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) { // InternalMelange.g:7446:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) // InternalMelange.g:7447:5: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); } pushFollow(FOLLOW_100); 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(); } // InternalMelange.g:7457:1: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* loop137: do { int alt137=2; int LA137_0 = input.LA(1); if ( (LA137_0==79) ) { int LA137_2 = input.LA(2); if ( (LA137_2==RULE_ID) ) { int LA137_3 = input.LA(3); if ( (synpred46_InternalMelange()) ) { alt137=1; } } } switch (alt137) { case 1 : // InternalMelange.g:7457:2: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID { // InternalMelange.g:7457:2: ( ( '.' )=>kw= '.' ) // InternalMelange.g:7457:3: ( '.' )=>kw= '.' { kw=(Token)match(input,79,FOLLOW_3); 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(FOLLOW_100); 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 loop137; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedName" // $ANTLR start "entryRuleNumber" // InternalMelange.g:7484: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 { // InternalMelange.g:7488:2: (iv_ruleNumber= ruleNumber EOF ) // InternalMelange.g:7489:2: iv_ruleNumber= ruleNumber EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNumberRule()); } pushFollow(FOLLOW_1); iv_ruleNumber=ruleNumber(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNumber.getText(); } match(input,EOF,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" // InternalMelange.g:7499: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 { // InternalMelange.g:7503: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 ) )? ) ) ) // InternalMelange.g:7504: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 ) )? ) ) { // InternalMelange.g:7504: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 alt141=2; int LA141_0 = input.LA(1); if ( (LA141_0==RULE_HEX) ) { alt141=1; } else if ( ((LA141_0>=RULE_INT && LA141_0<=RULE_DECIMAL)) ) { 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 : // InternalMelange.g:7504:6: this_HEX_0= RULE_HEX { this_HEX_0=(Token)match(input,RULE_HEX,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 : // InternalMelange.g:7512:6: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) { // InternalMelange.g:7512:6: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) // InternalMelange.g:7512:7: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? { // InternalMelange.g:7512:7: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) int alt138=2; int LA138_0 = input.LA(1); if ( (LA138_0==RULE_INT) ) { alt138=1; } else if ( (LA138_0==RULE_DECIMAL) ) { alt138=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 138, 0, input); throw nvae; } switch (alt138) { case 1 : // InternalMelange.g:7512:12: this_INT_1= RULE_INT { this_INT_1=(Token)match(input,RULE_INT,FOLLOW_100); 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 : // InternalMelange.g:7520:10: this_DECIMAL_2= RULE_DECIMAL { this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_100); 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; } // InternalMelange.g:7527:2: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? int alt140=2; int LA140_0 = input.LA(1); if ( (LA140_0==79) ) { int LA140_1 = input.LA(2); if ( ((LA140_1>=RULE_INT && LA140_1<=RULE_DECIMAL)) ) { alt140=1; } } switch (alt140) { case 1 : // InternalMelange.g:7528:2: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) { kw=(Token)match(input,79,FOLLOW_101); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); } // InternalMelange.g:7533:1: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) int alt139=2; int LA139_0 = input.LA(1); if ( (LA139_0==RULE_INT) ) { alt139=1; } else if ( (LA139_0==RULE_DECIMAL) ) { alt139=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 139, 0, input); throw nvae; } switch (alt139) { case 1 : // InternalMelange.g:7533:6: this_INT_4= RULE_INT { this_INT_4=(Token)match(input,RULE_INT,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 : // InternalMelange.g:7541:10: this_DECIMAL_5= RULE_DECIMAL { this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,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" // InternalMelange.g:7561:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ; public final EObject entryRuleJvmTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmTypeReference = null; try { // InternalMelange.g:7562:2: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ) // InternalMelange.g:7563:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); } pushFollow(FOLLOW_1); iv_ruleJvmTypeReference=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmTypeReference; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmTypeReference" // $ANTLR start "ruleJvmTypeReference" // InternalMelange.g:7570: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 { // InternalMelange.g:7573:28: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ) // InternalMelange.g:7574:1: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) { // InternalMelange.g:7574:1: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) int alt143=2; int LA143_0 = input.LA(1); if ( (LA143_0==RULE_ID) ) { alt143=1; } else if ( (LA143_0==35||LA143_0==66) ) { alt143=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 143, 0, input); throw nvae; } switch (alt143) { case 1 : // InternalMelange.g:7574:2: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) { // InternalMelange.g:7574:2: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) // InternalMelange.g:7575:5: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); } pushFollow(FOLLOW_94); this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_JvmParameterizedTypeReference_0; afterParserOrEnumRuleCall(); } // InternalMelange.g:7583:1: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* loop142: do { int alt142=2; int LA142_0 = input.LA(1); if ( (LA142_0==44) ) { int LA142_2 = input.LA(2); if ( (LA142_2==45) ) { int LA142_3 = input.LA(3); if ( (synpred47_InternalMelange()) ) { alt142=1; } } } switch (alt142) { case 1 : // InternalMelange.g:7583:2: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) { // InternalMelange.g:7584:24: ( () ruleArrayBrackets ) // InternalMelange.g:7584:25: () ruleArrayBrackets { // InternalMelange.g:7584:25: () // InternalMelange.g:7585: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(FOLLOW_94); ruleArrayBrackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } break; default : break loop142; } } while (true); } } break; case 2 : // InternalMelange.g:7600:5: this_XFunctionTypeRef_3= ruleXFunctionTypeRef { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); } pushFollow(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" // InternalMelange.g:7616:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ; public final String entryRuleArrayBrackets() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleArrayBrackets = null; try { // InternalMelange.g:7617:2: (iv_ruleArrayBrackets= ruleArrayBrackets EOF ) // InternalMelange.g:7618:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getArrayBracketsRule()); } pushFollow(FOLLOW_1); iv_ruleArrayBrackets=ruleArrayBrackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleArrayBrackets.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleArrayBrackets" // $ANTLR start "ruleArrayBrackets" // InternalMelange.g:7625:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ; public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalMelange.g:7628:28: ( (kw= '[' kw= ']' ) ) // InternalMelange.g:7629:1: (kw= '[' kw= ']' ) { // InternalMelange.g:7629:1: (kw= '[' kw= ']' ) // InternalMelange.g:7630:2: kw= '[' kw= ']' { kw=(Token)match(input,44,FOLLOW_74); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); } kw=(Token)match(input,45,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" // InternalMelange.g:7649:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ; public final EObject entryRuleXFunctionTypeRef() throws RecognitionException { EObject current = null; EObject iv_ruleXFunctionTypeRef = null; try { // InternalMelange.g:7650:2: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ) // InternalMelange.g:7651:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); } pushFollow(FOLLOW_1); iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXFunctionTypeRef; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXFunctionTypeRef" // $ANTLR start "ruleXFunctionTypeRef" // InternalMelange.g:7658: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 { // InternalMelange.g:7661:28: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ) // InternalMelange.g:7662:1: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) { // InternalMelange.g:7662:1: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) // InternalMelange.g:7662:2: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) { // InternalMelange.g:7662:2: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? int alt146=2; int LA146_0 = input.LA(1); if ( (LA146_0==35) ) { alt146=1; } switch (alt146) { case 1 : // InternalMelange.g:7662:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' { otherlv_0=(Token)match(input,35,FOLLOW_28); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); } // InternalMelange.g:7666:1: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? int alt145=2; int LA145_0 = input.LA(1); if ( (LA145_0==RULE_ID||LA145_0==35||LA145_0==66) ) { alt145=1; } switch (alt145) { case 1 : // InternalMelange.g:7666:2: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* { // InternalMelange.g:7666:2: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) // InternalMelange.g:7667:1: (lv_paramTypes_1_0= ruleJvmTypeReference ) { // InternalMelange.g:7667:1: (lv_paramTypes_1_0= ruleJvmTypeReference ) // InternalMelange.g:7668:3: lv_paramTypes_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } pushFollow(FOLLOW_29); 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(); } } } // InternalMelange.g:7684:2: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* loop144: do { int alt144=2; int LA144_0 = input.LA(1); if ( (LA144_0==17) ) { alt144=1; } switch (alt144) { case 1 : // InternalMelange.g:7684:4: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) { otherlv_2=(Token)match(input,17,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); } // InternalMelange.g:7688:1: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) // InternalMelange.g:7689:1: (lv_paramTypes_3_0= ruleJvmTypeReference ) { // InternalMelange.g:7689:1: (lv_paramTypes_3_0= ruleJvmTypeReference ) // InternalMelange.g:7690:3: lv_paramTypes_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } pushFollow(FOLLOW_29); 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 loop144; } } while (true); } break; } otherlv_4=(Token)match(input,36,FOLLOW_102); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); } } break; } otherlv_5=(Token)match(input,66,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } // InternalMelange.g:7714:1: ( (lv_returnType_6_0= ruleJvmTypeReference ) ) // InternalMelange.g:7715:1: (lv_returnType_6_0= ruleJvmTypeReference ) { // InternalMelange.g:7715:1: (lv_returnType_6_0= ruleJvmTypeReference ) // InternalMelange.g:7716:3: lv_returnType_6_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); } pushFollow(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" // InternalMelange.g:7740:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ; public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmParameterizedTypeReference = null; try { // InternalMelange.g:7741:2: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ) // InternalMelange.g:7742:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); } pushFollow(FOLLOW_1); iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmParameterizedTypeReference; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmParameterizedTypeReference" // $ANTLR start "ruleJvmParameterizedTypeReference" // InternalMelange.g:7749: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 { // InternalMelange.g:7752: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= '>' )? )* )? ) ) // InternalMelange.g:7753: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= '>' )? )* )? ) { // InternalMelange.g:7753: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= '>' )? )* )? ) // InternalMelange.g:7753: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= '>' )? )* )? { // InternalMelange.g:7753:2: ( ( ruleQualifiedName ) ) // InternalMelange.g:7754:1: ( ruleQualifiedName ) { // InternalMelange.g:7754:1: ( ruleQualifiedName ) // InternalMelange.g:7755:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); } pushFollow(FOLLOW_103); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:7768: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 alt151=2; alt151 = dfa151.predict(input); switch (alt151) { case 1 : // InternalMelange.g:7768: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= '>' )? )* { // InternalMelange.g:7768:3: ( ( '<' )=>otherlv_1= '<' ) // InternalMelange.g:7768:4: ( '<' )=>otherlv_1= '<' { otherlv_1=(Token)match(input,53,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); } } // InternalMelange.g:7773:2: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) // InternalMelange.g:7774:1: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) { // InternalMelange.g:7774:1: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) // InternalMelange.g:7775:3: lv_arguments_2_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FOLLOW_63); 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(); } } } // InternalMelange.g:7791:2: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* loop147: do { int alt147=2; int LA147_0 = input.LA(1); if ( (LA147_0==17) ) { alt147=1; } switch (alt147) { case 1 : // InternalMelange.g:7791:4: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) { otherlv_3=(Token)match(input,17,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); } // InternalMelange.g:7795:1: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) // InternalMelange.g:7796:1: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) { // InternalMelange.g:7796:1: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) // InternalMelange.g:7797:3: lv_arguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } pushFollow(FOLLOW_63); 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 loop147; } } while (true); otherlv_5=(Token)match(input,54,FOLLOW_100); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); } // InternalMelange.g:7817:1: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* loop150: do { int alt150=2; int LA150_0 = input.LA(1); if ( (LA150_0==79) ) { int LA150_2 = input.LA(2); if ( (LA150_2==RULE_ID) ) { int LA150_3 = input.LA(3); if ( (synpred49_InternalMelange()) ) { alt150=1; } } } switch (alt150) { case 1 : // InternalMelange.g:7817:2: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? { // InternalMelange.g:7817:2: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) // InternalMelange.g:7817:3: ( ( () '.' ) )=> ( () otherlv_7= '.' ) { // InternalMelange.g:7819:5: ( () otherlv_7= '.' ) // InternalMelange.g:7819:6: () otherlv_7= '.' { // InternalMelange.g:7819:6: () // InternalMelange.g:7820:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), current); } } otherlv_7=(Token)match(input,79,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); } } } // InternalMelange.g:7829:3: ( ( ruleValidID ) ) // InternalMelange.g:7830:1: ( ruleValidID ) { // InternalMelange.g:7830:1: ( ruleValidID ) // InternalMelange.g:7831: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(FOLLOW_104); ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:7844:2: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? int alt149=2; alt149 = dfa149.predict(input); switch (alt149) { case 1 : // InternalMelange.g:7844:3: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' { // InternalMelange.g:7844:3: ( ( '<' )=>otherlv_9= '<' ) // InternalMelange.g:7844:4: ( '<' )=>otherlv_9= '<' { otherlv_9=(Token)match(input,53,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); } } // InternalMelange.g:7849:2: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) // InternalMelange.g:7850:1: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) { // InternalMelange.g:7850:1: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) // InternalMelange.g:7851:3: lv_arguments_10_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } pushFollow(FOLLOW_63); 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(); } } } // InternalMelange.g:7867:2: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* loop148: do { int alt148=2; int LA148_0 = input.LA(1); if ( (LA148_0==17) ) { alt148=1; } switch (alt148) { case 1 : // InternalMelange.g:7867:4: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) { otherlv_11=(Token)match(input,17,FOLLOW_62); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); } // InternalMelange.g:7871:1: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) // InternalMelange.g:7872:1: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) { // InternalMelange.g:7872:1: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) // InternalMelange.g:7873:3: lv_arguments_12_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } pushFollow(FOLLOW_63); 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 loop148; } } while (true); otherlv_13=(Token)match(input,54,FOLLOW_100); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); } } break; } } break; default : break loop150; } } while (true); } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmParameterizedTypeReference" // $ANTLR start "entryRuleJvmArgumentTypeReference" // InternalMelange.g:7901:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ; public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmArgumentTypeReference = null; try { // InternalMelange.g:7902:2: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ) // InternalMelange.g:7903:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); } pushFollow(FOLLOW_1); iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmArgumentTypeReference; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmArgumentTypeReference" // $ANTLR start "ruleJvmArgumentTypeReference" // InternalMelange.g:7910: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 { // InternalMelange.g:7913:28: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ) // InternalMelange.g:7914:1: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) { // InternalMelange.g:7914:1: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) int alt152=2; int LA152_0 = input.LA(1); if ( (LA152_0==RULE_ID||LA152_0==35||LA152_0==66) ) { alt152=1; } else if ( (LA152_0==112) ) { alt152=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 152, 0, input); throw nvae; } switch (alt152) { case 1 : // InternalMelange.g:7915:5: this_JvmTypeReference_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); } pushFollow(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 : // InternalMelange.g:7925:5: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); } pushFollow(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" // InternalMelange.g:7941:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ; public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmWildcardTypeReference = null; try { // InternalMelange.g:7942:2: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ) // InternalMelange.g:7943:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); } pushFollow(FOLLOW_1); iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmWildcardTypeReference; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmWildcardTypeReference" // $ANTLR start "ruleJvmWildcardTypeReference" // InternalMelange.g:7950: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 { // InternalMelange.g:7953:28: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ) // InternalMelange.g:7954:1: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) { // InternalMelange.g:7954:1: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) // InternalMelange.g:7954:2: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? { // InternalMelange.g:7954:2: () // InternalMelange.g:7955:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(), current); } } otherlv_1=(Token)match(input,112,FOLLOW_105); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); } // InternalMelange.g:7964:1: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? int alt155=3; int LA155_0 = input.LA(1); if ( (LA155_0==96) ) { alt155=1; } else if ( (LA155_0==100) ) { alt155=2; } switch (alt155) { case 1 : // InternalMelange.g:7964:2: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) { // InternalMelange.g:7964:2: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) // InternalMelange.g:7964:3: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* { // InternalMelange.g:7964:3: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) // InternalMelange.g:7965:1: (lv_constraints_2_0= ruleJvmUpperBound ) { // InternalMelange.g:7965:1: (lv_constraints_2_0= ruleJvmUpperBound ) // InternalMelange.g:7966:3: lv_constraints_2_0= ruleJvmUpperBound { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); } pushFollow(FOLLOW_106); 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(); } } } // InternalMelange.g:7982:2: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* loop153: do { int alt153=2; int LA153_0 = input.LA(1); if ( (LA153_0==113) ) { alt153=1; } switch (alt153) { case 1 : // InternalMelange.g:7983:1: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) { // InternalMelange.g:7983:1: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) // InternalMelange.g:7984:3: lv_constraints_3_0= ruleJvmUpperBoundAnded { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); } pushFollow(FOLLOW_106); 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 loop153; } } while (true); } } break; case 2 : // InternalMelange.g:8001:6: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) { // InternalMelange.g:8001:6: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) // InternalMelange.g:8001:7: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* { // InternalMelange.g:8001:7: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) // InternalMelange.g:8002:1: (lv_constraints_4_0= ruleJvmLowerBound ) { // InternalMelange.g:8002:1: (lv_constraints_4_0= ruleJvmLowerBound ) // InternalMelange.g:8003:3: lv_constraints_4_0= ruleJvmLowerBound { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); } pushFollow(FOLLOW_106); 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(); } } } // InternalMelange.g:8019:2: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* loop154: do { int alt154=2; int LA154_0 = input.LA(1); if ( (LA154_0==113) ) { alt154=1; } switch (alt154) { case 1 : // InternalMelange.g:8020:1: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) { // InternalMelange.g:8020:1: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) // InternalMelange.g:8021:3: lv_constraints_5_0= ruleJvmLowerBoundAnded { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); } pushFollow(FOLLOW_106); 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 loop154; } } while (true); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmWildcardTypeReference" // $ANTLR start "entryRuleJvmUpperBound" // InternalMelange.g:8045:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ; public final EObject entryRuleJvmUpperBound() throws RecognitionException { EObject current = null; EObject iv_ruleJvmUpperBound = null; try { // InternalMelange.g:8046:2: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ) // InternalMelange.g:8047:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundRule()); } pushFollow(FOLLOW_1); iv_ruleJvmUpperBound=ruleJvmUpperBound(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmUpperBound; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmUpperBound" // $ANTLR start "ruleJvmUpperBound" // InternalMelange.g:8054: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 { // InternalMelange.g:8057:28: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalMelange.g:8058:1: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalMelange.g:8058:1: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalMelange.g:8058:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,96,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); } // InternalMelange.g:8062:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalMelange.g:8063:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalMelange.g:8063:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalMelange.g:8064:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(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" // InternalMelange.g:8088:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ; public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException { EObject current = null; EObject iv_ruleJvmUpperBoundAnded = null; try { // InternalMelange.g:8089:2: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ) // InternalMelange.g:8090:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); } pushFollow(FOLLOW_1); iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmUpperBoundAnded; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmUpperBoundAnded" // $ANTLR start "ruleJvmUpperBoundAnded" // InternalMelange.g:8097: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 { // InternalMelange.g:8100:28: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalMelange.g:8101:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalMelange.g:8101:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalMelange.g:8101:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,113,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); } // InternalMelange.g:8105:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalMelange.g:8106:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalMelange.g:8106:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalMelange.g:8107:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(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" // InternalMelange.g:8131:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ; public final EObject entryRuleJvmLowerBound() throws RecognitionException { EObject current = null; EObject iv_ruleJvmLowerBound = null; try { // InternalMelange.g:8132:2: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ) // InternalMelange.g:8133:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundRule()); } pushFollow(FOLLOW_1); iv_ruleJvmLowerBound=ruleJvmLowerBound(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmLowerBound; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmLowerBound" // $ANTLR start "ruleJvmLowerBound" // InternalMelange.g:8140: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 { // InternalMelange.g:8143:28: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalMelange.g:8144:1: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalMelange.g:8144:1: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalMelange.g:8144:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,100,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); } // InternalMelange.g:8148:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalMelange.g:8149:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalMelange.g:8149:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalMelange.g:8150:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(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" // InternalMelange.g:8174:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ; public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException { EObject current = null; EObject iv_ruleJvmLowerBoundAnded = null; try { // InternalMelange.g:8175:2: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ) // InternalMelange.g:8176:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); } pushFollow(FOLLOW_1); iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmLowerBoundAnded; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmLowerBoundAnded" // $ANTLR start "ruleJvmLowerBoundAnded" // InternalMelange.g:8183: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 { // InternalMelange.g:8186:28: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalMelange.g:8187:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalMelange.g:8187:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalMelange.g:8187:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,113,FOLLOW_16); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); } // InternalMelange.g:8191:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalMelange.g:8192:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalMelange.g:8192:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalMelange.g:8193:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(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" // InternalMelange.g:8219:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null; try { // InternalMelange.g:8220:2: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) // InternalMelange.g:8221:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); } pushFollow(FOLLOW_1); iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedNameWithWildcard.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedNameWithWildcard" // $ANTLR start "ruleQualifiedNameWithWildcard" // InternalMelange.g:8228: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 { // InternalMelange.g:8231:28: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ) // InternalMelange.g:8232:1: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) { // InternalMelange.g:8232:1: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) // InternalMelange.g:8233:5: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } pushFollow(FOLLOW_107); 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,79,FOLLOW_108); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); } kw=(Token)match(input,71,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 "entryRuleValidID" // InternalMelange.g:8263:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ; public final String entryRuleValidID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleValidID = null; try { // InternalMelange.g:8264:2: (iv_ruleValidID= ruleValidID EOF ) // InternalMelange.g:8265:2: iv_ruleValidID= ruleValidID EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getValidIDRule()); } pushFollow(FOLLOW_1); iv_ruleValidID=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleValidID.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleValidID" // $ANTLR start "ruleValidID" // InternalMelange.g:8272:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ; public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_ID_0=null; enterRule(); try { // InternalMelange.g:8275:28: (this_ID_0= RULE_ID ) // InternalMelange.g:8276:5: this_ID_0= RULE_ID { this_ID_0=(Token)match(input,RULE_ID,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.getValidIDAccess().getIDTerminalRuleCall()); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleValidID" // $ANTLR start "entryRuleXImportSection" // InternalMelange.g:8291:1: entryRuleXImportSection returns [EObject current=null] : iv_ruleXImportSection= ruleXImportSection EOF ; public final EObject entryRuleXImportSection() throws RecognitionException { EObject current = null; EObject iv_ruleXImportSection = null; try { // InternalMelange.g:8292:2: (iv_ruleXImportSection= ruleXImportSection EOF ) // InternalMelange.g:8293:2: iv_ruleXImportSection= ruleXImportSection EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportSectionRule()); } pushFollow(FOLLOW_1); iv_ruleXImportSection=ruleXImportSection(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXImportSection; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXImportSection" // $ANTLR start "ruleXImportSection" // InternalMelange.g:8300:1: ruleXImportSection returns [EObject current=null] : ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ ; public final EObject ruleXImportSection() throws RecognitionException { EObject current = null; EObject lv_importDeclarations_0_0 = null; enterRule(); try { // InternalMelange.g:8303:28: ( ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ ) // InternalMelange.g:8304:1: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ { // InternalMelange.g:8304:1: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ int cnt156=0; loop156: do { int alt156=2; int LA156_0 = input.LA(1); if ( (LA156_0==98) ) { alt156=1; } switch (alt156) { case 1 : // InternalMelange.g:8305:1: (lv_importDeclarations_0_0= ruleXImportDeclaration ) { // InternalMelange.g:8305:1: (lv_importDeclarations_0_0= ruleXImportDeclaration ) // InternalMelange.g:8306:3: lv_importDeclarations_0_0= ruleXImportDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportSectionAccess().getImportDeclarationsXImportDeclarationParserRuleCall_0()); } pushFollow(FOLLOW_109); lv_importDeclarations_0_0=ruleXImportDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXImportSectionRule()); } add( current, "importDeclarations", lv_importDeclarations_0_0, "org.eclipse.xtext.xbase.Xtype.XImportDeclaration"); afterParserOrEnumRuleCall(); } } } break; default : if ( cnt156 >= 1 ) break loop156; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(156, input); throw eee; } cnt156++; } while (true); } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXImportSection" // $ANTLR start "entryRuleXImportDeclaration" // InternalMelange.g:8330:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ; public final EObject entryRuleXImportDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXImportDeclaration = null; try { // InternalMelange.g:8331:2: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ) // InternalMelange.g:8332:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationRule()); } pushFollow(FOLLOW_1); iv_ruleXImportDeclaration=ruleXImportDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXImportDeclaration; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXImportDeclaration" // $ANTLR start "ruleXImportDeclaration" // InternalMelange.g:8339: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 { // InternalMelange.g:8342: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= ';' )? ) ) // InternalMelange.g:8343: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= ';' )? ) { // InternalMelange.g:8343: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= ';' )? ) // InternalMelange.g:8343: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,98,FOLLOW_110); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); } // InternalMelange.g:8347: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 alt159=3; alt159 = dfa159.predict(input); switch (alt159) { case 1 : // InternalMelange.g:8347:2: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) { // InternalMelange.g:8347:2: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) // InternalMelange.g:8347:3: ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) { // InternalMelange.g:8347:3: ( (lv_static_1_0= 'static' ) ) // InternalMelange.g:8348:1: (lv_static_1_0= 'static' ) { // InternalMelange.g:8348:1: (lv_static_1_0= 'static' ) // InternalMelange.g:8349:3: lv_static_1_0= 'static' { lv_static_1_0=(Token)match(input,97,FOLLOW_111); 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"); } } } // InternalMelange.g:8362:2: ( (lv_extension_2_0= 'extension' ) )? int alt157=2; int LA157_0 = input.LA(1); if ( (LA157_0==99) ) { alt157=1; } switch (alt157) { case 1 : // InternalMelange.g:8363:1: (lv_extension_2_0= 'extension' ) { // InternalMelange.g:8363:1: (lv_extension_2_0= 'extension' ) // InternalMelange.g:8364:3: lv_extension_2_0= 'extension' { lv_extension_2_0=(Token)match(input,99,FOLLOW_111); 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; } // InternalMelange.g:8377:3: ( ( ruleQualifiedNameInStaticImport ) ) // InternalMelange.g:8378:1: ( ruleQualifiedNameInStaticImport ) { // InternalMelange.g:8378:1: ( ruleQualifiedNameInStaticImport ) // InternalMelange.g:8379: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(FOLLOW_112); ruleQualifiedNameInStaticImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalMelange.g:8392:2: ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) int alt158=2; int LA158_0 = input.LA(1); if ( (LA158_0==71) ) { alt158=1; } else if ( (LA158_0==RULE_ID) ) { 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 : // InternalMelange.g:8392:3: ( (lv_wildcard_4_0= '*' ) ) { // InternalMelange.g:8392:3: ( (lv_wildcard_4_0= '*' ) ) // InternalMelange.g:8393:1: (lv_wildcard_4_0= '*' ) { // InternalMelange.g:8393:1: (lv_wildcard_4_0= '*' ) // InternalMelange.g:8394:3: lv_wildcard_4_0= '*' { lv_wildcard_4_0=(Token)match(input,71,FOLLOW_113); 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 : // InternalMelange.g:8408:6: ( (lv_memberName_5_0= ruleValidID ) ) { // InternalMelange.g:8408:6: ( (lv_memberName_5_0= ruleValidID ) ) // InternalMelange.g:8409:1: (lv_memberName_5_0= ruleValidID ) { // InternalMelange.g:8409:1: (lv_memberName_5_0= ruleValidID ) // InternalMelange.g:8410:3: lv_memberName_5_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); } pushFollow(FOLLOW_113); 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.xtext.xbase.Xtype.ValidID"); afterParserOrEnumRuleCall(); } } } } break; } } } break; case 2 : // InternalMelange.g:8427:6: ( ( ruleQualifiedName ) ) { // InternalMelange.g:8427:6: ( ( ruleQualifiedName ) ) // InternalMelange.g:8428:1: ( ruleQualifiedName ) { // InternalMelange.g:8428:1: ( ruleQualifiedName ) // InternalMelange.g:8429: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(FOLLOW_113); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; case 3 : // InternalMelange.g:8443:6: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) { // InternalMelange.g:8443:6: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) // InternalMelange.g:8444:1: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) { // InternalMelange.g:8444:1: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) // InternalMelange.g:8445:3: lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); } pushFollow(FOLLOW_113); 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; } // InternalMelange.g:8461:3: (otherlv_8= ';' )? int alt160=2; int LA160_0 = input.LA(1); if ( (LA160_0==84) ) { alt160=1; } switch (alt160) { case 1 : // InternalMelange.g:8461:5: otherlv_8= ';' { otherlv_8=(Token)match(input,84,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" // InternalMelange.g:8473:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ; public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null; try { // InternalMelange.g:8474:2: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ) // InternalMelange.g:8475:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); } pushFollow(FOLLOW_1); iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedNameInStaticImport.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedNameInStaticImport" // $ANTLR start "ruleQualifiedNameInStaticImport" // InternalMelange.g:8482: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 { // InternalMelange.g:8485:28: ( (this_ValidID_0= ruleValidID kw= '.' )+ ) // InternalMelange.g:8486:1: (this_ValidID_0= ruleValidID kw= '.' )+ { // InternalMelange.g:8486:1: (this_ValidID_0= ruleValidID kw= '.' )+ int cnt161=0; loop161: do { int alt161=2; int LA161_0 = input.LA(1); if ( (LA161_0==RULE_ID) ) { int LA161_2 = input.LA(2); if ( (LA161_2==79) ) { alt161=1; } } switch (alt161) { case 1 : // InternalMelange.g:8487:5: this_ValidID_0= ruleValidID kw= '.' { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); } pushFollow(FOLLOW_107); 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,79,FOLLOW_114); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); } } 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); } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedNameInStaticImport" // $ANTLR start "ruleResourceType" // InternalMelange.g:8511:1: ruleResourceType returns [Enumerator current=null] : ( (enumLiteral_0= 'Melange' ) | (enumLiteral_1= 'EMF' ) | (enumLiteral_2= 'Xtext' ) ) ; public final Enumerator ruleResourceType() throws RecognitionException { Enumerator current = null; Token enumLiteral_0=null; Token enumLiteral_1=null; Token enumLiteral_2=null; enterRule(); try { // InternalMelange.g:8513:28: ( ( (enumLiteral_0= 'Melange' ) | (enumLiteral_1= 'EMF' ) | (enumLiteral_2= 'Xtext' ) ) ) // InternalMelange.g:8514:1: ( (enumLiteral_0= 'Melange' ) | (enumLiteral_1= 'EMF' ) | (enumLiteral_2= 'Xtext' ) ) { // InternalMelange.g:8514:1: ( (enumLiteral_0= 'Melange' ) | (enumLiteral_1= 'EMF' ) | (enumLiteral_2= 'Xtext' ) ) int alt162=3; switch ( input.LA(1) ) { case 114: { alt162=1; } break; case 115: { alt162=2; } break; case 116: { alt162=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 162, 0, input); throw nvae; } switch (alt162) { case 1 : // InternalMelange.g:8514:2: (enumLiteral_0= 'Melange' ) { // InternalMelange.g:8514:2: (enumLiteral_0= 'Melange' ) // InternalMelange.g:8514:4: enumLiteral_0= 'Melange' { enumLiteral_0=(Token)match(input,114,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current = grammarAccess.getResourceTypeAccess().getMELANGEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); newLeafNode(enumLiteral_0, grammarAccess.getResourceTypeAccess().getMELANGEEnumLiteralDeclaration_0()); } } } break; case 2 : // InternalMelange.g:8520:6: (enumLiteral_1= 'EMF' ) { // InternalMelange.g:8520:6: (enumLiteral_1= 'EMF' ) // InternalMelange.g:8520:8: enumLiteral_1= 'EMF' { enumLiteral_1=(Token)match(input,115,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current = grammarAccess.getResourceTypeAccess().getEMFEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); newLeafNode(enumLiteral_1, grammarAccess.getResourceTypeAccess().getEMFEnumLiteralDeclaration_1()); } } } break; case 3 : // InternalMelange.g:8526:6: (enumLiteral_2= 'Xtext' ) { // InternalMelange.g:8526:6: (enumLiteral_2= 'Xtext' ) // InternalMelange.g:8526:8: enumLiteral_2= 'Xtext' { enumLiteral_2=(Token)match(input,116,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current = grammarAccess.getResourceTypeAccess().getXTEXTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); newLeafNode(enumLiteral_2, grammarAccess.getResourceTypeAccess().getXTEXTEnumLiteralDeclaration_2()); } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleResourceType" // $ANTLR start synpred1_InternalMelange public final void synpred1_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:170:8: ( 'external' ) // InternalMelange.g:170:10: 'external' { match(input,14,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred1_InternalMelange // $ANTLR start synpred2_InternalMelange public final void synpred2_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:477:5: ( 'uri' ) // InternalMelange.g:477:7: 'uri' { match(input,22,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred2_InternalMelange // $ANTLR start synpred3_InternalMelange public final void synpred3_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:793:4: ( 'uri' ) // InternalMelange.g:793:6: 'uri' { match(input,22,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred3_InternalMelange // $ANTLR start synpred4_InternalMelange public final void synpred4_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:1252:4: ( 'uri' ) // InternalMelange.g:1252:6: 'uri' { match(input,22,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred4_InternalMelange // $ANTLR start synpred5_InternalMelange public final void synpred5_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:2618:3: ( ( () ( ( ruleOpMultiAssign ) ) ) ) // InternalMelange.g:2618:4: ( () ( ( ruleOpMultiAssign ) ) ) { // InternalMelange.g:2618:4: ( () ( ( ruleOpMultiAssign ) ) ) // InternalMelange.g:2618:5: () ( ( ruleOpMultiAssign ) ) { // InternalMelange.g:2618:5: () // InternalMelange.g:2619:1: { } // InternalMelange.g:2619:2: ( ( ruleOpMultiAssign ) ) // InternalMelange.g:2620:1: ( ruleOpMultiAssign ) { // InternalMelange.g:2620:1: ( ruleOpMultiAssign ) // InternalMelange.g:2621:3: ruleOpMultiAssign { pushFollow(FOLLOW_2); ruleOpMultiAssign(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred5_InternalMelange // $ANTLR start synpred6_InternalMelange public final void synpred6_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:2812:3: ( ( () ( ( ruleOpOr ) ) ) ) // InternalMelange.g:2812:4: ( () ( ( ruleOpOr ) ) ) { // InternalMelange.g:2812:4: ( () ( ( ruleOpOr ) ) ) // InternalMelange.g:2812:5: () ( ( ruleOpOr ) ) { // InternalMelange.g:2812:5: () // InternalMelange.g:2813:1: { } // InternalMelange.g:2813:2: ( ( ruleOpOr ) ) // InternalMelange.g:2814:1: ( ruleOpOr ) { // InternalMelange.g:2814:1: ( ruleOpOr ) // InternalMelange.g:2815:3: ruleOpOr { pushFollow(FOLLOW_2); ruleOpOr(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred6_InternalMelange // $ANTLR start synpred7_InternalMelange public final void synpred7_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:2913:3: ( ( () ( ( ruleOpAnd ) ) ) ) // InternalMelange.g:2913:4: ( () ( ( ruleOpAnd ) ) ) { // InternalMelange.g:2913:4: ( () ( ( ruleOpAnd ) ) ) // InternalMelange.g:2913:5: () ( ( ruleOpAnd ) ) { // InternalMelange.g:2913:5: () // InternalMelange.g:2914:1: { } // InternalMelange.g:2914:2: ( ( ruleOpAnd ) ) // InternalMelange.g:2915:1: ( ruleOpAnd ) { // InternalMelange.g:2915:1: ( ruleOpAnd ) // InternalMelange.g:2916:3: ruleOpAnd { pushFollow(FOLLOW_2); ruleOpAnd(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred7_InternalMelange // $ANTLR start synpred8_InternalMelange public final void synpred8_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:3014:3: ( ( () ( ( ruleOpEquality ) ) ) ) // InternalMelange.g:3014:4: ( () ( ( ruleOpEquality ) ) ) { // InternalMelange.g:3014:4: ( () ( ( ruleOpEquality ) ) ) // InternalMelange.g:3014:5: () ( ( ruleOpEquality ) ) { // InternalMelange.g:3014:5: () // InternalMelange.g:3015:1: { } // InternalMelange.g:3015:2: ( ( ruleOpEquality ) ) // InternalMelange.g:3016:1: ( ruleOpEquality ) { // InternalMelange.g:3016:1: ( ruleOpEquality ) // InternalMelange.g:3017:3: ruleOpEquality { pushFollow(FOLLOW_2); ruleOpEquality(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred8_InternalMelange // $ANTLR start synpred9_InternalMelange public final void synpred9_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:3136:4: ( ( () 'instanceof' ) ) // InternalMelange.g:3136:5: ( () 'instanceof' ) { // InternalMelange.g:3136:5: ( () 'instanceof' ) // InternalMelange.g:3136:6: () 'instanceof' { // InternalMelange.g:3136:6: () // InternalMelange.g:3137:1: { } match(input,62,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred9_InternalMelange // $ANTLR start synpred10_InternalMelange public final void synpred10_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:3167:8: ( ( () ( ( ruleOpCompare ) ) ) ) // InternalMelange.g:3167:9: ( () ( ( ruleOpCompare ) ) ) { // InternalMelange.g:3167:9: ( () ( ( ruleOpCompare ) ) ) // InternalMelange.g:3167:10: () ( ( ruleOpCompare ) ) { // InternalMelange.g:3167:10: () // InternalMelange.g:3168:1: { } // InternalMelange.g:3168:2: ( ( ruleOpCompare ) ) // InternalMelange.g:3169:1: ( ruleOpCompare ) { // InternalMelange.g:3169:1: ( ruleOpCompare ) // InternalMelange.g:3170:3: ruleOpCompare { pushFollow(FOLLOW_2); ruleOpCompare(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred10_InternalMelange // $ANTLR start synpred11_InternalMelange public final void synpred11_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:3295:3: ( ( () ( ( ruleOpOther ) ) ) ) // InternalMelange.g:3295:4: ( () ( ( ruleOpOther ) ) ) { // InternalMelange.g:3295:4: ( () ( ( ruleOpOther ) ) ) // InternalMelange.g:3295:5: () ( ( ruleOpOther ) ) { // InternalMelange.g:3295:5: () // InternalMelange.g:3296:1: { } // InternalMelange.g:3296:2: ( ( ruleOpOther ) ) // InternalMelange.g:3297:1: ( ruleOpOther ) { // InternalMelange.g:3297:1: ( ruleOpOther ) // InternalMelange.g:3298:3: ruleOpOther { pushFollow(FOLLOW_2); ruleOpOther(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred11_InternalMelange // $ANTLR start synpred12_InternalMelange public final void synpred12_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:3407:3: ( ( '>' '>' ) ) // InternalMelange.g:3407:4: ( '>' '>' ) { // InternalMelange.g:3407:4: ( '>' '>' ) // InternalMelange.g:3408:2: '>' '>' { match(input,54,FOLLOW_53); if (state.failed) return ; match(input,54,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred12_InternalMelange // $ANTLR start synpred13_InternalMelange public final void synpred13_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:3437:3: ( ( '<' '<' ) ) // InternalMelange.g:3437:4: ( '<' '<' ) { // InternalMelange.g:3437:4: ( '<' '<' ) // InternalMelange.g:3438:2: '<' '<' { match(input,53,FOLLOW_44); if (state.failed) return ; match(input,53,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred13_InternalMelange // $ANTLR start synpred14_InternalMelange public final void synpred14_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:3511:3: ( ( () ( ( ruleOpAdd ) ) ) ) // InternalMelange.g:3511:4: ( () ( ( ruleOpAdd ) ) ) { // InternalMelange.g:3511:4: ( () ( ( ruleOpAdd ) ) ) // InternalMelange.g:3511:5: () ( ( ruleOpAdd ) ) { // InternalMelange.g:3511:5: () // InternalMelange.g:3512:1: { } // InternalMelange.g:3512:2: ( ( ruleOpAdd ) ) // InternalMelange.g:3513:1: ( ruleOpAdd ) { // InternalMelange.g:3513:1: ( ruleOpAdd ) // InternalMelange.g:3514:3: ruleOpAdd { pushFollow(FOLLOW_2); ruleOpAdd(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred14_InternalMelange // $ANTLR start synpred15_InternalMelange public final void synpred15_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:3619:3: ( ( () ( ( ruleOpMulti ) ) ) ) // InternalMelange.g:3619:4: ( () ( ( ruleOpMulti ) ) ) { // InternalMelange.g:3619:4: ( () ( ( ruleOpMulti ) ) ) // InternalMelange.g:3619:5: () ( ( ruleOpMulti ) ) { // InternalMelange.g:3619:5: () // InternalMelange.g:3620:1: { } // InternalMelange.g:3620:2: ( ( ruleOpMulti ) ) // InternalMelange.g:3621:1: ( ruleOpMulti ) { // InternalMelange.g:3621:1: ( ruleOpMulti ) // InternalMelange.g:3622:3: ruleOpMulti { pushFollow(FOLLOW_2); ruleOpMulti(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred15_InternalMelange // $ANTLR start synpred16_InternalMelange public final void synpred16_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:3852:3: ( ( () 'as' ) ) // InternalMelange.g:3852:4: ( () 'as' ) { // InternalMelange.g:3852:4: ( () 'as' ) // InternalMelange.g:3852:5: () 'as' { // InternalMelange.g:3852:5: () // InternalMelange.g:3853:1: { } match(input,76,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred16_InternalMelange // $ANTLR start synpred17_InternalMelange public final void synpred17_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:3912:2: ( ( () ( ( ruleOpPostfix ) ) ) ) // InternalMelange.g:3912:3: ( () ( ( ruleOpPostfix ) ) ) { // InternalMelange.g:3912:3: ( () ( ( ruleOpPostfix ) ) ) // InternalMelange.g:3912:4: () ( ( ruleOpPostfix ) ) { // InternalMelange.g:3912:4: () // InternalMelange.g:3913:1: { } // InternalMelange.g:3913:2: ( ( ruleOpPostfix ) ) // InternalMelange.g:3914:1: ( ruleOpPostfix ) { // InternalMelange.g:3914:1: ( ruleOpPostfix ) // InternalMelange.g:3915:3: ruleOpPostfix { pushFollow(FOLLOW_2); ruleOpPostfix(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred17_InternalMelange // $ANTLR start synpred18_InternalMelange public final void synpred18_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:4002:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) // InternalMelange.g:4002:5: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) { // InternalMelange.g:4002:5: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) // InternalMelange.g:4002:6: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign { // InternalMelange.g:4002:6: () // InternalMelange.g:4003:1: { } // InternalMelange.g:4003:2: ( '.' | ( ( '::' ) ) ) int alt163=2; int LA163_0 = input.LA(1); if ( (LA163_0==79) ) { alt163=1; } else if ( (LA163_0==80) ) { alt163=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 163, 0, input); throw nvae; } switch (alt163) { case 1 : // InternalMelange.g:4003:4: '.' { match(input,79,FOLLOW_60); if (state.failed) return ; } break; case 2 : // InternalMelange.g:4005:6: ( ( '::' ) ) { // InternalMelange.g:4005:6: ( ( '::' ) ) // InternalMelange.g:4006:1: ( '::' ) { // InternalMelange.g:4006:1: ( '::' ) // InternalMelange.g:4007:2: '::' { match(input,80,FOLLOW_60); if (state.failed) return ; } } } break; } // InternalMelange.g:4011:3: ( ( ruleFeatureCallID ) ) // InternalMelange.g:4012:1: ( ruleFeatureCallID ) { // InternalMelange.g:4012:1: ( ruleFeatureCallID ) // InternalMelange.g:4013:3: ruleFeatureCallID { pushFollow(FOLLOW_41); ruleFeatureCallID(); state._fsp--; if (state.failed) return ; } } pushFollow(FOLLOW_2); ruleOpSingleAssign(); state._fsp--; if (state.failed) return ; } } } // $ANTLR end synpred18_InternalMelange // $ANTLR start synpred19_InternalMelange public final void synpred19_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:4083:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) ) // InternalMelange.g:4083:9: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) { // InternalMelange.g:4083:9: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) // InternalMelange.g:4083:10: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) { // InternalMelange.g:4083:10: () // InternalMelange.g:4084:1: { } // InternalMelange.g:4084:2: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) int alt164=3; switch ( input.LA(1) ) { case 79: { alt164=1; } break; case 81: { alt164=2; } break; case 80: { alt164=3; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 164, 0, input); throw nvae; } switch (alt164) { case 1 : // InternalMelange.g:4084:4: '.' { match(input,79,FOLLOW_2); if (state.failed) return ; } break; case 2 : // InternalMelange.g:4086:6: ( ( '?.' ) ) { // InternalMelange.g:4086:6: ( ( '?.' ) ) // InternalMelange.g:4087:1: ( '?.' ) { // InternalMelange.g:4087:1: ( '?.' ) // InternalMelange.g:4088:2: '?.' { match(input,81,FOLLOW_2); if (state.failed) return ; } } } break; case 3 : // InternalMelange.g:4093:6: ( ( '::' ) ) { // InternalMelange.g:4093:6: ( ( '::' ) ) // InternalMelange.g:4094:1: ( '::' ) { // InternalMelange.g:4094:1: ( '::' ) // InternalMelange.g:4095:2: '::' { match(input,80,FOLLOW_2); if (state.failed) return ; } } } break; } } } } // $ANTLR end synpred19_InternalMelange // $ANTLR start synpred20_InternalMelange public final void synpred20_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:4204:4: ( ( '(' ) ) // InternalMelange.g:4205:1: ( '(' ) { // InternalMelange.g:4205:1: ( '(' ) // InternalMelange.g:4206:2: '(' { match(input,35,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred20_InternalMelange // $ANTLR start synpred21_InternalMelange public final void synpred21_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:4225:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalMelange.g:4225:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalMelange.g:4225:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalMelange.g:4225:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalMelange.g:4225:6: () // InternalMelange.g:4226:1: { } // InternalMelange.g:4226:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt166=2; int LA166_0 = input.LA(1); if ( (LA166_0==RULE_ID||LA166_0==35||LA166_0==66) ) { alt166=1; } switch (alt166) { case 1 : // InternalMelange.g:4226:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalMelange.g:4226:3: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:4227:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:4227:1: ( ruleJvmFormalParameter ) // InternalMelange.g:4228:1: ruleJvmFormalParameter { pushFollow(FOLLOW_72); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalMelange.g:4230:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop165: do { int alt165=2; int LA165_0 = input.LA(1); if ( (LA165_0==17) ) { alt165=1; } switch (alt165) { case 1 : // InternalMelange.g:4230:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,17,FOLLOW_16); if (state.failed) return ; // InternalMelange.g:4231:1: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:4232:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:4232:1: ( ruleJvmFormalParameter ) // InternalMelange.g:4233:1: ruleJvmFormalParameter { pushFollow(FOLLOW_72); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop165; } } while (true); } break; } // InternalMelange.g:4235:6: ( ( '|' ) ) // InternalMelange.g:4236:1: ( '|' ) { // InternalMelange.g:4236:1: ( '|' ) // InternalMelange.g:4237:2: '|' { match(input,83,FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred21_InternalMelange // $ANTLR start synpred22_InternalMelange public final void synpred22_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:4304:4: ( ( () '[' ) ) // InternalMelange.g:4304:5: ( () '[' ) { // InternalMelange.g:4304:5: ( () '[' ) // InternalMelange.g:4304:6: () '[' { // InternalMelange.g:4304:6: () // InternalMelange.g:4305:1: { } match(input,44,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred22_InternalMelange // $ANTLR start synpred23_InternalMelange public final void synpred23_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:4375:7: ( ( () 'synchronized' '(' ) ) // InternalMelange.g:4375:8: ( () 'synchronized' '(' ) { // InternalMelange.g:4375:8: ( () 'synchronized' '(' ) // InternalMelange.g:4375:9: () 'synchronized' '(' { // InternalMelange.g:4375:9: () // InternalMelange.g:4376:1: { } match(input,110,FOLLOW_27); if (state.failed) return ; match(input,35,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred23_InternalMelange // $ANTLR start synpred24_InternalMelange public final void synpred24_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:4418:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) // InternalMelange.g:4418:8: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) { // InternalMelange.g:4418:8: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) // InternalMelange.g:4418:9: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' { // InternalMelange.g:4418:9: () // InternalMelange.g:4419:1: { } match(input,91,FOLLOW_27); if (state.failed) return ; match(input,35,FOLLOW_16); if (state.failed) return ; // InternalMelange.g:4421:1: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:4422:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:4422:1: ( ruleJvmFormalParameter ) // InternalMelange.g:4423:1: ruleJvmFormalParameter { pushFollow(FOLLOW_79); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,88,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred24_InternalMelange // $ANTLR start synpred25_InternalMelange public final void synpred25_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:4536:7: ( ( () '[' ) ) // InternalMelange.g:4536:8: ( () '[' ) { // InternalMelange.g:4536:8: ( () '[' ) // InternalMelange.g:4536:9: () '[' { // InternalMelange.g:4536:9: () // InternalMelange.g:4537:1: { } match(input,44,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred25_InternalMelange // $ANTLR start synpred27_InternalMelange public final void synpred27_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:4828:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalMelange.g:4828:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalMelange.g:4828:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalMelange.g:4828:6: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalMelange.g:4828:6: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt168=2; int LA168_0 = input.LA(1); if ( (LA168_0==RULE_ID||LA168_0==35||LA168_0==66) ) { alt168=1; } switch (alt168) { case 1 : // InternalMelange.g:4828:7: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalMelange.g:4828:7: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:4829:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:4829:1: ( ruleJvmFormalParameter ) // InternalMelange.g:4830:1: ruleJvmFormalParameter { pushFollow(FOLLOW_72); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalMelange.g:4832:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop167: do { int alt167=2; int LA167_0 = input.LA(1); if ( (LA167_0==17) ) { alt167=1; } switch (alt167) { case 1 : // InternalMelange.g:4832:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,17,FOLLOW_16); if (state.failed) return ; // InternalMelange.g:4833:1: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:4834:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:4834:1: ( ruleJvmFormalParameter ) // InternalMelange.g:4835:1: ruleJvmFormalParameter { pushFollow(FOLLOW_72); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop167; } } while (true); } break; } // InternalMelange.g:4837:6: ( ( '|' ) ) // InternalMelange.g:4838:1: ( '|' ) { // InternalMelange.g:4838:1: ( '|' ) // InternalMelange.g:4839:2: '|' { match(input,83,FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred27_InternalMelange // $ANTLR start synpred29_InternalMelange public final void synpred29_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:5198:4: ( 'else' ) // InternalMelange.g:5198:6: 'else' { match(input,86,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred29_InternalMelange // $ANTLR start synpred30_InternalMelange public final void synpred30_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:5252:4: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) // InternalMelange.g:5252:5: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) { // InternalMelange.g:5252:5: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) // InternalMelange.g:5252:7: '(' ( ( ruleJvmFormalParameter ) ) ':' { match(input,35,FOLLOW_16); if (state.failed) return ; // InternalMelange.g:5253:1: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:5254:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:5254:1: ( ruleJvmFormalParameter ) // InternalMelange.g:5255:1: ruleJvmFormalParameter { pushFollow(FOLLOW_79); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,88,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred30_InternalMelange // $ANTLR start synpred31_InternalMelange public final void synpred31_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:5307:8: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) ) // InternalMelange.g:5307:9: ( ( ( ruleJvmFormalParameter ) ) ':' ) { // InternalMelange.g:5307:9: ( ( ( ruleJvmFormalParameter ) ) ':' ) // InternalMelange.g:5307:10: ( ( ruleJvmFormalParameter ) ) ':' { // InternalMelange.g:5307:10: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:5308:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:5308:1: ( ruleJvmFormalParameter ) // InternalMelange.g:5309:1: ruleJvmFormalParameter { pushFollow(FOLLOW_79); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,88,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred31_InternalMelange // $ANTLR start synpred33_InternalMelange public final void synpred33_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:6075:4: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) ) // InternalMelange.g:6075:5: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) { // InternalMelange.g:6075:5: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) // InternalMelange.g:6075:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) { // InternalMelange.g:6075:6: ( ( ruleJvmTypeReference ) ) // InternalMelange.g:6076:1: ( ruleJvmTypeReference ) { // InternalMelange.g:6076:1: ( ruleJvmTypeReference ) // InternalMelange.g:6077:1: ruleJvmTypeReference { pushFollow(FOLLOW_3); ruleJvmTypeReference(); state._fsp--; if (state.failed) return ; } } // InternalMelange.g:6079:2: ( ( ruleValidID ) ) // InternalMelange.g:6080:1: ( ruleValidID ) { // InternalMelange.g:6080:1: ( ruleValidID ) // InternalMelange.g:6081:1: ruleValidID { pushFollow(FOLLOW_2); ruleValidID(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred33_InternalMelange // $ANTLR start synpred34_InternalMelange public final void synpred34_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:6364:4: ( ( '(' ) ) // InternalMelange.g:6365:1: ( '(' ) { // InternalMelange.g:6365:1: ( '(' ) // InternalMelange.g:6366:2: '(' { match(input,35,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred34_InternalMelange // $ANTLR start synpred35_InternalMelange public final void synpred35_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:6385:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalMelange.g:6385:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalMelange.g:6385:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalMelange.g:6385:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalMelange.g:6385:6: () // InternalMelange.g:6386:1: { } // InternalMelange.g:6386:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt172=2; int LA172_0 = input.LA(1); if ( (LA172_0==RULE_ID||LA172_0==35||LA172_0==66) ) { alt172=1; } switch (alt172) { case 1 : // InternalMelange.g:6386:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalMelange.g:6386:3: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:6387:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:6387:1: ( ruleJvmFormalParameter ) // InternalMelange.g:6388:1: ruleJvmFormalParameter { pushFollow(FOLLOW_72); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalMelange.g:6390:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop171: do { int alt171=2; int LA171_0 = input.LA(1); if ( (LA171_0==17) ) { alt171=1; } switch (alt171) { case 1 : // InternalMelange.g:6390:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,17,FOLLOW_16); if (state.failed) return ; // InternalMelange.g:6391:1: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:6392:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:6392:1: ( ruleJvmFormalParameter ) // InternalMelange.g:6393:1: ruleJvmFormalParameter { pushFollow(FOLLOW_72); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop171; } } while (true); } break; } // InternalMelange.g:6395:6: ( ( '|' ) ) // InternalMelange.g:6396:1: ( '|' ) { // InternalMelange.g:6396:1: ( '|' ) // InternalMelange.g:6397:2: '|' { match(input,83,FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred35_InternalMelange // $ANTLR start synpred36_InternalMelange public final void synpred36_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:6464:4: ( ( () '[' ) ) // InternalMelange.g:6464:5: ( () '[' ) { // InternalMelange.g:6464:5: ( () '[' ) // InternalMelange.g:6464:6: () '[' { // InternalMelange.g:6464:6: () // InternalMelange.g:6465:1: { } match(input,44,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred36_InternalMelange // $ANTLR start synpred37_InternalMelange public final void synpred37_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:6629:4: ( '<' ) // InternalMelange.g:6629:6: '<' { match(input,53,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred37_InternalMelange // $ANTLR start synpred38_InternalMelange public final void synpred38_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:6678:5: ( ( '(' ) ) // InternalMelange.g:6679:1: ( '(' ) { // InternalMelange.g:6679:1: ( '(' ) // InternalMelange.g:6680:2: '(' { match(input,35,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred38_InternalMelange // $ANTLR start synpred39_InternalMelange public final void synpred39_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:6699:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalMelange.g:6699:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalMelange.g:6699:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalMelange.g:6699:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalMelange.g:6699:6: () // InternalMelange.g:6700:1: { } // InternalMelange.g:6700:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt174=2; int LA174_0 = input.LA(1); if ( (LA174_0==RULE_ID||LA174_0==35||LA174_0==66) ) { alt174=1; } switch (alt174) { case 1 : // InternalMelange.g:6700:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalMelange.g:6700:3: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:6701:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:6701:1: ( ruleJvmFormalParameter ) // InternalMelange.g:6702:1: ruleJvmFormalParameter { pushFollow(FOLLOW_72); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalMelange.g:6704:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop173: do { int alt173=2; int LA173_0 = input.LA(1); if ( (LA173_0==17) ) { alt173=1; } switch (alt173) { case 1 : // InternalMelange.g:6704:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,17,FOLLOW_16); if (state.failed) return ; // InternalMelange.g:6705:1: ( ( ruleJvmFormalParameter ) ) // InternalMelange.g:6706:1: ( ruleJvmFormalParameter ) { // InternalMelange.g:6706:1: ( ruleJvmFormalParameter ) // InternalMelange.g:6707:1: ruleJvmFormalParameter { pushFollow(FOLLOW_72); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop173; } } while (true); } break; } // InternalMelange.g:6709:6: ( ( '|' ) ) // InternalMelange.g:6710:1: ( '|' ) { // InternalMelange.g:6710:1: ( '|' ) // InternalMelange.g:6711:2: '|' { match(input,83,FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred39_InternalMelange // $ANTLR start synpred40_InternalMelange public final void synpred40_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:6778:4: ( ( () '[' ) ) // InternalMelange.g:6778:5: ( () '[' ) { // InternalMelange.g:6778:5: ( () '[' ) // InternalMelange.g:6778:6: () '[' { // InternalMelange.g:6778:6: () // InternalMelange.g:6779:1: { } match(input,44,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred40_InternalMelange // $ANTLR start synpred41_InternalMelange public final void synpred41_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:7118:2: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 ) // InternalMelange.g: { if ( (input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_ID)||input.LA(1)==20||input.LA(1)==35||input.LA(1)==44||input.LA(1)==53||(input.LA(1)>=69 && input.LA(1)<=70)||input.LA(1)==75||input.LA(1)==82||input.LA(1)==85||input.LA(1)==87||(input.LA(1)>=91 && input.LA(1)<=93)||(input.LA(1)>=96 && input.LA(1)<=108)||input.LA(1)==110 ) { 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 synpred41_InternalMelange // $ANTLR start synpred42_InternalMelange public final void synpred42_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:7212:5: ( 'catch' ) // InternalMelange.g:7212:7: 'catch' { match(input,111,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred42_InternalMelange // $ANTLR start synpred43_InternalMelange public final void synpred43_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:7231:5: ( 'finally' ) // InternalMelange.g:7231:7: 'finally' { match(input,109,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred43_InternalMelange // $ANTLR start synpred46_InternalMelange public final void synpred46_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:7457:3: ( '.' ) // InternalMelange.g:7458:2: '.' { match(input,79,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred46_InternalMelange // $ANTLR start synpred47_InternalMelange public final void synpred47_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:7583:2: ( ( () ruleArrayBrackets ) ) // InternalMelange.g:7583:3: ( () ruleArrayBrackets ) { // InternalMelange.g:7583:3: ( () ruleArrayBrackets ) // InternalMelange.g:7583:4: () ruleArrayBrackets { // InternalMelange.g:7583:4: () // InternalMelange.g:7584:1: { } pushFollow(FOLLOW_2); ruleArrayBrackets(); state._fsp--; if (state.failed) return ; } } } // $ANTLR end synpred47_InternalMelange // $ANTLR start synpred48_InternalMelange public final void synpred48_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:7768:4: ( '<' ) // InternalMelange.g:7768:6: '<' { match(input,53,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred48_InternalMelange // $ANTLR start synpred49_InternalMelange public final void synpred49_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:7817:3: ( ( () '.' ) ) // InternalMelange.g:7817:4: ( () '.' ) { // InternalMelange.g:7817:4: ( () '.' ) // InternalMelange.g:7817:5: () '.' { // InternalMelange.g:7817:5: () // InternalMelange.g:7818:1: { } match(input,79,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred49_InternalMelange // $ANTLR start synpred50_InternalMelange public final void synpred50_InternalMelange_fragment() throws RecognitionException { // InternalMelange.g:7844:4: ( '<' ) // InternalMelange.g:7844:6: '<' { match(input,53,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred50_InternalMelange // Delegated rules public final boolean synpred25_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred25_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred41_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred37_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred8_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred10_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred13_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred18_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred3_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred47_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred49_InternalMelange_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 synpred15_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred15_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred35_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred19_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred6_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred12_InternalMelange_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 synpred31_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred31_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred46_InternalMelange_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 synpred43_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred43_InternalMelange_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 synpred50_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred50_InternalMelange_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 synpred2_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred2_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred16_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred5_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred34_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred22_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred4_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred48_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred33_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred17_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred36_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred29_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred30_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred40_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred24_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred9_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred21_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred38_InternalMelange_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 synpred27_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred27_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred20_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred23_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred7_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred11_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred39_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred1_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred14_InternalMelange_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_InternalMelange() { state.backtracking++; int start = input.mark(); try { synpred42_InternalMelange_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 DFA17 dfa17 = new DFA17(this); protected DFA26 dfa26 = new DFA26(this); protected DFA50 dfa50 = new DFA50(this); protected DFA51 dfa51 = new DFA51(this); protected DFA61 dfa61 = new DFA61(this); protected DFA64 dfa64 = new DFA64(this); protected DFA80 dfa80 = new DFA80(this); protected DFA79 dfa79 = new DFA79(this); protected DFA81 dfa81 = new DFA81(this); protected DFA83 dfa83 = new DFA83(this); protected DFA92 dfa92 = new DFA92(this); protected DFA99 dfa99 = new DFA99(this); protected DFA98 dfa98 = new DFA98(this); protected DFA121 dfa121 = new DFA121(this); protected DFA120 dfa120 = new DFA120(this); protected DFA122 dfa122 = new DFA122(this); protected DFA126 dfa126 = new DFA126(this); protected DFA129 dfa129 = new DFA129(this); protected DFA128 dfa128 = new DFA128(this); protected DFA130 dfa130 = new DFA130(this); protected DFA133 dfa133 = new DFA133(this); protected DFA151 dfa151 = new DFA151(this); protected DFA149 dfa149 = new DFA149(this); protected DFA159 dfa159 = new DFA159(this); static final String dfa_1s = "\23\uffff"; static final String dfa_2s = "\1\1\22\uffff"; static final String dfa_3s = "\1\16\1\uffff\11\0\10\uffff"; static final String dfa_4s = "\1\45\1\uffff\11\0\10\uffff"; static final String dfa_5s = "\1\uffff\1\11\11\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10"; static final String dfa_6s = "\2\uffff\1\7\1\2\1\4\1\5\1\6\1\10\1\0\1\3\1\1\10\uffff}>"; static final String[] dfa_7s = { "\1\1\1\2\5\uffff\1\3\1\1\1\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\1\1\uffff\2\1\2\uffff\1\1", "", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "" }; 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 DFA17 extends DFA { public DFA17(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 17; 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 "()+ loopback of 272:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'inherits' ( (lv_operators_4_0= ruleInherit ) ) (otherlv_5= ',' ( (lv_operators_6_0= ruleInherit ) ) )* )? (otherlv_7= 'implements' ( ( ruleQualifiedName ) ) (otherlv_9= ',' ( ( ruleQualifiedName ) ) )* )? (otherlv_11= 'requires' ( ( ruleQualifiedName ) ) (otherlv_13= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_15= '{' ( (lv_operators_16_0= ruleOperator ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'resource' ( (lv_resourceType_18_0= ruleResourceType ) ) ( ( ( ( 'uri' )=>otherlv_19= 'uri' ) ( (lv_resourceUri_20_0= RULE_STRING ) ) ) | (otherlv_21= 'setup' ( (lv_xtextSetupRef_22_0= ruleJvmTypeReference ) ) ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'xtext' ( (lv_xtext_24_0= RULE_STRING ) ) (otherlv_25= ',' ( (lv_xtext_26_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'sirius' ( (lv_sirius_28_0= RULE_STRING ) ) (otherlv_29= ',' ( (lv_sirius_30_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'ecl' ( (lv_ecl_32_0= RULE_STRING ) ) (otherlv_33= ',' ( (lv_ecl_34_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'xmof' ( (lv_xmof_36_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_37= 'fileExtension' ( (lv_fileExtension_38_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_39= 'exactType' ( (lv_exactTypeName_40_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_41= 'uri' ) ( (lv_exactTypeUri_42_0= RULE_STRING ) ) )? )? otherlv_43= '}' ) ) ) ) )+"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA17_8 = input.LA(1); int index17_8 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 6) ) {s = 17;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index17_8); if ( s>=0 ) return s; break; case 1 : int LA17_10 = input.LA(1); int index17_10 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 7) ) {s = 18;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index17_10); if ( s>=0 ) return s; break; case 2 : int LA17_3 = input.LA(1); int index17_3 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 1) ) {s = 12;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index17_3); if ( s>=0 ) return s; break; case 3 : int LA17_9 = input.LA(1); int index17_9 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 7) ) {s = 18;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index17_9); if ( s>=0 ) return s; break; case 4 : int LA17_4 = input.LA(1); int index17_4 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 2) ) {s = 13;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index17_4); if ( s>=0 ) return s; break; case 5 : int LA17_5 = input.LA(1); int index17_5 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 3) ) {s = 14;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index17_5); if ( s>=0 ) return s; break; case 6 : int LA17_6 = input.LA(1); int index17_6 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 4) ) {s = 15;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index17_6); if ( s>=0 ) return s; break; case 7 : int LA17_2 = input.LA(1); int index17_2 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 0) ) {s = 11;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index17_2); if ( s>=0 ) return s; break; case 8 : int LA17_7 = input.LA(1); int index17_7 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getLanguageAccess().getUnorderedGroup(), 5) ) {s = 16;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index17_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 17, _s, input); error(nvae); throw nvae; } } static final String dfa_8s = "\47\uffff"; static final String dfa_9s = "\1\1\23\uffff\1\1\22\uffff"; static final String dfa_10s = "\1\16\1\uffff\1\10\5\4\1\10\1\0\1\uffff\1\20\5\0\1\26\1\uffff\1\10\1\16\5\uffff\1\4\1\0\1\21\1\4\1\36\2\10\1\0\2\21\1\uffff\1\10\1\21"; static final String dfa_11s = "\1\56\1\uffff\1\10\5\4\1\10\1\0\1\uffff\1\24\5\0\1\36\1\uffff\1\10\1\56\5\uffff\1\4\1\0\1\117\1\4\1\36\2\10\1\0\2\117\1\uffff\1\10\1\117"; static final String dfa_12s = "\1\uffff\1\11\10\uffff\1\2\7\uffff\1\10\2\uffff\1\3\1\4\1\5\1\6\1\7\12\uffff\1\1\2\uffff"; static final String dfa_13s = "\1\3\10\uffff\1\1\2\uffff\1\4\1\7\1\0\1\2\1\10\12\uffff\1\5\5\uffff\1\6\5\uffff}>"; static final String[] dfa_14s = { "\1\1\1\2\5\uffff\2\1\1\uffff\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\1\1\uffff\2\1\2\uffff\1\1\10\uffff\1\12", "", "\1\13", "\1\14", "\1\15", "\1\16", "\1\17", "\1\20", "\1\21", "\1\uffff", "", "\1\1\1\uffff\1\23\1\1\1\24", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\32\7\uffff\1\33", "", "\1\34", "\2\1\5\uffff\2\1\1\uffff\10\1\1\35\2\1\2\uffff\1\1\3\uffff\2\1\3\uffff\1\1", "", "", "", "", "", "\1\36", "\1\uffff", "\1\40\1\uffff\1\1\1\24\72\uffff\1\37", "\1\41", "\1\33", "\1\42", "\1\43", "\1\uffff", "\1\40\1\uffff\1\1\1\24\72\uffff\1\37", "\1\40\1\uffff\1\1\1\24\72\uffff\1\45", "", "\1\46", "\1\40\1\uffff\1\1\1\24\72\uffff\1\45" }; static final short[] dfa_8 = DFA.unpackEncodedString(dfa_8s); static final short[] dfa_9 = DFA.unpackEncodedString(dfa_9s); static final char[] dfa_10 = DFA.unpackEncodedStringToUnsignedChars(dfa_10s); static final char[] dfa_11 = DFA.unpackEncodedStringToUnsignedChars(dfa_11s); static final short[] dfa_12 = DFA.unpackEncodedString(dfa_12s); static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); static final short[][] dfa_14 = unpackEncodedStringArray(dfa_14s); class DFA26 extends DFA { public DFA26(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 26; this.eot = dfa_8; this.eof = dfa_9; this.min = dfa_10; this.max = dfa_11; this.accept = dfa_12; this.special = dfa_13; this.transition = dfa_14; } public String getDescription() { return "()+ loopback of 863:3: ( ({...}? => ( ({...}? => (otherlv_1= 'language' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'implements' ( ( ruleQualifiedName ) ) (otherlv_5= ',' ( ( ruleQualifiedName ) ) )* )? otherlv_7= '{' ( (lv_operators_8_0= ruleExternalImport ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_operators_9_0= ruleWeave ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_10= 'xtext' ( (lv_xtext_11_0= RULE_STRING ) ) (otherlv_12= ',' ( (lv_xtext_13_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_14= 'sirius' ( (lv_sirius_15_0= RULE_STRING ) ) (otherlv_16= ',' ( (lv_sirius_17_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'ecl' ( (lv_ecl_19_0= RULE_STRING ) ) (otherlv_20= ',' ( (lv_ecl_21_0= RULE_STRING ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'xmof' ( (lv_xmof_23_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'fileExtension' ( (lv_fileExtension_25_0= RULE_STRING ) ) ) ) ) ) | ({...}? => ( ({...}? => ( (otherlv_26= 'exactType' ( (lv_exactTypeName_27_0= ruleValidID ) ) ( ( ( 'uri' )=>otherlv_28= 'uri' ) ( (lv_exactTypeUri_29_0= RULE_STRING ) ) )? )? otherlv_30= '}' ) ) ) ) )+"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA26_14 = input.LA(1); int index26_14 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 4) ) {s = 23;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index26_14); if ( s>=0 ) return s; break; case 1 : int LA26_9 = input.LA(1); int index26_9 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 7) ) {s = 18;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index26_9); if ( s>=0 ) return s; break; case 2 : int LA26_15 = input.LA(1); int index26_15 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 5) ) {s = 24;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index26_15); if ( s>=0 ) return s; break; case 3 : int LA26_0 = input.LA(1); int index26_0 = input.index(); input.rewind(); s = -1; if ( (LA26_0==EOF||LA26_0==14||(LA26_0>=21 && LA26_0<=22)||LA26_0==31||(LA26_0>=33 && LA26_0<=34)||LA26_0==37) ) {s = 1;} else if ( (LA26_0==15) ) {s = 2;} else if ( (LA26_0==24) ) {s = 3;} else if ( (LA26_0==25) ) {s = 4;} else if ( (LA26_0==26) ) {s = 5;} else if ( (LA26_0==27) ) {s = 6;} else if ( (LA26_0==28) ) {s = 7;} else if ( (LA26_0==29) ) {s = 8;} else if ( (LA26_0==30) ) {s = 9;} else if ( LA26_0 == 46 && getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 1) ) {s = 10;} input.seek(index26_0); if ( s>=0 ) return s; break; case 4 : int LA26_12 = input.LA(1); int index26_12 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 2) ) {s = 21;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index26_12); if ( s>=0 ) return s; break; case 5 : int LA26_27 = input.LA(1); int index26_27 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 7) ) {s = 18;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index26_27); if ( s>=0 ) return s; break; case 6 : int LA26_33 = input.LA(1); int index26_33 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 0) ) {s = 36;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index26_33); if ( s>=0 ) return s; break; case 7 : int LA26_13 = input.LA(1); int index26_13 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 3) ) {s = 22;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index26_13); if ( s>=0 ) return s; break; case 8 : int LA26_16 = input.LA(1); int index26_16 = input.index(); input.rewind(); s = -1; if ( getUnorderedGroupHelper().canSelect(grammarAccess.getExternalLanguageAccess().getUnorderedGroup(), 6) ) {s = 25;} else if ( getUnorderedGroupHelper().canLeave(grammarAccess.getExternalLanguageAccess().getUnorderedGroup()) ) {s = 1;} input.seek(index26_16); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 26, _s, input); error(nvae); throw nvae; } } static final String dfa_15s = "\7\uffff"; static final String dfa_16s = "\2\uffff\1\3\2\uffff\1\3\1\uffff"; static final String dfa_17s = "\1\56\1\10\1\16\1\uffff\1\10\1\16\1\uffff"; static final String dfa_18s = "\1\56\1\102\1\117\1\uffff\1\107\1\117\1\uffff"; static final String dfa_19s = "\3\uffff\1\1\2\uffff\1\2"; static final String dfa_20s = "\7\uffff}>"; static final String[] dfa_21s = { "\1\1", "\1\2\32\uffff\1\3\36\uffff\1\3", "\2\3\5\uffff\2\3\1\uffff\13\3\2\uffff\1\3\3\uffff\2\3\1\uffff\1\3\1\uffff\1\3\6\uffff\1\3\31\uffff\1\4", "", "\1\5\76\uffff\1\6", "\2\3\5\uffff\2\3\1\uffff\13\3\2\uffff\1\3\3\uffff\2\3\1\uffff\1\3\1\uffff\1\3\6\uffff\1\3\31\uffff\1\4", "" }; static final short[] dfa_15 = DFA.unpackEncodedString(dfa_15s); static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); static final char[] dfa_17 = DFA.unpackEncodedStringToUnsignedChars(dfa_17s); static final char[] dfa_18 = DFA.unpackEncodedStringToUnsignedChars(dfa_18s); static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s); static final short[] dfa_20 = DFA.unpackEncodedString(dfa_20s); static final short[][] dfa_21 = unpackEncodedStringArray(dfa_21s); class DFA50 extends DFA { public DFA50(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 50; this.eot = dfa_15; this.eof = dfa_16; this.min = dfa_17; this.max = dfa_18; this.accept = dfa_19; this.special = dfa_20; this.transition = dfa_21; } public String getDescription() { return "2405:1: (this_AspectTypeRef_0= ruleAspectTypeRef | this_AspectWildcard_1= ruleAspectWildcard )"; } } static final String dfa_22s = "\12\uffff"; static final String dfa_23s = "\1\10\11\uffff"; static final String dfa_24s = "\1\4\7\0\2\uffff"; static final String dfa_25s = "\1\157\7\0\2\uffff"; static final String dfa_26s = "\10\uffff\1\2\1\1"; static final String dfa_27s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\6\1\5\2\uffff}>"; static final String[] dfa_28s = { "\5\10\10\uffff\1\10\2\uffff\1\10\11\uffff\1\10\4\uffff\2\10\7\uffff\2\10\2\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\34\10\1\uffff\34\10", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "" }; static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s); 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 DFA51 extends DFA { public DFA51(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 51; this.eot = dfa_22; 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 "2618: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 LA51_1 = input.LA(1); int index51_1 = input.index(); input.rewind(); s = -1; if ( (synpred5_InternalMelange()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index51_1); if ( s>=0 ) return s; break; case 1 : int LA51_2 = input.LA(1); int index51_2 = input.index(); input.rewind(); s = -1; if ( (synpred5_InternalMelange()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index51_2); if ( s>=0 ) return s; break; case 2 : int LA51_3 = input.LA(1); int index51_3 = input.index(); input.rewind(); s = -1; if ( (synpred5_InternalMelange()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index51_3); if ( s>=0 ) return s; break; case 3 : int LA51_4 = input.LA(1); int index51_4 = input.index(); input.rewind(); s = -1; if ( (synpred5_InternalMelange()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index51_4); if ( s>=0 ) return s; break; case 4 : int LA51_5 = input.LA(1); int index51_5 = input.index(); input.rewind(); s = -1; if ( (synpred5_InternalMelange()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index51_5); if ( s>=0 ) return s; break; case 5 : int LA51_7 = input.LA(1); int index51_7 = input.index(); input.rewind(); s = -1; if ( (synpred5_InternalMelange()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index51_7); if ( s>=0 ) return s; break; case 6 : int LA51_6 = input.LA(1); int index51_6 = input.index(); input.rewind(); s = -1; if ( (synpred5_InternalMelange()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index51_6); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 51, _s, input); error(nvae); throw nvae; } } static final String dfa_29s = "\13\uffff"; static final String dfa_30s = "\1\1\12\uffff"; static final String dfa_31s = "\1\4\1\uffff\10\0\1\uffff"; static final String dfa_32s = "\1\157\1\uffff\10\0\1\uffff"; static final String dfa_33s = "\1\uffff\1\2\10\uffff\1\1"; static final String dfa_34s = "\2\uffff\1\6\1\2\1\3\1\4\1\5\1\7\1\0\1\1\1\uffff}>"; static final String[] dfa_35s = { "\5\1\10\uffff\1\1\2\uffff\1\1\11\uffff\1\1\4\uffff\2\1\7\uffff\2\1\2\uffff\5\1\1\2\1\3\10\1\1\4\1\5\1\6\1\7\1\10\1\11\16\1\1\uffff\34\1", "", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "" }; static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s); static final short[] dfa_30 = DFA.unpackEncodedString(dfa_30s); static final char[] dfa_31 = DFA.unpackEncodedStringToUnsignedChars(dfa_31s); static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s); static final short[] dfa_33 = DFA.unpackEncodedString(dfa_33s); static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s); static final short[][] dfa_35 = unpackEncodedStringArray(dfa_35s); class DFA61 extends DFA { public DFA61(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 61; this.eot = dfa_29; this.eof = dfa_30; this.min = dfa_31; this.max = dfa_32; this.accept = dfa_33; this.special = dfa_34; this.transition = dfa_35; } public String getDescription() { return "()* loopback of 3295: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 LA61_8 = input.LA(1); int index61_8 = input.index(); input.rewind(); s = -1; if ( (synpred11_InternalMelange()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index61_8); if ( s>=0 ) return s; break; case 1 : int LA61_9 = input.LA(1); int index61_9 = input.index(); input.rewind(); s = -1; if ( (synpred11_InternalMelange()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index61_9); if ( s>=0 ) return s; break; case 2 : int LA61_3 = input.LA(1); int index61_3 = input.index(); input.rewind(); s = -1; if ( (synpred11_InternalMelange()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index61_3); if ( s>=0 ) return s; break; case 3 : int LA61_4 = input.LA(1); int index61_4 = input.index(); input.rewind(); s = -1; if ( (synpred11_InternalMelange()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index61_4); if ( s>=0 ) return s; break; case 4 : int LA61_5 = input.LA(1); int index61_5 = input.index(); input.rewind(); s = -1; if ( (synpred11_InternalMelange()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index61_5); if ( s>=0 ) return s; break; case 5 : int LA61_6 = input.LA(1); int index61_6 = input.index(); input.rewind(); s = -1; if ( (synpred11_InternalMelange()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index61_6); if ( s>=0 ) return s; break; case 6 : int LA61_2 = input.LA(1); int index61_2 = input.index(); input.rewind(); s = -1; if ( (synpred11_InternalMelange()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index61_2); if ( s>=0 ) return s; break; case 7 : int LA61_7 = input.LA(1); int index61_7 = input.index(); input.rewind(); s = -1; if ( (synpred11_InternalMelange()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index61_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 61, _s, input); error(nvae); throw nvae; } } static final String dfa_36s = "\1\65\2\uffff\1\66\7\uffff"; static final String dfa_37s = "\1\104\2\uffff\1\101\7\uffff"; static final String dfa_38s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\3\1\6"; static final String dfa_39s = "\13\uffff}>"; static final String[] dfa_40s = { "\1\6\1\3\10\uffff\1\1\1\2\1\4\1\5\1\7\1\10", "", "", "\1\12\12\uffff\1\11", "", "", "", "", "", "", "" }; static final char[] dfa_36 = DFA.unpackEncodedStringToUnsignedChars(dfa_36s); static final char[] dfa_37 = DFA.unpackEncodedStringToUnsignedChars(dfa_37s); static final short[] dfa_38 = DFA.unpackEncodedString(dfa_38s); static final short[] dfa_39 = DFA.unpackEncodedString(dfa_39s); static final short[][] dfa_40 = unpackEncodedStringArray(dfa_40s); class DFA64 extends DFA { public DFA64(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 64; this.eot = dfa_29; this.eof = dfa_29; this.min = dfa_36; this.max = dfa_37; this.accept = dfa_38; this.special = dfa_39; this.transition = dfa_40; } public String getDescription() { return "3360:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )"; } } static final String dfa_41s = "\116\uffff"; static final String dfa_42s = "\1\2\115\uffff"; static final String dfa_43s = "\1\4\1\0\114\uffff"; static final String dfa_44s = "\1\157\1\0\114\uffff"; static final String dfa_45s = "\2\uffff\1\2\112\uffff\1\1"; static final String dfa_46s = "\1\uffff\1\0\114\uffff}>"; static final String[] dfa_47s = { "\5\2\10\uffff\1\2\2\uffff\1\2\11\uffff\1\2\4\uffff\1\1\1\2\7\uffff\2\2\2\uffff\43\2\1\uffff\34\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s); static final short[] dfa_42 = DFA.unpackEncodedString(dfa_42s); static final char[] dfa_43 = DFA.unpackEncodedStringToUnsignedChars(dfa_43s); static final char[] dfa_44 = DFA.unpackEncodedStringToUnsignedChars(dfa_44s); static final short[] dfa_45 = DFA.unpackEncodedString(dfa_45s); static final short[] dfa_46 = DFA.unpackEncodedString(dfa_46s); static final short[][] dfa_47 = unpackEncodedStringArray(dfa_47s); class DFA80 extends DFA { public DFA80(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 80; this.eot = dfa_41; this.eof = dfa_42; this.min = dfa_43; this.max = dfa_44; this.accept = dfa_45; this.special = dfa_46; this.transition = dfa_47; } public String getDescription() { return "4204: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 LA80_1 = input.LA(1); int index80_1 = input.index(); input.rewind(); s = -1; if ( (synpred20_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index80_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 80, _s, input); error(nvae); throw nvae; } } static final String dfa_48s = "\44\uffff"; static final String dfa_49s = "\1\4\2\0\41\uffff"; static final String dfa_50s = "\1\156\2\0\41\uffff"; static final String dfa_51s = "\3\uffff\2\1\1\2\35\uffff\1\3"; static final String dfa_52s = "\1\0\1\1\1\2\41\uffff}>"; static final String[] dfa_53s = { "\4\5\1\1\13\uffff\1\5\16\uffff\1\2\1\43\7\uffff\1\5\10\uffff\1\5\14\uffff\1\3\2\uffff\2\5\4\uffff\1\5\6\uffff\1\5\1\4\1\uffff\1\5\1\uffff\1\5\3\uffff\3\5\2\uffff\15\5\1\uffff\1\5", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s); static final char[] dfa_49 = DFA.unpackEncodedStringToUnsignedChars(dfa_49s); static final char[] dfa_50 = DFA.unpackEncodedStringToUnsignedChars(dfa_50s); static final short[] dfa_51 = DFA.unpackEncodedString(dfa_51s); static final short[] dfa_52 = DFA.unpackEncodedString(dfa_52s); static final short[][] dfa_53 = unpackEncodedStringArray(dfa_53s); class DFA79 extends DFA { public DFA79(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 79; this.eot = dfa_48; this.eof = dfa_48; this.min = dfa_49; this.max = dfa_50; this.accept = dfa_51; this.special = dfa_52; this.transition = dfa_53; } public String getDescription() { return "4225: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 LA79_0 = input.LA(1); int index79_0 = input.index(); input.rewind(); s = -1; if ( (LA79_0==RULE_ID) ) {s = 1;} else if ( (LA79_0==35) ) {s = 2;} else if ( (LA79_0==66) && (synpred21_InternalMelange())) {s = 3;} else if ( (LA79_0==83) && (synpred21_InternalMelange())) {s = 4;} else if ( ((LA79_0>=RULE_STRING && LA79_0<=RULE_DECIMAL)||LA79_0==20||LA79_0==44||LA79_0==53||(LA79_0>=69 && LA79_0<=70)||LA79_0==75||LA79_0==82||LA79_0==85||LA79_0==87||(LA79_0>=91 && LA79_0<=93)||(LA79_0>=96 && LA79_0<=108)||LA79_0==110) ) {s = 5;} else if ( (LA79_0==36) ) {s = 35;} input.seek(index79_0); if ( s>=0 ) return s; break; case 1 : int LA79_1 = input.LA(1); int index79_1 = input.index(); input.rewind(); s = -1; if ( (synpred21_InternalMelange()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index79_1); if ( s>=0 ) return s; break; case 2 : int LA79_2 = input.LA(1); int index79_2 = input.index(); input.rewind(); s = -1; if ( (synpred21_InternalMelange()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index79_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 79, _s, input); error(nvae); throw nvae; } } static final String[] dfa_54s = { "\5\2\10\uffff\1\2\2\uffff\1\2\11\uffff\1\2\4\uffff\2\2\7\uffff\1\1\1\2\2\uffff\43\2\1\uffff\34\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[][] dfa_54 = unpackEncodedStringArray(dfa_54s); class DFA81 extends DFA { public DFA81(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 81; this.eot = dfa_41; this.eof = dfa_42; this.min = dfa_43; this.max = dfa_44; this.accept = dfa_45; this.special = dfa_46; this.transition = dfa_54; } public String getDescription() { return "4304: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 LA81_1 = input.LA(1); int index81_1 = input.index(); input.rewind(); s = -1; if ( (synpred22_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index81_1); 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_55s = "\40\uffff"; static final String dfa_56s = "\1\4\26\uffff\1\0\10\uffff"; static final String dfa_57s = "\1\156\26\uffff\1\0\10\uffff"; static final String dfa_58s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\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_59s = "\1\0\26\uffff\1\1\10\uffff}>"; static final String[] dfa_60s = { "\4\14\1\5\13\uffff\1\2\16\uffff\1\35\10\uffff\1\14\10\uffff\1\5\34\uffff\1\14\2\uffff\1\26\1\uffff\1\3\3\uffff\1\27\1\30\1\31\2\uffff\5\5\1\1\4\14\1\32\1\33\1\34\1\uffff\1\4", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "\1\uffff", "", "", "", "", "", "", "", "" }; static final short[] dfa_55 = DFA.unpackEncodedString(dfa_55s); static final char[] dfa_56 = DFA.unpackEncodedStringToUnsignedChars(dfa_56s); static final char[] dfa_57 = DFA.unpackEncodedStringToUnsignedChars(dfa_57s); static final short[] dfa_58 = DFA.unpackEncodedString(dfa_58s); static final short[] dfa_59 = DFA.unpackEncodedString(dfa_59s); static final short[][] dfa_60 = unpackEncodedStringArray(dfa_60s); class DFA83 extends DFA { public DFA83(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 83; this.eot = dfa_55; this.eof = dfa_55; this.min = dfa_56; this.max = dfa_57; this.accept = dfa_58; this.special = dfa_59; this.transition = dfa_60; } public String getDescription() { return "4345: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 LA83_0 = input.LA(1); int index83_0 = input.index(); input.rewind(); s = -1; if ( (LA83_0==101) ) {s = 1;} else if ( (LA83_0==20) ) {s = 2;} else if ( (LA83_0==87) ) {s = 3;} else if ( (LA83_0==110) && (synpred23_InternalMelange())) {s = 4;} else if ( (LA83_0==RULE_ID||LA83_0==53||(LA83_0>=96 && LA83_0<=100)) ) {s = 5;} else if ( ((LA83_0>=RULE_STRING && LA83_0<=RULE_DECIMAL)||LA83_0==44||LA83_0==82||(LA83_0>=102 && LA83_0<=105)) ) {s = 12;} else if ( (LA83_0==85) ) {s = 22;} else if ( (LA83_0==91) ) {s = 23;} else if ( (LA83_0==92) ) {s = 24;} else if ( (LA83_0==93) ) {s = 25;} else if ( (LA83_0==106) ) {s = 26;} else if ( (LA83_0==107) ) {s = 27;} else if ( (LA83_0==108) ) {s = 28;} else if ( (LA83_0==35) ) {s = 29;} input.seek(index83_0); if ( s>=0 ) return s; break; case 1 : int LA83_23 = input.LA(1); int index83_23 = input.index(); input.rewind(); s = -1; if ( (synpred24_InternalMelange()) ) {s = 30;} else if ( (true) ) {s = 31;} input.seek(index83_23); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 83, _s, input); error(nvae); throw nvae; } } static final String dfa_61s = "\46\uffff"; static final String dfa_62s = "\1\4\2\0\43\uffff"; static final String dfa_63s = "\1\156\2\0\43\uffff"; static final String dfa_64s = "\3\uffff\2\1\1\2\40\uffff"; static final String dfa_65s = "\1\0\1\1\1\2\43\uffff}>"; static final String[] dfa_66s = { "\4\5\1\1\13\uffff\1\5\16\uffff\1\2\10\uffff\2\5\7\uffff\1\5\14\uffff\1\3\2\uffff\2\5\4\uffff\1\5\6\uffff\1\5\1\4\1\uffff\1\5\1\uffff\1\5\3\uffff\22\5\1\uffff\1\5", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s); static final char[] dfa_62 = DFA.unpackEncodedStringToUnsignedChars(dfa_62s); static final char[] dfa_63 = DFA.unpackEncodedStringToUnsignedChars(dfa_63s); static final short[] dfa_64 = DFA.unpackEncodedString(dfa_64s); static final short[] dfa_65 = DFA.unpackEncodedString(dfa_65s); static final short[][] dfa_66 = unpackEncodedStringArray(dfa_66s); class DFA92 extends DFA { public DFA92(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 92; this.eot = dfa_61; this.eof = dfa_61; this.min = dfa_62; this.max = dfa_63; this.accept = dfa_64; this.special = dfa_65; this.transition = dfa_66; } public String getDescription() { return "4828: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 LA92_0 = input.LA(1); int index92_0 = input.index(); input.rewind(); s = -1; if ( (LA92_0==RULE_ID) ) {s = 1;} else if ( (LA92_0==35) ) {s = 2;} else if ( (LA92_0==66) && (synpred27_InternalMelange())) {s = 3;} else if ( (LA92_0==83) && (synpred27_InternalMelange())) {s = 4;} else if ( ((LA92_0>=RULE_STRING && LA92_0<=RULE_DECIMAL)||LA92_0==20||(LA92_0>=44 && LA92_0<=45)||LA92_0==53||(LA92_0>=69 && LA92_0<=70)||LA92_0==75||LA92_0==82||LA92_0==85||LA92_0==87||(LA92_0>=91 && LA92_0<=108)||LA92_0==110) ) {s = 5;} input.seek(index92_0); if ( s>=0 ) return s; break; case 1 : int LA92_1 = input.LA(1); int index92_1 = input.index(); input.rewind(); s = -1; if ( (synpred27_InternalMelange()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index92_1); if ( s>=0 ) return s; break; case 2 : int LA92_2 = input.LA(1); int index92_2 = input.index(); input.rewind(); s = -1; if ( (synpred27_InternalMelange()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index92_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 92, _s, input); error(nvae); throw nvae; } } static final String dfa_67s = "\43\uffff"; static final String dfa_68s = "\1\4\1\0\41\uffff"; static final String dfa_69s = "\1\156\1\0\41\uffff"; static final String dfa_70s = "\2\uffff\1\2\37\uffff\1\1"; static final String dfa_71s = "\1\uffff\1\0\41\uffff}>"; static final String[] dfa_72s = { "\5\2\13\uffff\1\2\16\uffff\1\1\10\uffff\1\2\10\uffff\1\2\14\uffff\1\2\2\uffff\2\2\4\uffff\1\2\6\uffff\1\2\2\uffff\1\2\1\uffff\1\2\3\uffff\3\2\2\uffff\15\2\1\uffff\1\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_67 = DFA.unpackEncodedString(dfa_67s); static final char[] dfa_68 = DFA.unpackEncodedStringToUnsignedChars(dfa_68s); static final char[] dfa_69 = DFA.unpackEncodedStringToUnsignedChars(dfa_69s); static final short[] dfa_70 = DFA.unpackEncodedString(dfa_70s); static final short[] dfa_71 = DFA.unpackEncodedString(dfa_71s); static final short[][] dfa_72 = unpackEncodedStringArray(dfa_72s); class DFA99 extends DFA { public DFA99(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 99; this.eot = dfa_67; this.eof = dfa_67; this.min = dfa_68; this.max = dfa_69; this.accept = dfa_70; this.special = dfa_71; this.transition = dfa_72; } public String getDescription() { return "5252: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 LA99_1 = input.LA(1); int index99_1 = input.index(); input.rewind(); s = -1; if ( (synpred30_InternalMelange()) ) {s = 34;} else if ( (true) ) {s = 2;} input.seek(index99_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 99, _s, input); error(nvae); throw nvae; } } static final String dfa_73s = "\42\uffff"; static final String dfa_74s = "\1\4\2\0\37\uffff"; static final String dfa_75s = "\1\156\2\0\37\uffff"; static final String dfa_76s = "\3\uffff\1\1\1\2\35\uffff"; static final String dfa_77s = "\1\0\1\1\1\2\37\uffff}>"; static final String[] dfa_78s = { "\4\4\1\1\13\uffff\1\4\16\uffff\1\2\10\uffff\1\4\10\uffff\1\4\14\uffff\1\3\2\uffff\2\4\4\uffff\1\4\6\uffff\1\4\2\uffff\1\4\1\uffff\1\4\3\uffff\3\4\2\uffff\15\4\1\uffff\1\4", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s); static final char[] dfa_74 = DFA.unpackEncodedStringToUnsignedChars(dfa_74s); static final char[] dfa_75 = DFA.unpackEncodedStringToUnsignedChars(dfa_75s); static final short[] dfa_76 = DFA.unpackEncodedString(dfa_76s); static final short[] dfa_77 = DFA.unpackEncodedString(dfa_77s); static final short[][] dfa_78 = unpackEncodedStringArray(dfa_78s); class DFA98 extends DFA { public DFA98(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 98; this.eot = dfa_73; this.eof = dfa_73; this.min = dfa_74; this.max = dfa_75; this.accept = dfa_76; this.special = dfa_77; this.transition = dfa_78; } public String getDescription() { return "5307: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 LA98_0 = input.LA(1); int index98_0 = input.index(); input.rewind(); s = -1; if ( (LA98_0==RULE_ID) ) {s = 1;} else if ( (LA98_0==35) ) {s = 2;} else if ( (LA98_0==66) && (synpred31_InternalMelange())) {s = 3;} else if ( ((LA98_0>=RULE_STRING && LA98_0<=RULE_DECIMAL)||LA98_0==20||LA98_0==44||LA98_0==53||(LA98_0>=69 && LA98_0<=70)||LA98_0==75||LA98_0==82||LA98_0==85||LA98_0==87||(LA98_0>=91 && LA98_0<=93)||(LA98_0>=96 && LA98_0<=108)||LA98_0==110) ) {s = 4;} input.seek(index98_0); if ( s>=0 ) return s; break; case 1 : int LA98_1 = input.LA(1); int index98_1 = input.index(); input.rewind(); s = -1; if ( (synpred31_InternalMelange()) ) {s = 3;} else if ( (true) ) {s = 4;} input.seek(index98_1); if ( s>=0 ) return s; break; case 2 : int LA98_2 = input.LA(1); int index98_2 = input.index(); input.rewind(); s = -1; if ( (synpred31_InternalMelange()) ) {s = 3;} else if ( (true) ) {s = 4;} input.seek(index98_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 98, _s, input); error(nvae); throw nvae; } } class DFA121 extends DFA { public DFA121(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 121; this.eot = dfa_41; this.eof = dfa_42; this.min = dfa_43; this.max = dfa_44; this.accept = dfa_45; this.special = dfa_46; this.transition = dfa_47; } public String getDescription() { return "6364: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 LA121_1 = input.LA(1); int index121_1 = input.index(); input.rewind(); s = -1; if ( (synpred34_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index121_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 121, _s, input); error(nvae); throw nvae; } } class DFA120 extends DFA { public DFA120(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 120; this.eot = dfa_48; this.eof = dfa_48; this.min = dfa_49; this.max = dfa_50; this.accept = dfa_51; this.special = dfa_52; this.transition = dfa_53; } public String getDescription() { return "6385: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 LA120_0 = input.LA(1); int index120_0 = input.index(); input.rewind(); s = -1; if ( (LA120_0==RULE_ID) ) {s = 1;} else if ( (LA120_0==35) ) {s = 2;} else if ( (LA120_0==66) && (synpred35_InternalMelange())) {s = 3;} else if ( (LA120_0==83) && (synpred35_InternalMelange())) {s = 4;} else if ( ((LA120_0>=RULE_STRING && LA120_0<=RULE_DECIMAL)||LA120_0==20||LA120_0==44||LA120_0==53||(LA120_0>=69 && LA120_0<=70)||LA120_0==75||LA120_0==82||LA120_0==85||LA120_0==87||(LA120_0>=91 && LA120_0<=93)||(LA120_0>=96 && LA120_0<=108)||LA120_0==110) ) {s = 5;} else if ( (LA120_0==36) ) {s = 35;} input.seek(index120_0); if ( s>=0 ) return s; break; case 1 : int LA120_1 = input.LA(1); int index120_1 = input.index(); input.rewind(); s = -1; if ( (synpred35_InternalMelange()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index120_1); if ( s>=0 ) return s; break; case 2 : int LA120_2 = input.LA(1); int index120_2 = input.index(); input.rewind(); s = -1; if ( (synpred35_InternalMelange()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index120_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 120, _s, input); error(nvae); throw nvae; } } class DFA122 extends DFA { public DFA122(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 122; this.eot = dfa_41; this.eof = dfa_42; this.min = dfa_43; this.max = dfa_44; this.accept = dfa_45; this.special = dfa_46; this.transition = dfa_54; } public String getDescription() { return "6464: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 LA122_1 = input.LA(1); int index122_1 = input.index(); input.rewind(); s = -1; if ( (synpred36_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index122_1); 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_79s = { "\5\2\10\uffff\1\2\2\uffff\1\2\11\uffff\1\2\4\uffff\2\2\7\uffff\2\2\2\uffff\5\2\1\1\35\2\1\uffff\34\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[][] dfa_79 = unpackEncodedStringArray(dfa_79s); class DFA126 extends DFA { public DFA126(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 126; this.eot = dfa_41; this.eof = dfa_42; this.min = dfa_43; this.max = dfa_44; this.accept = dfa_45; this.special = dfa_46; this.transition = dfa_79; } public String getDescription() { return "6629: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 LA126_1 = input.LA(1); int index126_1 = input.index(); input.rewind(); s = -1; if ( (synpred37_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index126_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 126, _s, input); error(nvae); throw nvae; } } class DFA129 extends DFA { public DFA129(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 129; this.eot = dfa_41; this.eof = dfa_42; this.min = dfa_43; this.max = dfa_44; this.accept = dfa_45; this.special = dfa_46; this.transition = dfa_47; } public String getDescription() { return "6678: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 LA129_1 = input.LA(1); int index129_1 = input.index(); input.rewind(); s = -1; if ( (synpred38_InternalMelange()) ) {s = 77;} 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; } } class DFA128 extends DFA { public DFA128(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 128; this.eot = dfa_48; this.eof = dfa_48; this.min = dfa_49; this.max = dfa_50; this.accept = dfa_51; this.special = dfa_52; this.transition = dfa_53; } public String getDescription() { return "6699: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 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==35) ) {s = 2;} else if ( (LA128_0==66) && (synpred39_InternalMelange())) {s = 3;} else if ( (LA128_0==83) && (synpred39_InternalMelange())) {s = 4;} else if ( ((LA128_0>=RULE_STRING && LA128_0<=RULE_DECIMAL)||LA128_0==20||LA128_0==44||LA128_0==53||(LA128_0>=69 && LA128_0<=70)||LA128_0==75||LA128_0==82||LA128_0==85||LA128_0==87||(LA128_0>=91 && LA128_0<=93)||(LA128_0>=96 && LA128_0<=108)||LA128_0==110) ) {s = 5;} else if ( (LA128_0==36) ) {s = 35;} 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 ( (synpred39_InternalMelange()) ) {s = 4;} else if ( (true) ) {s = 5;} 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 ( (synpred39_InternalMelange()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index128_2); 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; } } class DFA130 extends DFA { public DFA130(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 130; this.eot = dfa_41; this.eof = dfa_42; this.min = dfa_43; this.max = dfa_44; this.accept = dfa_45; this.special = dfa_46; this.transition = dfa_54; } public String getDescription() { return "6778: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 LA130_1 = input.LA(1); int index130_1 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index130_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 130, _s, input); error(nvae); throw nvae; } } static final String dfa_80s = "\1\41\115\uffff"; static final String dfa_81s = "\1\4\40\0\55\uffff"; static final String dfa_82s = "\1\157\40\0\55\uffff"; static final String dfa_83s = "\41\uffff\1\2\53\uffff\1\1"; static final String dfa_84s = "\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\55\uffff}>"; static final String[] dfa_85s = { "\1\27\1\23\1\24\1\25\1\1\10\uffff\1\41\2\uffff\1\12\11\uffff\1\41\4\uffff\1\40\1\41\7\uffff\1\20\1\41\2\uffff\5\41\1\15\17\41\1\10\1\7\4\41\1\6\6\41\1\17\1\uffff\1\41\1\31\1\41\1\13\3\41\1\32\1\33\1\34\2\41\1\2\1\3\1\4\1\5\1\16\1\11\1\21\1\22\1\26\1\30\1\35\1\36\1\37\1\41\1\14\1\41", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\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_80 = DFA.unpackEncodedString(dfa_80s); static final char[] dfa_81 = DFA.unpackEncodedStringToUnsignedChars(dfa_81s); static final char[] dfa_82 = DFA.unpackEncodedStringToUnsignedChars(dfa_82s); static final short[] dfa_83 = DFA.unpackEncodedString(dfa_83s); static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s); static final short[][] dfa_85 = unpackEncodedStringArray(dfa_85s); class DFA133 extends DFA { public DFA133(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 133; this.eot = dfa_41; this.eof = dfa_80; this.min = dfa_81; this.max = dfa_82; this.accept = dfa_83; this.special = dfa_84; this.transition = dfa_85; } public String getDescription() { return "7118:1: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | '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 LA133_1 = input.LA(1); int index133_1 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_1); if ( s>=0 ) return s; break; case 1 : int LA133_2 = input.LA(1); int index133_2 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_2); if ( s>=0 ) return s; break; case 2 : int LA133_3 = input.LA(1); int index133_3 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_3); if ( s>=0 ) return s; break; case 3 : int LA133_4 = input.LA(1); int index133_4 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_4); if ( s>=0 ) return s; break; case 4 : int LA133_5 = input.LA(1); int index133_5 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_5); if ( s>=0 ) return s; break; case 5 : int LA133_6 = input.LA(1); int index133_6 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_6); if ( s>=0 ) return s; break; case 6 : int LA133_7 = input.LA(1); int index133_7 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_7); if ( s>=0 ) return s; break; case 7 : int LA133_8 = input.LA(1); int index133_8 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_8); if ( s>=0 ) return s; break; case 8 : int LA133_9 = input.LA(1); int index133_9 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_9); if ( s>=0 ) return s; break; case 9 : int LA133_10 = input.LA(1); int index133_10 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_10); if ( s>=0 ) return s; break; case 10 : int LA133_11 = input.LA(1); int index133_11 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_11); if ( s>=0 ) return s; break; case 11 : int LA133_12 = input.LA(1); int index133_12 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_12); if ( s>=0 ) return s; break; case 12 : int LA133_13 = input.LA(1); int index133_13 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_13); if ( s>=0 ) return s; break; case 13 : int LA133_14 = input.LA(1); int index133_14 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_14); if ( s>=0 ) return s; break; case 14 : int LA133_15 = input.LA(1); int index133_15 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_15); if ( s>=0 ) return s; break; case 15 : int LA133_16 = input.LA(1); int index133_16 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_16); if ( s>=0 ) return s; break; case 16 : int LA133_17 = input.LA(1); int index133_17 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_17); if ( s>=0 ) return s; break; case 17 : int LA133_18 = input.LA(1); int index133_18 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_18); if ( s>=0 ) return s; break; case 18 : int LA133_19 = input.LA(1); int index133_19 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_19); if ( s>=0 ) return s; break; case 19 : int LA133_20 = input.LA(1); int index133_20 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_20); if ( s>=0 ) return s; break; case 20 : int LA133_21 = input.LA(1); int index133_21 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_21); if ( s>=0 ) return s; break; case 21 : int LA133_22 = input.LA(1); int index133_22 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_22); if ( s>=0 ) return s; break; case 22 : int LA133_23 = input.LA(1); int index133_23 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_23); if ( s>=0 ) return s; break; case 23 : int LA133_24 = input.LA(1); int index133_24 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_24); if ( s>=0 ) return s; break; case 24 : int LA133_25 = input.LA(1); int index133_25 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_25); if ( s>=0 ) return s; break; case 25 : int LA133_26 = input.LA(1); int index133_26 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_26); if ( s>=0 ) return s; break; case 26 : int LA133_27 = input.LA(1); int index133_27 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_27); if ( s>=0 ) return s; break; case 27 : int LA133_28 = input.LA(1); int index133_28 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_28); if ( s>=0 ) return s; break; case 28 : int LA133_29 = input.LA(1); int index133_29 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_29); if ( s>=0 ) return s; break; case 29 : int LA133_30 = input.LA(1); int index133_30 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_30); if ( s>=0 ) return s; break; case 30 : int LA133_31 = input.LA(1); int index133_31 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_31); if ( s>=0 ) return s; break; case 31 : int LA133_32 = input.LA(1); int index133_32 = input.index(); input.rewind(); s = -1; if ( (synpred41_InternalMelange()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index133_32); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 133, _s, input); error(nvae); throw nvae; } } static final String dfa_86s = "\141\uffff"; static final String dfa_87s = "\1\2\140\uffff"; static final String dfa_88s = "\1\4\1\0\137\uffff"; static final String dfa_89s = "\1\161\1\0\137\uffff"; static final String dfa_90s = "\2\uffff\1\2\135\uffff\1\1"; static final String dfa_91s = "\1\uffff\1\0\137\uffff}>"; static final String[] dfa_92s = { "\5\2\5\uffff\2\2\1\uffff\1\2\2\uffff\3\2\1\uffff\16\2\3\uffff\2\2\1\uffff\3\2\1\uffff\5\2\1\1\35\2\1\uffff\34\2\1\uffff\1\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_86 = DFA.unpackEncodedString(dfa_86s); 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 DFA151 extends DFA { public DFA151(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 151; this.eot = dfa_86; 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 "7768: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 LA151_1 = input.LA(1); int index151_1 = input.index(); input.rewind(); s = -1; if ( (synpred48_InternalMelange()) ) {s = 96;} else if ( (true) ) {s = 2;} input.seek(index151_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 151, _s, input); error(nvae); throw nvae; } } class DFA149 extends DFA { public DFA149(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 149; this.eot = dfa_86; 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 "7844: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 LA149_1 = input.LA(1); int index149_1 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalMelange()) ) {s = 96;} 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; } } static final String dfa_93s = "\2\uffff\1\4\3\uffff\1\4"; static final String dfa_94s = "\1\10\1\uffff\1\16\1\10\2\uffff\1\16"; static final String dfa_95s = "\1\141\1\uffff\1\142\1\107\2\uffff\1\142"; static final String dfa_96s = "\1\uffff\1\1\2\uffff\1\2\1\3\1\uffff"; static final String[] dfa_97s = { "\1\2\130\uffff\1\1", "", "\2\4\5\uffff\2\4\1\uffff\10\4\1\uffff\2\4\2\uffff\1\4\51\uffff\1\3\4\uffff\1\4\15\uffff\1\4", "\1\6\76\uffff\1\5", "", "", "\2\4\5\uffff\2\4\1\uffff\10\4\1\uffff\2\4\2\uffff\1\4\51\uffff\1\3\4\uffff\1\4\15\uffff\1\4" }; static final short[] dfa_93 = DFA.unpackEncodedString(dfa_93s); static final char[] dfa_94 = DFA.unpackEncodedStringToUnsignedChars(dfa_94s); static final char[] dfa_95 = DFA.unpackEncodedStringToUnsignedChars(dfa_95s); static final short[] dfa_96 = DFA.unpackEncodedString(dfa_96s); static final short[][] dfa_97 = unpackEncodedStringArray(dfa_97s); class DFA159 extends DFA { public DFA159(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 159; this.eot = dfa_15; this.eof = dfa_93; this.min = dfa_94; this.max = dfa_95; this.accept = dfa_96; this.special = dfa_20; this.transition = dfa_97; } public String getDescription() { return "8347: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 ) ) )"; } } 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[]{0x0000000000000100L}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x00000026FF60C002L,0x0000000400000000L}); public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00000026FF60C002L}); public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x000040007F008000L}); public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x00000000001D0000L}); public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x00000000001E0000L}); public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x00000000001A0000L}); public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000120000L}); public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x000046017F208002L}); public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000000L,0x001C000000000000L}); public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x000000007FE08002L}); public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x000000007F208002L}); public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000800000100L,0x0000000000000004L}); public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x000000007F228002L}); public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000040400000L}); public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000040000000L}); public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000140000L}); public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000100000000L}); public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x000040007F008002L}); public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x000040007F028002L}); public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x00000000C0400002L}); public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000400000000L}); public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000800000000L}); public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000001800000100L,0x0000000000000004L}); public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000001000020000L}); public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000004000000000L}); public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000000040000010L}); public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000000000100002L}); public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000018000000002L}); public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000010000020002L}); public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000008000000002L}); public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000020002L}); public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000010000000002L}); public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0000100000000000L}); public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000200000020000L}); public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000800000000000L}); public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x00201008001001F0L,0x00005FFF38A40860L}); public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x007F000000000002L}); public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x00C0000000000000L}); public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0080000000000000L}); public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0100000000000002L}); public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0200000000000002L}); public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x3C00000000000002L}); public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x40E0000000000002L}); public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x8060000000000002L,0x000000000000001FL}); public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0040000000000000L}); public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0020000000000000L,0x0000000000000004L}); public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000060L}); public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000780L}); public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L}); public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0000000000000002L,0x0000000000006000L}); public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0000000000000002L,0x0000000000038000L}); public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0000000000000100L,0x0000000F00000000L}); public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0020000000000100L,0x0000001F00000000L}); public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0000000800000100L,0x0001000000000004L}); public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0040000000020000L}); public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000100800000002L,0x0000000000038000L}); public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x00201018001001F0L,0x00005FFF38AC0864L}); public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0000001000000000L}); public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x0000100000000002L,0x0000000000038000L}); public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x00201008401001F0L,0x00005FFF38A40860L}); public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x0000000040020000L}); public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x00203008001001F0L,0x00005FFF38A40860L}); public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x00203008001001F0L,0x00005FFFF8AC0864L}); public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000020000L,0x0000000000080000L}); public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x00203008001001F0L,0x00005FFFF8A40860L}); public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000200000000000L}); public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x00201008001001F2L,0x00005FFFF8B40860L}); public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x00201008001001F2L,0x00005FFFF8A40860L}); public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000002L,0x0000000000400000L}); public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x00201008001001F0L,0x00005FFF38A40864L}); public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000000L,0x0000000001000000L}); public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000840020100L,0x0000000007000004L}); public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000020000L,0x0000000005000000L}); public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000020000L,0x0000000001000000L}); public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x00201008001001F0L,0x00005FFFF8B40860L}); public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000020000L,0x0000000000100000L}); public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x00201008001001F0L,0x00005FFFF8A40860L}); public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x00201008001001F0L,0x00005FFF38B40860L}); public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L}); public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x00201018001001F0L,0x00005FFF38A40860L}); public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x00201008401001F0L,0x00005FFFF8A40860L}); public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x00201008401001F0L,0x00005FFFF8B40860L}); public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0000800000000002L}); public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0000100800000002L}); public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000100000000002L}); public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0020100800000002L}); public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000101000000000L}); public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x00201008001001F2L,0x00005FFF38A40860L}); public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x0000A00000000000L}); public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000002L,0x0000A00000000000L}); public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000002L,0x0000000000008000L}); public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x00000000000000C0L}); public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0020000000000002L}); public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0020000000000002L,0x0000000000008000L}); public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000000000002L,0x0000001100000000L}); public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000000000000002L,0x0002000000000000L}); public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000080L}); public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L}); public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000100L,0x0000000200000000L}); public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000100L,0x0000000800000000L}); public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000000000000100L,0x0000000000000080L}); public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L}); public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000000102L}); }