package io.sarl.lang.parser.antlr.internal; import org.eclipse.xtext.*; import org.eclipse.xtext.parser.*; import org.eclipse.xtext.parser.impl.*; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.ecore.EObject; import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; import org.eclipse.xtext.parser.antlr.XtextTokenStream; import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; import io.sarl.lang.services.SARLGrammarAccess; 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 InternalSARLParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_RICH_TEXT", "RULE_RICH_TEXT_START", "RULE_RICH_TEXT_INBETWEEN", "RULE_COMMENT_RICH_TEXT_INBETWEEN", "RULE_RICH_TEXT_END", "RULE_COMMENT_RICH_TEXT_END", "RULE_HEX", "RULE_INT", "RULE_DECIMAL", "RULE_IDENTIFIER_START", "RULE_UNICODE_ESCAPE", "RULE_IDENTIFIER_PART", "RULE_HEX_DIGIT", "RULE_IN_RICH_STRING", "RULE_IDENTIFIER_PART_IMPL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'package'", "';'", "'event'", "'extends'", "'{'", "'}'", "'capacity'", "','", "'agent'", "'behavior'", "'skill'", "'implements'", "'space'", "'artifact'", "'class'", "'<'", "'>'", "'interface'", "'enum'", "'annotation'", "'extension'", "':'", "'='", "'new'", "'('", "')'", "'throws'", "'with'", "'fires'", "'on'", "'['", "']'", "'uses'", "'requires'", "'*'", "'break'", "'var'", "'val'", "'for'", "'as'", "'switch'", "'default'", "'=>'", "'.'", "'public'", "'private'", "'protected'", "'abstract'", "'static'", "'dispatch'", "'final'", "'strictfp'", "'native'", "'volatile'", "'synchronized'", "'transient'", "'def'", "'override'", "'create'", "'AFTER'", "'BEFORE'", "'SEPARATOR'", "'import'", "'FOR'", "'ENDFOR'", "'IF'", "'ELSE'", "'ENDIF'", "'ELSEIF'", "'@'", "'#'", "'+='", "'-='", "'*='", "'/='", "'%='", "'>='", "'||'", "'&&'", "'=='", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'..'", "'<>'", "'?:'", "'+'", "'-'", "'**'", "'/'", "'%'", "'!'", "'++'", "'--'", "'::'", "'?.'", "'|'", "'if'", "'else'", "'case'", "'while'", "'do'", "'super'", "'false'", "'true'", "'null'", "'typeof'", "'throw'", "'return'", "'try'", "'finally'", "'catch'", "'?'", "'&'" }; public static final int RULE_HEX=12; public static final int T__50=50; public static final int T__140=140; public static final int T__141=141; public static final int T__59=59; public static final int T__55=55; public static final int T__56=56; public static final int T__57=57; public static final int T__58=58; public static final int T__51=51; public static final int T__137=137; public static final int T__52=52; public static final int T__136=136; public static final int T__53=53; public static final int T__139=139; public static final int T__54=54; public static final int T__138=138; public static final int T__133=133; public static final int T__132=132; public static final int T__60=60; public static final int T__135=135; public static final int T__61=61; public static final int T__134=134; public static final int RULE_ID=4; public static final int T__131=131; public static final int T__130=130; public static final int RULE_RICH_TEXT_START=7; public static final int RULE_INT=13; public static final int T__66=66; public static final int RULE_ML_COMMENT=21; public static final int T__67=67; public static final int T__129=129; public static final int T__68=68; public static final int T__69=69; public static final int T__62=62; public static final int T__126=126; public static final int T__63=63; public static final int T__125=125; public static final int T__64=64; public static final int T__128=128; public static final int T__65=65; public static final int T__127=127; public static final int RULE_UNICODE_ESCAPE=16; 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 RULE_IDENTIFIER_PART=17; 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 RULE_HEX_DIGIT=18; 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 RULE_COMMENT_RICH_TEXT_END=11; public static final int T__94=94; public static final int T__101=101; public static final int T__90=90; public static final int RULE_IDENTIFIER_START=15; public static final int T__99=99; 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=14; 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__25=25; public static final int T__122=122; public static final int T__70=70; public static final int T__121=121; public static final int T__71=71; public static final int T__124=124; public static final int T__72=72; public static final int T__123=123; public static final int T__120=120; public static final int RULE_STRING=5; public static final int RULE_SL_COMMENT=22; public static final int RULE_IN_RICH_STRING=19; public static final int T__77=77; public static final int T__119=119; public static final int RULE_COMMENT_RICH_TEXT_INBETWEEN=9; public static final int T__78=78; public static final int T__118=118; public static final int T__79=79; public static final int T__73=73; public static final int T__115=115; public static final int EOF=-1; public static final int T__74=74; public static final int T__114=114; public static final int T__75=75; public static final int T__117=117; public static final int T__76=76; public static final int T__116=116; public static final int T__80=80; public static final int T__111=111; public static final int T__81=81; public static final int T__110=110; public static final int T__82=82; public static final int T__113=113; public static final int RULE_RICH_TEXT=6; public static final int T__83=83; public static final int T__112=112; public static final int RULE_WS=23; public static final int RULE_RICH_TEXT_END=10; public static final int RULE_ANY_OTHER=24; public static final int RULE_RICH_TEXT_INBETWEEN=8; public static final int RULE_IDENTIFIER_PART_IMPL=20; 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 InternalSARLParser(TokenStream input) { this(input, new RecognizerSharedState()); } public InternalSARLParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return InternalSARLParser.tokenNames; } public String getGrammarFileName() { return "InternalSARL.g"; } private SARLGrammarAccess grammarAccess; public InternalSARLParser(TokenStream input, SARLGrammarAccess grammarAccess) { this(input); this.grammarAccess = grammarAccess; registerRules(grammarAccess.getGrammar()); } @Override protected String getFirstRuleName() { return "SarlScript"; } @Override protected SARLGrammarAccess getGrammarAccess() { return grammarAccess; } // $ANTLR start "entryRuleSarlScript" // InternalSARL.g:84:1: entryRuleSarlScript returns [EObject current=null] : iv_ruleSarlScript= ruleSarlScript EOF ; public final EObject entryRuleSarlScript() throws RecognitionException { EObject current = null; EObject iv_ruleSarlScript = null; try { // InternalSARL.g:84:51: (iv_ruleSarlScript= ruleSarlScript EOF ) // InternalSARL.g:85:2: iv_ruleSarlScript= ruleSarlScript EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSarlScriptRule()); } pushFollow(FOLLOW_1); iv_ruleSarlScript=ruleSarlScript(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSarlScript; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSarlScript" // $ANTLR start "ruleSarlScript" // InternalSARL.g:91:1: ruleSarlScript returns [EObject current=null] : ( () (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? ( (lv_importSection_4_0= ruleXImportSection ) )? ( (lv_xtendTypes_5_0= ruleType ) )* ) ; public final EObject ruleSarlScript() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; AntlrDatatypeRuleToken lv_package_2_0 = null; EObject lv_importSection_4_0 = null; EObject lv_xtendTypes_5_0 = null; enterRule(); try { // InternalSARL.g:97:2: ( ( () (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? ( (lv_importSection_4_0= ruleXImportSection ) )? ( (lv_xtendTypes_5_0= ruleType ) )* ) ) // InternalSARL.g:98:2: ( () (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? ( (lv_importSection_4_0= ruleXImportSection ) )? ( (lv_xtendTypes_5_0= ruleType ) )* ) { // InternalSARL.g:98:2: ( () (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? ( (lv_importSection_4_0= ruleXImportSection ) )? ( (lv_xtendTypes_5_0= ruleType ) )* ) // InternalSARL.g:99:3: () (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? ( (lv_importSection_4_0= ruleXImportSection ) )? ( (lv_xtendTypes_5_0= ruleType ) )* { // InternalSARL.g:99:3: () // InternalSARL.g:100:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSarlScriptAccess().getSarlScriptAction_0(), current); } } // InternalSARL.g:106:3: (otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? )? int alt2=2; int LA2_0 = input.LA(1); if ( (LA2_0==25) ) { int LA2_1 = input.LA(2); if ( (LA2_1==RULE_ID||(LA2_1>=83 && LA2_1<=86)) ) { alt2=1; } else if ( (LA2_1==44) ) { int LA2_4 = input.LA(3); if ( (LA2_4==EOF||(LA2_4>=25 && LA2_4<=27)||LA2_4==31||(LA2_4>=33 && LA2_4<=35)||(LA2_4>=37 && LA2_4<=39)||(LA2_4>=42 && LA2_4<=43)||(LA2_4>=68 && LA2_4<=80)||LA2_4==87||LA2_4==94) ) { alt2=1; } else if ( (LA2_4==44) ) { int LA2_5 = input.LA(4); if ( (LA2_5==RULE_ID||LA2_5==44||(LA2_5>=83 && LA2_5<=86)) ) { alt2=1; } } } } switch (alt2) { case 1 : // InternalSARL.g:107:4: otherlv_1= 'package' ( (lv_package_2_0= ruleQualifiedName ) ) (otherlv_3= ';' )? { otherlv_1=(Token)match(input,25,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getSarlScriptAccess().getPackageKeyword_1_0()); } // InternalSARL.g:111:4: ( (lv_package_2_0= ruleQualifiedName ) ) // InternalSARL.g:112:5: (lv_package_2_0= ruleQualifiedName ) { // InternalSARL.g:112:5: (lv_package_2_0= ruleQualifiedName ) // InternalSARL.g:113:6: lv_package_2_0= ruleQualifiedName { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSarlScriptAccess().getPackageQualifiedNameParserRuleCall_1_1_0()); } pushFollow(FOLLOW_4); lv_package_2_0=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSarlScriptRule()); } set( current, "package", lv_package_2_0, "org.eclipse.xtext.xbase.Xbase.QualifiedName"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:130:4: (otherlv_3= ';' )? int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==26) ) { alt1=1; } switch (alt1) { case 1 : // InternalSARL.g:131:5: otherlv_3= ';' { otherlv_3=(Token)match(input,26,FOLLOW_5); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSarlScriptAccess().getSemicolonKeyword_1_2()); } } break; } } break; } // InternalSARL.g:137:3: ( (lv_importSection_4_0= ruleXImportSection ) )? int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==87) ) { alt3=1; } switch (alt3) { case 1 : // InternalSARL.g:138:4: (lv_importSection_4_0= ruleXImportSection ) { // InternalSARL.g:138:4: (lv_importSection_4_0= ruleXImportSection ) // InternalSARL.g:139:5: lv_importSection_4_0= ruleXImportSection { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSarlScriptAccess().getImportSectionXImportSectionParserRuleCall_2_0()); } pushFollow(FOLLOW_6); lv_importSection_4_0=ruleXImportSection(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSarlScriptRule()); } set( current, "importSection", lv_importSection_4_0, "org.eclipse.xtext.xbase.Xtype.XImportSection"); afterParserOrEnumRuleCall(); } } } break; } // InternalSARL.g:156:3: ( (lv_xtendTypes_5_0= ruleType ) )* loop4: do { int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==25||LA4_0==27||LA4_0==31||(LA4_0>=33 && LA4_0<=35)||(LA4_0>=37 && LA4_0<=39)||(LA4_0>=42 && LA4_0<=44)||(LA4_0>=69 && LA4_0<=80)||LA4_0==94) ) { alt4=1; } switch (alt4) { case 1 : // InternalSARL.g:157:4: (lv_xtendTypes_5_0= ruleType ) { // InternalSARL.g:157:4: (lv_xtendTypes_5_0= ruleType ) // InternalSARL.g:158:5: lv_xtendTypes_5_0= ruleType { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSarlScriptAccess().getXtendTypesTypeParserRuleCall_3_0()); } pushFollow(FOLLOW_6); lv_xtendTypes_5_0=ruleType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSarlScriptRule()); } add( current, "xtendTypes", lv_xtendTypes_5_0, "io.sarl.lang.SARL.Type"); afterParserOrEnumRuleCall(); } } } break; default : break loop4; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSarlScript" // $ANTLR start "entryRuleType" // InternalSARL.g:179:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ; public final EObject entryRuleType() throws RecognitionException { EObject current = null; EObject iv_ruleType = null; try { // InternalSARL.g:179:45: (iv_ruleType= ruleType EOF ) // InternalSARL.g:180:2: iv_ruleType= ruleType EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeRule()); } pushFollow(FOLLOW_1); iv_ruleType=ruleType(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleType; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleType" // $ANTLR start "ruleType" // InternalSARL.g:186:1: ruleType returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) ) ) ; public final EObject ruleType() throws RecognitionException { EObject current = null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_8=null; Token otherlv_10=null; Token otherlv_13=null; Token otherlv_15=null; Token otherlv_17=null; Token otherlv_19=null; Token otherlv_21=null; Token otherlv_24=null; Token otherlv_26=null; Token otherlv_28=null; Token otherlv_30=null; Token otherlv_33=null; Token otherlv_35=null; Token otherlv_37=null; Token otherlv_39=null; Token otherlv_42=null; Token otherlv_45=null; Token otherlv_47=null; Token otherlv_49=null; Token otherlv_51=null; Token otherlv_53=null; Token otherlv_56=null; Token otherlv_58=null; Token otherlv_59=null; Token otherlv_62=null; Token otherlv_64=null; Token otherlv_65=null; Token otherlv_68=null; Token otherlv_70=null; Token otherlv_72=null; Token otherlv_74=null; Token otherlv_76=null; Token otherlv_78=null; Token otherlv_80=null; Token otherlv_82=null; Token otherlv_84=null; Token otherlv_87=null; Token otherlv_89=null; Token otherlv_91=null; Token otherlv_93=null; Token otherlv_94=null; Token otherlv_96=null; Token otherlv_98=null; Token otherlv_100=null; Token otherlv_103=null; Token otherlv_105=null; Token otherlv_107=null; Token otherlv_109=null; Token otherlv_110=null; Token otherlv_113=null; Token otherlv_115=null; Token otherlv_117=null; EObject lv_annotations_1_0 = null; AntlrDatatypeRuleToken lv_modifiers_3_0 = null; AntlrDatatypeRuleToken lv_name_5_0 = null; EObject lv_extends_7_0 = null; EObject lv_members_9_0 = null; AntlrDatatypeRuleToken lv_modifiers_12_0 = null; AntlrDatatypeRuleToken lv_name_14_0 = null; EObject lv_extends_16_0 = null; EObject lv_extends_18_0 = null; EObject lv_members_20_0 = null; AntlrDatatypeRuleToken lv_modifiers_23_0 = null; AntlrDatatypeRuleToken lv_name_25_0 = null; EObject lv_extends_27_0 = null; EObject lv_members_29_0 = null; AntlrDatatypeRuleToken lv_modifiers_32_0 = null; AntlrDatatypeRuleToken lv_name_34_0 = null; EObject lv_extends_36_0 = null; EObject lv_members_38_0 = null; AntlrDatatypeRuleToken lv_modifiers_41_0 = null; AntlrDatatypeRuleToken lv_name_43_0 = null; EObject lv_extends_46_0 = null; EObject lv_implements_48_0 = null; EObject lv_implements_50_0 = null; EObject lv_members_52_0 = null; AntlrDatatypeRuleToken lv_modifiers_55_0 = null; AntlrDatatypeRuleToken lv_name_57_0 = null; AntlrDatatypeRuleToken lv_modifiers_61_0 = null; AntlrDatatypeRuleToken lv_name_63_0 = null; AntlrDatatypeRuleToken lv_modifiers_67_0 = null; AntlrDatatypeRuleToken lv_name_69_0 = null; EObject lv_typeParameters_71_0 = null; EObject lv_typeParameters_73_0 = null; EObject lv_extends_77_0 = null; EObject lv_implements_79_0 = null; EObject lv_implements_81_0 = null; EObject lv_members_83_0 = null; AntlrDatatypeRuleToken lv_modifiers_86_0 = null; AntlrDatatypeRuleToken lv_name_88_0 = null; EObject lv_typeParameters_90_0 = null; EObject lv_typeParameters_92_0 = null; EObject lv_extends_95_0 = null; EObject lv_extends_97_0 = null; EObject lv_members_99_0 = null; AntlrDatatypeRuleToken lv_modifiers_102_0 = null; AntlrDatatypeRuleToken lv_name_104_0 = null; EObject lv_members_106_0 = null; EObject lv_members_108_0 = null; AntlrDatatypeRuleToken lv_modifiers_112_0 = null; AntlrDatatypeRuleToken lv_name_114_0 = null; EObject lv_members_116_0 = null; enterRule(); try { // InternalSARL.g:192:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) ) ) ) // InternalSARL.g:193:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) ) ) { // InternalSARL.g:193:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) ) ) // InternalSARL.g:194:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) ) { // InternalSARL.g:194:3: () // InternalSARL.g:195:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getTypeAccess().getXtendTypeDeclarationAction_0(), current); } } // InternalSARL.g:201:3: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop5: do { int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==94) ) { alt5=1; } switch (alt5) { case 1 : // InternalSARL.g:202:4: (lv_annotations_1_0= ruleXAnnotation ) { // InternalSARL.g:202:4: (lv_annotations_1_0= ruleXAnnotation ) // InternalSARL.g:203:5: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FOLLOW_7); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop5; } } while (true); // InternalSARL.g:220:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) ) int alt44=11; alt44 = dfa44.predict(input); switch (alt44) { case 1 : // InternalSARL.g:221:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) { // InternalSARL.g:221:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) // InternalSARL.g:222:5: () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? { // InternalSARL.g:222:5: () // InternalSARL.g:223:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlEventAnnotationInfoAction_2_0_0(), current); } } // InternalSARL.g:229:5: ( (lv_modifiers_3_0= ruleCommonModifier ) )* loop6: do { int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==25||(LA6_0>=69 && LA6_0<=80)) ) { alt6=1; } switch (alt6) { case 1 : // InternalSARL.g:230:6: (lv_modifiers_3_0= ruleCommonModifier ) { // InternalSARL.g:230:6: (lv_modifiers_3_0= ruleCommonModifier ) // InternalSARL.g:231:7: lv_modifiers_3_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_0_1_0()); } pushFollow(FOLLOW_8); lv_modifiers_3_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_3_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop6; } } while (true); otherlv_4=(Token)match(input,27,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getTypeAccess().getEventKeyword_2_0_2()); } // InternalSARL.g:252:5: ( (lv_name_5_0= ruleValidID ) ) // InternalSARL.g:253:6: (lv_name_5_0= ruleValidID ) { // InternalSARL.g:253:6: (lv_name_5_0= ruleValidID ) // InternalSARL.g:254:7: lv_name_5_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_0_3_0()); } pushFollow(FOLLOW_9); lv_name_5_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_5_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:271:5: (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==28) ) { alt7=1; } switch (alt7) { case 1 : // InternalSARL.g:272:6: otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) { otherlv_6=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getTypeAccess().getExtendsKeyword_2_0_4_0()); } // InternalSARL.g:276:6: ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:277:7: (lv_extends_7_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:277:7: (lv_extends_7_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:278:8: lv_extends_7_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_0_4_1_0()); } pushFollow(FOLLOW_10); lv_extends_7_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "extends", lv_extends_7_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } // InternalSARL.g:296:5: (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==29) ) { alt9=1; } switch (alt9) { case 1 : // InternalSARL.g:297:6: otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' { otherlv_8=(Token)match(input,29,FOLLOW_11); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_0_5_0()); } // InternalSARL.g:301:6: ( (lv_members_9_0= ruleEventMember ) )* loop8: do { int alt8=2; int LA8_0 = input.LA(1); if ( (LA8_0==25||LA8_0==45||LA8_0==48||(LA8_0>=61 && LA8_0<=62)||(LA8_0>=69 && LA8_0<=80)||LA8_0==94) ) { alt8=1; } switch (alt8) { case 1 : // InternalSARL.g:302:7: (lv_members_9_0= ruleEventMember ) { // InternalSARL.g:302:7: (lv_members_9_0= ruleEventMember ) // InternalSARL.g:303:8: lv_members_9_0= ruleEventMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getMembersEventMemberParserRuleCall_2_0_5_1_0()); } pushFollow(FOLLOW_11); lv_members_9_0=ruleEventMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "members", lv_members_9_0, "io.sarl.lang.SARL.EventMember"); afterParserOrEnumRuleCall(); } } } break; default : break loop8; } } while (true); otherlv_10=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_0_5_2()); } } break; } } } break; case 2 : // InternalSARL.g:327:4: ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) { // InternalSARL.g:327:4: ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) // InternalSARL.g:328:5: () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' { // InternalSARL.g:328:5: () // InternalSARL.g:329:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlCapacityAnnotationInfoAction_2_1_0(), current); } } // InternalSARL.g:335:5: ( (lv_modifiers_12_0= ruleCommonModifier ) )* loop10: do { int alt10=2; int LA10_0 = input.LA(1); if ( (LA10_0==25||(LA10_0>=69 && LA10_0<=80)) ) { alt10=1; } switch (alt10) { case 1 : // InternalSARL.g:336:6: (lv_modifiers_12_0= ruleCommonModifier ) { // InternalSARL.g:336:6: (lv_modifiers_12_0= ruleCommonModifier ) // InternalSARL.g:337:7: lv_modifiers_12_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_1_1_0()); } pushFollow(FOLLOW_12); lv_modifiers_12_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_12_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop10; } } while (true); otherlv_13=(Token)match(input,31,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getTypeAccess().getCapacityKeyword_2_1_2()); } // InternalSARL.g:358:5: ( (lv_name_14_0= ruleValidID ) ) // InternalSARL.g:359:6: (lv_name_14_0= ruleValidID ) { // InternalSARL.g:359:6: (lv_name_14_0= ruleValidID ) // InternalSARL.g:360:7: lv_name_14_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_1_3_0()); } pushFollow(FOLLOW_13); lv_name_14_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_14_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:377:5: (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? int alt12=2; int LA12_0 = input.LA(1); if ( (LA12_0==28) ) { alt12=1; } switch (alt12) { case 1 : // InternalSARL.g:378:6: otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* { otherlv_15=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getTypeAccess().getExtendsKeyword_2_1_4_0()); } // InternalSARL.g:382:6: ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:383:7: (lv_extends_16_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:383:7: (lv_extends_16_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:384:8: lv_extends_16_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_1_4_1_0()); } pushFollow(FOLLOW_14); lv_extends_16_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "extends", lv_extends_16_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:401:6: (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* loop11: do { int alt11=2; int LA11_0 = input.LA(1); if ( (LA11_0==32) ) { alt11=1; } switch (alt11) { case 1 : // InternalSARL.g:402:7: otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) { otherlv_17=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getTypeAccess().getCommaKeyword_2_1_4_2_0()); } // InternalSARL.g:406:7: ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:407:8: (lv_extends_18_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:407:8: (lv_extends_18_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:408:9: lv_extends_18_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_1_4_2_1_0()); } pushFollow(FOLLOW_14); lv_extends_18_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "extends", lv_extends_18_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop11; } } while (true); } break; } otherlv_19=(Token)match(input,29,FOLLOW_15); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_1_5()); } // InternalSARL.g:431:5: ( (lv_members_20_0= ruleCapacityMember ) )* loop13: do { int alt13=2; int LA13_0 = input.LA(1); if ( (LA13_0==25||(LA13_0>=69 && LA13_0<=82)||LA13_0==94) ) { alt13=1; } switch (alt13) { case 1 : // InternalSARL.g:432:6: (lv_members_20_0= ruleCapacityMember ) { // InternalSARL.g:432:6: (lv_members_20_0= ruleCapacityMember ) // InternalSARL.g:433:7: lv_members_20_0= ruleCapacityMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getMembersCapacityMemberParserRuleCall_2_1_6_0()); } pushFollow(FOLLOW_15); lv_members_20_0=ruleCapacityMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "members", lv_members_20_0, "io.sarl.lang.SARL.CapacityMember"); afterParserOrEnumRuleCall(); } } } break; default : break loop13; } } while (true); otherlv_21=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_1_7()); } } } break; case 3 : // InternalSARL.g:456:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) { // InternalSARL.g:456:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) // InternalSARL.g:457:5: () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' { // InternalSARL.g:457:5: () // InternalSARL.g:458:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlAgentAnnotationInfoAction_2_2_0(), current); } } // InternalSARL.g:464:5: ( (lv_modifiers_23_0= ruleCommonModifier ) )* loop14: do { int alt14=2; int LA14_0 = input.LA(1); if ( (LA14_0==25||(LA14_0>=69 && LA14_0<=80)) ) { alt14=1; } switch (alt14) { case 1 : // InternalSARL.g:465:6: (lv_modifiers_23_0= ruleCommonModifier ) { // InternalSARL.g:465:6: (lv_modifiers_23_0= ruleCommonModifier ) // InternalSARL.g:466:7: lv_modifiers_23_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_2_1_0()); } pushFollow(FOLLOW_16); lv_modifiers_23_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_23_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop14; } } while (true); otherlv_24=(Token)match(input,33,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_24, grammarAccess.getTypeAccess().getAgentKeyword_2_2_2()); } // InternalSARL.g:487:5: ( (lv_name_25_0= ruleValidID ) ) // InternalSARL.g:488:6: (lv_name_25_0= ruleValidID ) { // InternalSARL.g:488:6: (lv_name_25_0= ruleValidID ) // InternalSARL.g:489:7: lv_name_25_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_2_3_0()); } pushFollow(FOLLOW_13); lv_name_25_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_25_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:506:5: (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? int alt15=2; int LA15_0 = input.LA(1); if ( (LA15_0==28) ) { alt15=1; } switch (alt15) { case 1 : // InternalSARL.g:507:6: otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) { otherlv_26=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_26, grammarAccess.getTypeAccess().getExtendsKeyword_2_2_4_0()); } // InternalSARL.g:511:6: ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:512:7: (lv_extends_27_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:512:7: (lv_extends_27_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:513:8: lv_extends_27_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_2_4_1_0()); } pushFollow(FOLLOW_17); lv_extends_27_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "extends", lv_extends_27_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_28=(Token)match(input,29,FOLLOW_18); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_28, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_2_5()); } // InternalSARL.g:535:5: ( (lv_members_29_0= ruleAOPMember ) )* loop16: do { int alt16=2; int LA16_0 = input.LA(1); if ( (LA16_0==25||LA16_0==39||(LA16_0>=42 && LA16_0<=45)||LA16_0==48||LA16_0==54||(LA16_0>=57 && LA16_0<=58)||(LA16_0>=61 && LA16_0<=62)||(LA16_0>=69 && LA16_0<=82)||LA16_0==94) ) { alt16=1; } switch (alt16) { case 1 : // InternalSARL.g:536:6: (lv_members_29_0= ruleAOPMember ) { // InternalSARL.g:536:6: (lv_members_29_0= ruleAOPMember ) // InternalSARL.g:537:7: lv_members_29_0= ruleAOPMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getMembersAOPMemberParserRuleCall_2_2_6_0()); } pushFollow(FOLLOW_18); lv_members_29_0=ruleAOPMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "members", lv_members_29_0, "io.sarl.lang.SARL.AOPMember"); afterParserOrEnumRuleCall(); } } } break; default : break loop16; } } while (true); otherlv_30=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_30, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_2_7()); } } } break; case 4 : // InternalSARL.g:560:4: ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) { // InternalSARL.g:560:4: ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) // InternalSARL.g:561:5: () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' { // InternalSARL.g:561:5: () // InternalSARL.g:562:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlBehaviorAnnotationInfoAction_2_3_0(), current); } } // InternalSARL.g:568:5: ( (lv_modifiers_32_0= ruleCommonModifier ) )* loop17: do { int alt17=2; int LA17_0 = input.LA(1); if ( (LA17_0==25||(LA17_0>=69 && LA17_0<=80)) ) { alt17=1; } switch (alt17) { case 1 : // InternalSARL.g:569:6: (lv_modifiers_32_0= ruleCommonModifier ) { // InternalSARL.g:569:6: (lv_modifiers_32_0= ruleCommonModifier ) // InternalSARL.g:570:7: lv_modifiers_32_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_3_1_0()); } pushFollow(FOLLOW_19); lv_modifiers_32_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_32_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop17; } } while (true); otherlv_33=(Token)match(input,34,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_33, grammarAccess.getTypeAccess().getBehaviorKeyword_2_3_2()); } // InternalSARL.g:591:5: ( (lv_name_34_0= ruleValidID ) ) // InternalSARL.g:592:6: (lv_name_34_0= ruleValidID ) { // InternalSARL.g:592:6: (lv_name_34_0= ruleValidID ) // InternalSARL.g:593:7: lv_name_34_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_3_3_0()); } pushFollow(FOLLOW_13); lv_name_34_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_34_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:610:5: (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0==28) ) { alt18=1; } switch (alt18) { case 1 : // InternalSARL.g:611:6: otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) { otherlv_35=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_35, grammarAccess.getTypeAccess().getExtendsKeyword_2_3_4_0()); } // InternalSARL.g:615:6: ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:616:7: (lv_extends_36_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:616:7: (lv_extends_36_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:617:8: lv_extends_36_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_3_4_1_0()); } pushFollow(FOLLOW_17); lv_extends_36_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "extends", lv_extends_36_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_37=(Token)match(input,29,FOLLOW_18); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_37, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_3_5()); } // InternalSARL.g:639:5: ( (lv_members_38_0= ruleAOPMember ) )* loop19: do { int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==25||LA19_0==39||(LA19_0>=42 && LA19_0<=45)||LA19_0==48||LA19_0==54||(LA19_0>=57 && LA19_0<=58)||(LA19_0>=61 && LA19_0<=62)||(LA19_0>=69 && LA19_0<=82)||LA19_0==94) ) { alt19=1; } switch (alt19) { case 1 : // InternalSARL.g:640:6: (lv_members_38_0= ruleAOPMember ) { // InternalSARL.g:640:6: (lv_members_38_0= ruleAOPMember ) // InternalSARL.g:641:7: lv_members_38_0= ruleAOPMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getMembersAOPMemberParserRuleCall_2_3_6_0()); } pushFollow(FOLLOW_18); lv_members_38_0=ruleAOPMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "members", lv_members_38_0, "io.sarl.lang.SARL.AOPMember"); afterParserOrEnumRuleCall(); } } } break; default : break loop19; } } while (true); otherlv_39=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_39, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_3_7()); } } } break; case 5 : // InternalSARL.g:664:4: ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) { // InternalSARL.g:664:4: ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) // InternalSARL.g:665:5: () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' { // InternalSARL.g:665:5: () // InternalSARL.g:666:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlSkillAnnotationInfoAction_2_4_0(), current); } } // InternalSARL.g:672:5: ( (lv_modifiers_41_0= ruleCommonModifier ) )* loop20: do { int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0==25||(LA20_0>=69 && LA20_0<=80)) ) { alt20=1; } switch (alt20) { case 1 : // InternalSARL.g:673:6: (lv_modifiers_41_0= ruleCommonModifier ) { // InternalSARL.g:673:6: (lv_modifiers_41_0= ruleCommonModifier ) // InternalSARL.g:674:7: lv_modifiers_41_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_4_1_0()); } pushFollow(FOLLOW_20); lv_modifiers_41_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_41_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop20; } } while (true); otherlv_42=(Token)match(input,35,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_42, grammarAccess.getTypeAccess().getSkillKeyword_2_4_2()); } // InternalSARL.g:695:5: ( (lv_name_43_0= ruleValidID ) ) // InternalSARL.g:696:6: (lv_name_43_0= ruleValidID ) { // InternalSARL.g:696:6: (lv_name_43_0= ruleValidID ) // InternalSARL.g:697:7: lv_name_43_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_4_3_0()); } pushFollow(FOLLOW_21); lv_name_43_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_43_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:714:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:715:6: ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:715:6: ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:716:7: ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4()); // InternalSARL.g:719:7: ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) // InternalSARL.g:720:8: ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* { // InternalSARL.g:720:8: ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* loop22: do { int alt22=3; int LA22_0 = input.LA(1); if ( LA22_0 == 28 && getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 0) ) { alt22=1; } else if ( LA22_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 1) ) { alt22=2; } switch (alt22) { case 1 : // InternalSARL.g:721:6: ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) { // InternalSARL.g:721:6: ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) // InternalSARL.g:722:7: {...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleType", "getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 0)"); } // InternalSARL.g:722:107: ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) // InternalSARL.g:723:8: ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 0); // InternalSARL.g:726:11: ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) // InternalSARL.g:726:12: {...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleType", "true"); } // InternalSARL.g:726:21: (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) // InternalSARL.g:726:22: otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) { otherlv_45=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_45, grammarAccess.getTypeAccess().getExtendsKeyword_2_4_4_0_0()); } // InternalSARL.g:730:11: ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:731:12: (lv_extends_46_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:731:12: (lv_extends_46_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:732:13: lv_extends_46_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_4_4_0_1_0()); } pushFollow(FOLLOW_21); lv_extends_46_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "extends", lv_extends_46_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4()); } } } break; case 2 : // InternalSARL.g:755:6: ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:755:6: ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) // InternalSARL.g:756:7: {...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleType", "getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 1)"); } // InternalSARL.g:756:107: ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) // InternalSARL.g:757:8: ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4(), 1); // InternalSARL.g:760:11: ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) // InternalSARL.g:760:12: {...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleType", "true"); } // InternalSARL.g:760:21: (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) // InternalSARL.g:760:22: otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* { otherlv_47=(Token)match(input,36,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_47, grammarAccess.getTypeAccess().getImplementsKeyword_2_4_4_1_0()); } // InternalSARL.g:764:11: ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:765:12: (lv_implements_48_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:765:12: (lv_implements_48_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:766:13: lv_implements_48_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_4_4_1_1_0()); } pushFollow(FOLLOW_22); lv_implements_48_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "implements", lv_implements_48_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:783:11: (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* loop21: do { int alt21=2; int LA21_0 = input.LA(1); if ( (LA21_0==32) ) { alt21=1; } switch (alt21) { case 1 : // InternalSARL.g:784:12: otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) { otherlv_49=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_49, grammarAccess.getTypeAccess().getCommaKeyword_2_4_4_1_2_0()); } // InternalSARL.g:788:12: ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:789:13: (lv_implements_50_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:789:13: (lv_implements_50_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:790:14: lv_implements_50_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_4_4_1_2_1_0()); } pushFollow(FOLLOW_22); lv_implements_50_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "implements", lv_implements_50_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop21; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4()); } } } break; default : break loop22; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getTypeAccess().getUnorderedGroup_2_4_4()); } otherlv_51=(Token)match(input,29,FOLLOW_18); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_51, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_4_5()); } // InternalSARL.g:825:5: ( (lv_members_52_0= ruleAOPMember ) )* loop23: do { int alt23=2; int LA23_0 = input.LA(1); if ( (LA23_0==25||LA23_0==39||(LA23_0>=42 && LA23_0<=45)||LA23_0==48||LA23_0==54||(LA23_0>=57 && LA23_0<=58)||(LA23_0>=61 && LA23_0<=62)||(LA23_0>=69 && LA23_0<=82)||LA23_0==94) ) { alt23=1; } switch (alt23) { case 1 : // InternalSARL.g:826:6: (lv_members_52_0= ruleAOPMember ) { // InternalSARL.g:826:6: (lv_members_52_0= ruleAOPMember ) // InternalSARL.g:827:7: lv_members_52_0= ruleAOPMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getMembersAOPMemberParserRuleCall_2_4_6_0()); } pushFollow(FOLLOW_18); lv_members_52_0=ruleAOPMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "members", lv_members_52_0, "io.sarl.lang.SARL.AOPMember"); afterParserOrEnumRuleCall(); } } } break; default : break loop23; } } while (true); otherlv_53=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_53, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_4_7()); } } } break; case 6 : // InternalSARL.g:850:4: ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) { // InternalSARL.g:850:4: ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) // InternalSARL.g:851:5: () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' { // InternalSARL.g:851:5: () // InternalSARL.g:852:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlSpaceAnnotationInfoAction_2_5_0(), current); } } // InternalSARL.g:858:5: ( (lv_modifiers_55_0= ruleCommonModifier ) )* loop24: do { int alt24=2; int LA24_0 = input.LA(1); if ( (LA24_0==25||(LA24_0>=69 && LA24_0<=80)) ) { alt24=1; } switch (alt24) { case 1 : // InternalSARL.g:859:6: (lv_modifiers_55_0= ruleCommonModifier ) { // InternalSARL.g:859:6: (lv_modifiers_55_0= ruleCommonModifier ) // InternalSARL.g:860:7: lv_modifiers_55_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_5_1_0()); } pushFollow(FOLLOW_23); lv_modifiers_55_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_55_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop24; } } while (true); otherlv_56=(Token)match(input,37,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_56, grammarAccess.getTypeAccess().getSpaceKeyword_2_5_2()); } // InternalSARL.g:881:5: ( (lv_name_57_0= ruleValidID ) ) // InternalSARL.g:882:6: (lv_name_57_0= ruleValidID ) { // InternalSARL.g:882:6: (lv_name_57_0= ruleValidID ) // InternalSARL.g:883:7: lv_name_57_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_5_3_0()); } pushFollow(FOLLOW_17); lv_name_57_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_57_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_58=(Token)match(input,29,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_58, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_5_4()); } otherlv_59=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_59, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_5_5()); } } } break; case 7 : // InternalSARL.g:910:4: ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) { // InternalSARL.g:910:4: ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) // InternalSARL.g:911:5: () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' { // InternalSARL.g:911:5: () // InternalSARL.g:912:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlArtifactAnnotationInfoAction_2_6_0(), current); } } // InternalSARL.g:918:5: ( (lv_modifiers_61_0= ruleCommonModifier ) )* loop25: do { int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0==25||(LA25_0>=69 && LA25_0<=80)) ) { alt25=1; } switch (alt25) { case 1 : // InternalSARL.g:919:6: (lv_modifiers_61_0= ruleCommonModifier ) { // InternalSARL.g:919:6: (lv_modifiers_61_0= ruleCommonModifier ) // InternalSARL.g:920:7: lv_modifiers_61_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_6_1_0()); } pushFollow(FOLLOW_25); lv_modifiers_61_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_61_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop25; } } while (true); otherlv_62=(Token)match(input,38,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_62, grammarAccess.getTypeAccess().getArtifactKeyword_2_6_2()); } // InternalSARL.g:941:5: ( (lv_name_63_0= ruleValidID ) ) // InternalSARL.g:942:6: (lv_name_63_0= ruleValidID ) { // InternalSARL.g:942:6: (lv_name_63_0= ruleValidID ) // InternalSARL.g:943:7: lv_name_63_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_6_3_0()); } pushFollow(FOLLOW_17); lv_name_63_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_63_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_64=(Token)match(input,29,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_64, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_6_4()); } otherlv_65=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_65, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_6_5()); } } } break; case 8 : // InternalSARL.g:970:4: ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) { // InternalSARL.g:970:4: ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) // InternalSARL.g:971:5: () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' { // InternalSARL.g:971:5: () // InternalSARL.g:972:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlClassAnnotationInfoAction_2_7_0(), current); } } // InternalSARL.g:978:5: ( (lv_modifiers_67_0= ruleCommonModifier ) )* loop26: do { int alt26=2; int LA26_0 = input.LA(1); if ( (LA26_0==25||(LA26_0>=69 && LA26_0<=80)) ) { alt26=1; } switch (alt26) { case 1 : // InternalSARL.g:979:6: (lv_modifiers_67_0= ruleCommonModifier ) { // InternalSARL.g:979:6: (lv_modifiers_67_0= ruleCommonModifier ) // InternalSARL.g:980:7: lv_modifiers_67_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_7_1_0()); } pushFollow(FOLLOW_26); lv_modifiers_67_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_67_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop26; } } while (true); otherlv_68=(Token)match(input,39,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_68, grammarAccess.getTypeAccess().getClassKeyword_2_7_2()); } // InternalSARL.g:1001:5: ( (lv_name_69_0= ruleValidID ) ) // InternalSARL.g:1002:6: (lv_name_69_0= ruleValidID ) { // InternalSARL.g:1002:6: (lv_name_69_0= ruleValidID ) // InternalSARL.g:1003:7: lv_name_69_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_7_3_0()); } pushFollow(FOLLOW_27); lv_name_69_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_69_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:1020:5: (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? int alt28=2; int LA28_0 = input.LA(1); if ( (LA28_0==40) ) { alt28=1; } switch (alt28) { case 1 : // InternalSARL.g:1021:6: otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' { otherlv_70=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_70, grammarAccess.getTypeAccess().getLessThanSignKeyword_2_7_4_0()); } // InternalSARL.g:1025:6: ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) // InternalSARL.g:1026:7: (lv_typeParameters_71_0= ruleJvmTypeParameter ) { // InternalSARL.g:1026:7: (lv_typeParameters_71_0= ruleJvmTypeParameter ) // InternalSARL.g:1027:8: lv_typeParameters_71_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_7_4_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_71_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "typeParameters", lv_typeParameters_71_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:1044:6: (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* loop27: do { int alt27=2; int LA27_0 = input.LA(1); if ( (LA27_0==32) ) { alt27=1; } switch (alt27) { case 1 : // InternalSARL.g:1045:7: otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) { otherlv_72=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_72, grammarAccess.getTypeAccess().getCommaKeyword_2_7_4_2_0()); } // InternalSARL.g:1049:7: ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) // InternalSARL.g:1050:8: (lv_typeParameters_73_0= ruleJvmTypeParameter ) { // InternalSARL.g:1050:8: (lv_typeParameters_73_0= ruleJvmTypeParameter ) // InternalSARL.g:1051:9: lv_typeParameters_73_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_7_4_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_73_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "typeParameters", lv_typeParameters_73_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop27; } } while (true); otherlv_74=(Token)match(input,41,FOLLOW_21); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_74, grammarAccess.getTypeAccess().getGreaterThanSignKeyword_2_7_4_3()); } } break; } // InternalSARL.g:1074:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:1075:6: ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:1075:6: ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:1076:7: ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5()); // InternalSARL.g:1079:7: ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) // InternalSARL.g:1080:8: ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* { // InternalSARL.g:1080:8: ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* loop30: do { int alt30=3; int LA30_0 = input.LA(1); if ( LA30_0 == 28 && getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 0) ) { alt30=1; } else if ( LA30_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 1) ) { alt30=2; } switch (alt30) { case 1 : // InternalSARL.g:1081:6: ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) { // InternalSARL.g:1081:6: ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) // InternalSARL.g:1082:7: {...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleType", "getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 0)"); } // InternalSARL.g:1082:107: ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) // InternalSARL.g:1083:8: ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 0); // InternalSARL.g:1086:11: ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) // InternalSARL.g:1086:12: {...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleType", "true"); } // InternalSARL.g:1086:21: (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) // InternalSARL.g:1086:22: otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) { otherlv_76=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_76, grammarAccess.getTypeAccess().getExtendsKeyword_2_7_5_0_0()); } // InternalSARL.g:1090:11: ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:1091:12: (lv_extends_77_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:1091:12: (lv_extends_77_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:1092:13: lv_extends_77_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_7_5_0_1_0()); } pushFollow(FOLLOW_21); lv_extends_77_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "extends", lv_extends_77_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5()); } } } break; case 2 : // InternalSARL.g:1115:6: ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:1115:6: ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) // InternalSARL.g:1116:7: {...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleType", "getUnorderedGroupHelper().canSelect(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 1)"); } // InternalSARL.g:1116:107: ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) // InternalSARL.g:1117:8: ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5(), 1); // InternalSARL.g:1120:11: ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) // InternalSARL.g:1120:12: {...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleType", "true"); } // InternalSARL.g:1120:21: (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) // InternalSARL.g:1120:22: otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* { otherlv_78=(Token)match(input,36,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_78, grammarAccess.getTypeAccess().getImplementsKeyword_2_7_5_1_0()); } // InternalSARL.g:1124:11: ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:1125:12: (lv_implements_79_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:1125:12: (lv_implements_79_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:1126:13: lv_implements_79_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_7_5_1_1_0()); } pushFollow(FOLLOW_22); lv_implements_79_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "implements", lv_implements_79_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:1143:11: (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* loop29: do { int alt29=2; int LA29_0 = input.LA(1); if ( (LA29_0==32) ) { alt29=1; } switch (alt29) { case 1 : // InternalSARL.g:1144:12: otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) { otherlv_80=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_80, grammarAccess.getTypeAccess().getCommaKeyword_2_7_5_1_2_0()); } // InternalSARL.g:1148:12: ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:1149:13: (lv_implements_81_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:1149:13: (lv_implements_81_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:1150:14: lv_implements_81_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_7_5_1_2_1_0()); } pushFollow(FOLLOW_22); lv_implements_81_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "implements", lv_implements_81_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop29; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5()); } } } break; default : break loop30; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getTypeAccess().getUnorderedGroup_2_7_5()); } otherlv_82=(Token)match(input,29,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_82, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_7_6()); } // InternalSARL.g:1185:5: ( (lv_members_83_0= ruleMember ) )* loop31: do { int alt31=2; int LA31_0 = input.LA(1); if ( (LA31_0==25||LA31_0==39||(LA31_0>=42 && LA31_0<=45)||LA31_0==48||(LA31_0>=61 && LA31_0<=62)||(LA31_0>=69 && LA31_0<=82)||LA31_0==94) ) { alt31=1; } switch (alt31) { case 1 : // InternalSARL.g:1186:6: (lv_members_83_0= ruleMember ) { // InternalSARL.g:1186:6: (lv_members_83_0= ruleMember ) // InternalSARL.g:1187:7: lv_members_83_0= ruleMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getMembersMemberParserRuleCall_2_7_7_0()); } pushFollow(FOLLOW_29); lv_members_83_0=ruleMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "members", lv_members_83_0, "io.sarl.lang.SARL.Member"); afterParserOrEnumRuleCall(); } } } break; default : break loop31; } } while (true); otherlv_84=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_84, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_7_8()); } } } break; case 9 : // InternalSARL.g:1210:4: ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) { // InternalSARL.g:1210:4: ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) // InternalSARL.g:1211:5: () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' { // InternalSARL.g:1211:5: () // InternalSARL.g:1212:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlInterfaceAnnotationInfoAction_2_8_0(), current); } } // InternalSARL.g:1218:5: ( (lv_modifiers_86_0= ruleCommonModifier ) )* loop32: do { int alt32=2; int LA32_0 = input.LA(1); if ( (LA32_0==25||(LA32_0>=69 && LA32_0<=80)) ) { alt32=1; } switch (alt32) { case 1 : // InternalSARL.g:1219:6: (lv_modifiers_86_0= ruleCommonModifier ) { // InternalSARL.g:1219:6: (lv_modifiers_86_0= ruleCommonModifier ) // InternalSARL.g:1220:7: lv_modifiers_86_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_8_1_0()); } pushFollow(FOLLOW_30); lv_modifiers_86_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_86_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop32; } } while (true); otherlv_87=(Token)match(input,42,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_87, grammarAccess.getTypeAccess().getInterfaceKeyword_2_8_2()); } // InternalSARL.g:1241:5: ( (lv_name_88_0= ruleValidID ) ) // InternalSARL.g:1242:6: (lv_name_88_0= ruleValidID ) { // InternalSARL.g:1242:6: (lv_name_88_0= ruleValidID ) // InternalSARL.g:1243:7: lv_name_88_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_8_3_0()); } pushFollow(FOLLOW_31); lv_name_88_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_88_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:1260:5: (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? int alt34=2; int LA34_0 = input.LA(1); if ( (LA34_0==40) ) { alt34=1; } switch (alt34) { case 1 : // InternalSARL.g:1261:6: otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' { otherlv_89=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_89, grammarAccess.getTypeAccess().getLessThanSignKeyword_2_8_4_0()); } // InternalSARL.g:1265:6: ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) // InternalSARL.g:1266:7: (lv_typeParameters_90_0= ruleJvmTypeParameter ) { // InternalSARL.g:1266:7: (lv_typeParameters_90_0= ruleJvmTypeParameter ) // InternalSARL.g:1267:8: lv_typeParameters_90_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_8_4_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_90_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "typeParameters", lv_typeParameters_90_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:1284:6: (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* loop33: do { int alt33=2; int LA33_0 = input.LA(1); if ( (LA33_0==32) ) { alt33=1; } switch (alt33) { case 1 : // InternalSARL.g:1285:7: otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) { otherlv_91=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_91, grammarAccess.getTypeAccess().getCommaKeyword_2_8_4_2_0()); } // InternalSARL.g:1289:7: ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) // InternalSARL.g:1290:8: (lv_typeParameters_92_0= ruleJvmTypeParameter ) { // InternalSARL.g:1290:8: (lv_typeParameters_92_0= ruleJvmTypeParameter ) // InternalSARL.g:1291:9: lv_typeParameters_92_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_8_4_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_92_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "typeParameters", lv_typeParameters_92_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop33; } } while (true); otherlv_93=(Token)match(input,41,FOLLOW_13); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_93, grammarAccess.getTypeAccess().getGreaterThanSignKeyword_2_8_4_3()); } } break; } // InternalSARL.g:1314:5: (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? int alt36=2; int LA36_0 = input.LA(1); if ( (LA36_0==28) ) { alt36=1; } switch (alt36) { case 1 : // InternalSARL.g:1315:6: otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* { otherlv_94=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_94, grammarAccess.getTypeAccess().getExtendsKeyword_2_8_5_0()); } // InternalSARL.g:1319:6: ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:1320:7: (lv_extends_95_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:1320:7: (lv_extends_95_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:1321:8: lv_extends_95_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_8_5_1_0()); } pushFollow(FOLLOW_14); lv_extends_95_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "extends", lv_extends_95_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:1338:6: (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* loop35: do { int alt35=2; int LA35_0 = input.LA(1); if ( (LA35_0==32) ) { alt35=1; } switch (alt35) { case 1 : // InternalSARL.g:1339:7: otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) { otherlv_96=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_96, grammarAccess.getTypeAccess().getCommaKeyword_2_8_5_2_0()); } // InternalSARL.g:1343:7: ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:1344:8: (lv_extends_97_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:1344:8: (lv_extends_97_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:1345:9: lv_extends_97_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_8_5_2_1_0()); } pushFollow(FOLLOW_14); lv_extends_97_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "extends", lv_extends_97_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop35; } } while (true); } break; } otherlv_98=(Token)match(input,29,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_98, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_8_6()); } // InternalSARL.g:1368:5: ( (lv_members_99_0= ruleMember ) )* loop37: do { int alt37=2; int LA37_0 = input.LA(1); if ( (LA37_0==25||LA37_0==39||(LA37_0>=42 && LA37_0<=45)||LA37_0==48||(LA37_0>=61 && LA37_0<=62)||(LA37_0>=69 && LA37_0<=82)||LA37_0==94) ) { alt37=1; } switch (alt37) { case 1 : // InternalSARL.g:1369:6: (lv_members_99_0= ruleMember ) { // InternalSARL.g:1369:6: (lv_members_99_0= ruleMember ) // InternalSARL.g:1370:7: lv_members_99_0= ruleMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getMembersMemberParserRuleCall_2_8_7_0()); } pushFollow(FOLLOW_29); lv_members_99_0=ruleMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "members", lv_members_99_0, "io.sarl.lang.SARL.Member"); afterParserOrEnumRuleCall(); } } } break; default : break loop37; } } while (true); otherlv_100=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_100, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_8_8()); } } } break; case 10 : // InternalSARL.g:1393:4: ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) { // InternalSARL.g:1393:4: ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) // InternalSARL.g:1394:5: () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' { // InternalSARL.g:1394:5: () // InternalSARL.g:1395:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlEnumerationAnnotationInfoAction_2_9_0(), current); } } // InternalSARL.g:1401:5: ( (lv_modifiers_102_0= ruleCommonModifier ) )* loop38: do { int alt38=2; int LA38_0 = input.LA(1); if ( (LA38_0==25||(LA38_0>=69 && LA38_0<=80)) ) { alt38=1; } switch (alt38) { case 1 : // InternalSARL.g:1402:6: (lv_modifiers_102_0= ruleCommonModifier ) { // InternalSARL.g:1402:6: (lv_modifiers_102_0= ruleCommonModifier ) // InternalSARL.g:1403:7: lv_modifiers_102_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_9_1_0()); } pushFollow(FOLLOW_32); lv_modifiers_102_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_102_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop38; } } while (true); otherlv_103=(Token)match(input,43,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_103, grammarAccess.getTypeAccess().getEnumKeyword_2_9_2()); } // InternalSARL.g:1424:5: ( (lv_name_104_0= ruleValidID ) ) // InternalSARL.g:1425:6: (lv_name_104_0= ruleValidID ) { // InternalSARL.g:1425:6: (lv_name_104_0= ruleValidID ) // InternalSARL.g:1426:7: lv_name_104_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_9_3_0()); } pushFollow(FOLLOW_17); lv_name_104_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_104_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_105=(Token)match(input,29,FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_105, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_9_4()); } // InternalSARL.g:1447:5: ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? int alt40=2; int LA40_0 = input.LA(1); if ( (LA40_0==RULE_ID||LA40_0==44||(LA40_0>=83 && LA40_0<=86)) ) { alt40=1; } switch (alt40) { case 1 : // InternalSARL.g:1448:6: ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* { // InternalSARL.g:1448:6: ( (lv_members_106_0= ruleXtendEnumLiteral ) ) // InternalSARL.g:1449:7: (lv_members_106_0= ruleXtendEnumLiteral ) { // InternalSARL.g:1449:7: (lv_members_106_0= ruleXtendEnumLiteral ) // InternalSARL.g:1450:8: lv_members_106_0= ruleXtendEnumLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getMembersXtendEnumLiteralParserRuleCall_2_9_5_0_0()); } pushFollow(FOLLOW_34); lv_members_106_0=ruleXtendEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "members", lv_members_106_0, "io.sarl.lang.SARL.XtendEnumLiteral"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:1467:6: (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* loop39: do { int alt39=2; int LA39_0 = input.LA(1); if ( (LA39_0==32) ) { alt39=1; } switch (alt39) { case 1 : // InternalSARL.g:1468:7: otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) { otherlv_107=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_107, grammarAccess.getTypeAccess().getCommaKeyword_2_9_5_1_0()); } // InternalSARL.g:1472:7: ( (lv_members_108_0= ruleXtendEnumLiteral ) ) // InternalSARL.g:1473:8: (lv_members_108_0= ruleXtendEnumLiteral ) { // InternalSARL.g:1473:8: (lv_members_108_0= ruleXtendEnumLiteral ) // InternalSARL.g:1474:9: lv_members_108_0= ruleXtendEnumLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getMembersXtendEnumLiteralParserRuleCall_2_9_5_1_1_0()); } pushFollow(FOLLOW_34); lv_members_108_0=ruleXtendEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "members", lv_members_108_0, "io.sarl.lang.SARL.XtendEnumLiteral"); afterParserOrEnumRuleCall(); } } } } break; default : break loop39; } } while (true); } break; } // InternalSARL.g:1493:5: (otherlv_109= ';' )? int alt41=2; int LA41_0 = input.LA(1); if ( (LA41_0==26) ) { alt41=1; } switch (alt41) { case 1 : // InternalSARL.g:1494:6: otherlv_109= ';' { otherlv_109=(Token)match(input,26,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_109, grammarAccess.getTypeAccess().getSemicolonKeyword_2_9_6()); } } break; } otherlv_110=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_110, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_9_7()); } } } break; case 11 : // InternalSARL.g:1505:4: ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) { // InternalSARL.g:1505:4: ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) // InternalSARL.g:1506:5: () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' { // InternalSARL.g:1506:5: () // InternalSARL.g:1507:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeAccess().getSarlAnnotationTypeAnnotationInfoAction_2_10_0(), current); } } // InternalSARL.g:1513:5: ( (lv_modifiers_112_0= ruleCommonModifier ) )* loop42: do { int alt42=2; int LA42_0 = input.LA(1); if ( (LA42_0==25||(LA42_0>=69 && LA42_0<=80)) ) { alt42=1; } switch (alt42) { case 1 : // InternalSARL.g:1514:6: (lv_modifiers_112_0= ruleCommonModifier ) { // InternalSARL.g:1514:6: (lv_modifiers_112_0= ruleCommonModifier ) // InternalSARL.g:1515:7: lv_modifiers_112_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getModifiersCommonModifierParserRuleCall_2_10_1_0()); } pushFollow(FOLLOW_35); lv_modifiers_112_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "modifiers", lv_modifiers_112_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop42; } } while (true); otherlv_113=(Token)match(input,44,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_113, grammarAccess.getTypeAccess().getAnnotationKeyword_2_10_2()); } // InternalSARL.g:1536:5: ( (lv_name_114_0= ruleValidID ) ) // InternalSARL.g:1537:6: (lv_name_114_0= ruleValidID ) { // InternalSARL.g:1537:6: (lv_name_114_0= ruleValidID ) // InternalSARL.g:1538:7: lv_name_114_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getNameValidIDParserRuleCall_2_10_3_0()); } pushFollow(FOLLOW_17); lv_name_114_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } set( current, "name", lv_name_114_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_115=(Token)match(input,29,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_115, grammarAccess.getTypeAccess().getLeftCurlyBracketKeyword_2_10_4()); } // InternalSARL.g:1559:5: ( (lv_members_116_0= ruleAnnotationField ) )* loop43: do { int alt43=2; int LA43_0 = input.LA(1); if ( (LA43_0==25||LA43_0==39||(LA43_0>=42 && LA43_0<=44)||(LA43_0>=61 && LA43_0<=62)||(LA43_0>=69 && LA43_0<=80)||LA43_0==94) ) { alt43=1; } switch (alt43) { case 1 : // InternalSARL.g:1560:6: (lv_members_116_0= ruleAnnotationField ) { // InternalSARL.g:1560:6: (lv_members_116_0= ruleAnnotationField ) // InternalSARL.g:1561:7: lv_members_116_0= ruleAnnotationField { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeAccess().getMembersAnnotationFieldParserRuleCall_2_10_5_0()); } pushFollow(FOLLOW_36); lv_members_116_0=ruleAnnotationField(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getTypeRule()); } add( current, "members", lv_members_116_0, "io.sarl.lang.SARL.AnnotationField"); afterParserOrEnumRuleCall(); } } } break; default : break loop43; } } while (true); otherlv_117=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_117, grammarAccess.getTypeAccess().getRightCurlyBracketKeyword_2_10_6()); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleType" // $ANTLR start "entryRuleEventMember" // InternalSARL.g:1588:1: entryRuleEventMember returns [EObject current=null] : iv_ruleEventMember= ruleEventMember EOF ; public final EObject entryRuleEventMember() throws RecognitionException { EObject current = null; EObject iv_ruleEventMember = null; try { // InternalSARL.g:1588:52: (iv_ruleEventMember= ruleEventMember EOF ) // InternalSARL.g:1589:2: iv_ruleEventMember= ruleEventMember EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberRule()); } pushFollow(FOLLOW_1); iv_ruleEventMember=ruleEventMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEventMember; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEventMember" // $ANTLR start "ruleEventMember" // InternalSARL.g:1595:1: ruleEventMember returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) ) ) ; public final EObject ruleEventMember() throws RecognitionException { EObject current = null; Token lv_modifiers_4_0=null; Token otherlv_8=null; Token lv_modifiers_12_0=null; Token otherlv_14=null; Token otherlv_17=null; Token otherlv_19=null; Token otherlv_21=null; Token otherlv_24=null; Token otherlv_25=null; Token otherlv_27=null; Token otherlv_29=null; Token otherlv_30=null; Token otherlv_32=null; Token otherlv_34=null; Token otherlv_36=null; Token otherlv_38=null; Token otherlv_40=null; Token otherlv_42=null; EObject lv_annotations_1_0 = null; AntlrDatatypeRuleToken lv_modifiers_3_0 = null; AntlrDatatypeRuleToken lv_modifiers_5_0 = null; AntlrDatatypeRuleToken lv_modifiers_6_0 = null; AntlrDatatypeRuleToken lv_name_7_0 = null; EObject lv_type_9_0 = null; AntlrDatatypeRuleToken lv_modifiers_10_0 = null; AntlrDatatypeRuleToken lv_modifiers_11_0 = null; AntlrDatatypeRuleToken lv_name_13_0 = null; EObject lv_type_15_0 = null; AntlrDatatypeRuleToken lv_name_16_0 = null; EObject lv_type_18_0 = null; EObject lv_initialValue_20_0 = null; AntlrDatatypeRuleToken lv_modifiers_23_0 = null; EObject lv_typeParameters_26_0 = null; EObject lv_typeParameters_28_0 = null; EObject lv_parameters_31_0 = null; EObject lv_parameters_33_0 = null; EObject lv_exceptions_37_0 = null; EObject lv_exceptions_39_0 = null; EObject lv_typeParameters_41_0 = null; EObject lv_typeParameters_43_0 = null; EObject lv_expression_44_0 = null; enterRule(); try { // InternalSARL.g:1601:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) ) ) ) // InternalSARL.g:1602:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) ) ) { // InternalSARL.g:1602:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) ) ) // InternalSARL.g:1603:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) ) { // InternalSARL.g:1603:3: () // InternalSARL.g:1604:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getEventMemberAccess().getXtendMemberAction_0(), current); } } // InternalSARL.g:1610:3: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop45: do { int alt45=2; int LA45_0 = input.LA(1); if ( (LA45_0==94) ) { alt45=1; } switch (alt45) { case 1 : // InternalSARL.g:1611:4: (lv_annotations_1_0= ruleXAnnotation ) { // InternalSARL.g:1611:4: (lv_annotations_1_0= ruleXAnnotation ) // InternalSARL.g:1612:5: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FOLLOW_37); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop45; } } while (true); // InternalSARL.g:1629:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) ) int alt63=2; alt63 = dfa63.predict(input); switch (alt63) { case 1 : // InternalSARL.g:1630:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) { // InternalSARL.g:1630:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) // InternalSARL.g:1631:5: () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? { // InternalSARL.g:1631:5: () // InternalSARL.g:1632:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getEventMemberAccess().getSarlFieldAnnotationInfoAction_2_0_0(), current); } } // InternalSARL.g:1638:5: ( (lv_modifiers_3_0= ruleCommonModifier ) )* loop46: do { int alt46=2; int LA46_0 = input.LA(1); if ( (LA46_0==25||(LA46_0>=69 && LA46_0<=80)) ) { alt46=1; } switch (alt46) { case 1 : // InternalSARL.g:1639:6: (lv_modifiers_3_0= ruleCommonModifier ) { // InternalSARL.g:1639:6: (lv_modifiers_3_0= ruleCommonModifier ) // InternalSARL.g:1640:7: lv_modifiers_3_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_1_0()); } pushFollow(FOLLOW_38); lv_modifiers_3_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "modifiers", lv_modifiers_3_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop46; } } while (true); // InternalSARL.g:1657:5: ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) int alt51=2; int LA51_0 = input.LA(1); if ( (LA51_0==45) ) { alt51=1; } else if ( ((LA51_0>=61 && LA51_0<=62)) ) { alt51=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 51, 0, input); throw nvae; } switch (alt51) { case 1 : // InternalSARL.g:1658:6: ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:1658:6: ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:1659:7: ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) { // InternalSARL.g:1659:7: ( (lv_modifiers_4_0= 'extension' ) ) // InternalSARL.g:1660:8: (lv_modifiers_4_0= 'extension' ) { // InternalSARL.g:1660:8: (lv_modifiers_4_0= 'extension' ) // InternalSARL.g:1661:9: lv_modifiers_4_0= 'extension' { lv_modifiers_4_0=(Token)match(input,45,FOLLOW_39); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_modifiers_4_0, grammarAccess.getEventMemberAccess().getModifiersExtensionKeyword_2_0_2_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getEventMemberRule()); } addWithLastConsumed(current, "modifiers", lv_modifiers_4_0, "extension"); } } } // InternalSARL.g:1673:7: ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* loop47: do { int alt47=3; int LA47_0 = input.LA(1); if ( ((LA47_0>=61 && LA47_0<=62)) ) { alt47=1; } else if ( (LA47_0==25||(LA47_0>=69 && LA47_0<=80)) ) { alt47=2; } switch (alt47) { case 1 : // InternalSARL.g:1674:8: ( (lv_modifiers_5_0= ruleFieldModifier ) ) { // InternalSARL.g:1674:8: ( (lv_modifiers_5_0= ruleFieldModifier ) ) // InternalSARL.g:1675:9: (lv_modifiers_5_0= ruleFieldModifier ) { // InternalSARL.g:1675:9: (lv_modifiers_5_0= ruleFieldModifier ) // InternalSARL.g:1676:10: lv_modifiers_5_0= ruleFieldModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersFieldModifierParserRuleCall_2_0_2_0_1_0_0()); } pushFollow(FOLLOW_39); lv_modifiers_5_0=ruleFieldModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "modifiers", lv_modifiers_5_0, "org.eclipse.xtend.core.Xtend.FieldModifier"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:1694:8: ( (lv_modifiers_6_0= ruleCommonModifier ) ) { // InternalSARL.g:1694:8: ( (lv_modifiers_6_0= ruleCommonModifier ) ) // InternalSARL.g:1695:9: (lv_modifiers_6_0= ruleCommonModifier ) { // InternalSARL.g:1695:9: (lv_modifiers_6_0= ruleCommonModifier ) // InternalSARL.g:1696:10: lv_modifiers_6_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_2_0_1_1_0()); } pushFollow(FOLLOW_39); lv_modifiers_6_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "modifiers", lv_modifiers_6_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } } break; default : break loop47; } } while (true); // InternalSARL.g:1714:7: ( (lv_name_7_0= ruleValidID ) ) // InternalSARL.g:1715:8: (lv_name_7_0= ruleValidID ) { // InternalSARL.g:1715:8: (lv_name_7_0= ruleValidID ) // InternalSARL.g:1716:9: lv_name_7_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getNameValidIDParserRuleCall_2_0_2_0_2_0()); } pushFollow(FOLLOW_40); lv_name_7_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } set( current, "name", lv_name_7_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_8=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getEventMemberAccess().getColonKeyword_2_0_2_0_3()); } // InternalSARL.g:1737:7: ( (lv_type_9_0= ruleJvmTypeReference ) ) // InternalSARL.g:1738:8: (lv_type_9_0= ruleJvmTypeReference ) { // InternalSARL.g:1738:8: (lv_type_9_0= ruleJvmTypeReference ) // InternalSARL.g:1739:9: lv_type_9_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_0_4_0()); } pushFollow(FOLLOW_42); lv_type_9_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } set( current, "type", lv_type_9_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalSARL.g:1758:6: ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) { // InternalSARL.g:1758:6: ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) // InternalSARL.g:1759:7: ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) { // InternalSARL.g:1759:7: ( (lv_modifiers_10_0= ruleFieldModifier ) ) // InternalSARL.g:1760:8: (lv_modifiers_10_0= ruleFieldModifier ) { // InternalSARL.g:1760:8: (lv_modifiers_10_0= ruleFieldModifier ) // InternalSARL.g:1761:9: lv_modifiers_10_0= ruleFieldModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersFieldModifierParserRuleCall_2_0_2_1_0_0()); } pushFollow(FOLLOW_43); lv_modifiers_10_0=ruleFieldModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "modifiers", lv_modifiers_10_0, "org.eclipse.xtend.core.Xtend.FieldModifier"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:1778:7: ( (lv_modifiers_11_0= ruleCommonModifier ) )* loop48: do { int alt48=2; int LA48_0 = input.LA(1); if ( (LA48_0==25||(LA48_0>=69 && LA48_0<=80)) ) { alt48=1; } switch (alt48) { case 1 : // InternalSARL.g:1779:8: (lv_modifiers_11_0= ruleCommonModifier ) { // InternalSARL.g:1779:8: (lv_modifiers_11_0= ruleCommonModifier ) // InternalSARL.g:1780:9: lv_modifiers_11_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_2_1_1_0()); } pushFollow(FOLLOW_43); lv_modifiers_11_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "modifiers", lv_modifiers_11_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop48; } } while (true); // InternalSARL.g:1797:7: ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) int alt50=2; int LA50_0 = input.LA(1); if ( (LA50_0==45) ) { alt50=1; } else if ( (LA50_0==RULE_ID||LA50_0==44||(LA50_0>=83 && LA50_0<=86)) ) { alt50=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 50, 0, input); throw nvae; } switch (alt50) { case 1 : // InternalSARL.g:1798:8: ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:1798:8: ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:1799:9: ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) { // InternalSARL.g:1799:9: ( (lv_modifiers_12_0= 'extension' ) ) // InternalSARL.g:1800:10: (lv_modifiers_12_0= 'extension' ) { // InternalSARL.g:1800:10: (lv_modifiers_12_0= 'extension' ) // InternalSARL.g:1801:11: lv_modifiers_12_0= 'extension' { lv_modifiers_12_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_modifiers_12_0, grammarAccess.getEventMemberAccess().getModifiersExtensionKeyword_2_0_2_1_2_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getEventMemberRule()); } addWithLastConsumed(current, "modifiers", lv_modifiers_12_0, "extension"); } } } // InternalSARL.g:1813:9: ( (lv_name_13_0= ruleValidID ) ) // InternalSARL.g:1814:10: (lv_name_13_0= ruleValidID ) { // InternalSARL.g:1814:10: (lv_name_13_0= ruleValidID ) // InternalSARL.g:1815:11: lv_name_13_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getNameValidIDParserRuleCall_2_0_2_1_2_0_1_0()); } pushFollow(FOLLOW_40); lv_name_13_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } set( current, "name", lv_name_13_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_14=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getEventMemberAccess().getColonKeyword_2_0_2_1_2_0_2()); } // InternalSARL.g:1836:9: ( (lv_type_15_0= ruleJvmTypeReference ) ) // InternalSARL.g:1837:10: (lv_type_15_0= ruleJvmTypeReference ) { // InternalSARL.g:1837:10: (lv_type_15_0= ruleJvmTypeReference ) // InternalSARL.g:1838:11: lv_type_15_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_1_2_0_3_0()); } pushFollow(FOLLOW_42); lv_type_15_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } set( current, "type", lv_type_15_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalSARL.g:1857:8: ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) { // InternalSARL.g:1857:8: ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) // InternalSARL.g:1858:9: ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? { // InternalSARL.g:1858:9: ( (lv_name_16_0= ruleValidID ) ) // InternalSARL.g:1859:10: (lv_name_16_0= ruleValidID ) { // InternalSARL.g:1859:10: (lv_name_16_0= ruleValidID ) // InternalSARL.g:1860:11: lv_name_16_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getNameValidIDParserRuleCall_2_0_2_1_2_1_0_0()); } pushFollow(FOLLOW_44); lv_name_16_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } set( current, "name", lv_name_16_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:1877:9: (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? int alt49=2; int LA49_0 = input.LA(1); if ( (LA49_0==46) ) { alt49=1; } switch (alt49) { case 1 : // InternalSARL.g:1878:10: otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) { otherlv_17=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getEventMemberAccess().getColonKeyword_2_0_2_1_2_1_1_0()); } // InternalSARL.g:1882:10: ( (lv_type_18_0= ruleJvmTypeReference ) ) // InternalSARL.g:1883:11: (lv_type_18_0= ruleJvmTypeReference ) { // InternalSARL.g:1883:11: (lv_type_18_0= ruleJvmTypeReference ) // InternalSARL.g:1884:12: lv_type_18_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_1_2_1_1_1_0()); } pushFollow(FOLLOW_42); lv_type_18_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } set( current, "type", lv_type_18_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } } } break; } } } break; } // InternalSARL.g:1906:5: (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? int alt52=2; int LA52_0 = input.LA(1); if ( (LA52_0==47) ) { alt52=1; } switch (alt52) { case 1 : // InternalSARL.g:1907:6: otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) { otherlv_19=(Token)match(input,47,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getEventMemberAccess().getEqualsSignKeyword_2_0_3_0()); } // InternalSARL.g:1911:6: ( (lv_initialValue_20_0= ruleXExpression ) ) // InternalSARL.g:1912:7: (lv_initialValue_20_0= ruleXExpression ) { // InternalSARL.g:1912:7: (lv_initialValue_20_0= ruleXExpression ) // InternalSARL.g:1913:8: lv_initialValue_20_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getInitialValueXExpressionParserRuleCall_2_0_3_1_0()); } pushFollow(FOLLOW_46); lv_initialValue_20_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } set( current, "initialValue", lv_initialValue_20_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } // InternalSARL.g:1931:5: (otherlv_21= ';' )? int alt53=2; int LA53_0 = input.LA(1); if ( (LA53_0==26) ) { alt53=1; } switch (alt53) { case 1 : // InternalSARL.g:1932:6: otherlv_21= ';' { otherlv_21=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getEventMemberAccess().getSemicolonKeyword_2_0_4()); } } break; } } } break; case 2 : // InternalSARL.g:1939:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) { // InternalSARL.g:1939:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) // InternalSARL.g:1940:5: () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) { // InternalSARL.g:1940:5: () // InternalSARL.g:1941:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getEventMemberAccess().getSarlConstructorAnnotationInfoAction_2_1_0(), current); } } // InternalSARL.g:1947:5: ( (lv_modifiers_23_0= ruleCommonModifier ) )* loop54: do { int alt54=2; int LA54_0 = input.LA(1); if ( (LA54_0==25||(LA54_0>=69 && LA54_0<=80)) ) { alt54=1; } switch (alt54) { case 1 : // InternalSARL.g:1948:6: (lv_modifiers_23_0= ruleCommonModifier ) { // InternalSARL.g:1948:6: (lv_modifiers_23_0= ruleCommonModifier ) // InternalSARL.g:1949:7: lv_modifiers_23_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getModifiersCommonModifierParserRuleCall_2_1_1_0()); } pushFollow(FOLLOW_47); lv_modifiers_23_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "modifiers", lv_modifiers_23_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop54; } } while (true); otherlv_24=(Token)match(input,48,FOLLOW_48); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_24, grammarAccess.getEventMemberAccess().getNewKeyword_2_1_2()); } // InternalSARL.g:1970:5: (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? int alt56=2; int LA56_0 = input.LA(1); if ( (LA56_0==40) ) { alt56=1; } switch (alt56) { case 1 : // InternalSARL.g:1971:6: otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' { otherlv_25=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_25, grammarAccess.getEventMemberAccess().getLessThanSignKeyword_2_1_3_0()); } // InternalSARL.g:1975:6: ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) // InternalSARL.g:1976:7: (lv_typeParameters_26_0= ruleJvmTypeParameter ) { // InternalSARL.g:1976:7: (lv_typeParameters_26_0= ruleJvmTypeParameter ) // InternalSARL.g:1977:8: lv_typeParameters_26_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_3_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_26_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "typeParameters", lv_typeParameters_26_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:1994:6: (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* loop55: do { int alt55=2; int LA55_0 = input.LA(1); if ( (LA55_0==32) ) { alt55=1; } switch (alt55) { case 1 : // InternalSARL.g:1995:7: otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) { otherlv_27=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_27, grammarAccess.getEventMemberAccess().getCommaKeyword_2_1_3_2_0()); } // InternalSARL.g:1999:7: ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) // InternalSARL.g:2000:8: (lv_typeParameters_28_0= ruleJvmTypeParameter ) { // InternalSARL.g:2000:8: (lv_typeParameters_28_0= ruleJvmTypeParameter ) // InternalSARL.g:2001:9: lv_typeParameters_28_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_3_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_28_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "typeParameters", lv_typeParameters_28_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop55; } } while (true); otherlv_29=(Token)match(input,41,FOLLOW_49); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_29, grammarAccess.getEventMemberAccess().getGreaterThanSignKeyword_2_1_3_3()); } } break; } // InternalSARL.g:2024:5: (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? int alt59=2; int LA59_0 = input.LA(1); if ( (LA59_0==49) ) { alt59=1; } switch (alt59) { case 1 : // InternalSARL.g:2025:6: otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' { otherlv_30=(Token)match(input,49,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_30, grammarAccess.getEventMemberAccess().getLeftParenthesisKeyword_2_1_4_0()); } // InternalSARL.g:2029:6: ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? int alt58=2; int LA58_0 = input.LA(1); if ( (LA58_0==RULE_ID||(LA58_0>=44 && LA58_0<=45)||(LA58_0>=83 && LA58_0<=86)||LA58_0==94) ) { alt58=1; } switch (alt58) { case 1 : // InternalSARL.g:2030:7: ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* { // InternalSARL.g:2030:7: ( (lv_parameters_31_0= ruleParameter ) ) // InternalSARL.g:2031:8: (lv_parameters_31_0= ruleParameter ) { // InternalSARL.g:2031:8: (lv_parameters_31_0= ruleParameter ) // InternalSARL.g:2032:9: lv_parameters_31_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getParametersParameterParserRuleCall_2_1_4_1_0_0()); } pushFollow(FOLLOW_51); lv_parameters_31_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "parameters", lv_parameters_31_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2049:7: (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* loop57: do { int alt57=2; int LA57_0 = input.LA(1); if ( (LA57_0==32) ) { alt57=1; } switch (alt57) { case 1 : // InternalSARL.g:2050:8: otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) { otherlv_32=(Token)match(input,32,FOLLOW_52); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_32, grammarAccess.getEventMemberAccess().getCommaKeyword_2_1_4_1_1_0()); } // InternalSARL.g:2054:8: ( (lv_parameters_33_0= ruleParameter ) ) // InternalSARL.g:2055:9: (lv_parameters_33_0= ruleParameter ) { // InternalSARL.g:2055:9: (lv_parameters_33_0= ruleParameter ) // InternalSARL.g:2056:10: lv_parameters_33_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getParametersParameterParserRuleCall_2_1_4_1_1_1_0()); } pushFollow(FOLLOW_51); lv_parameters_33_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "parameters", lv_parameters_33_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop57; } } while (true); } break; } otherlv_34=(Token)match(input,50,FOLLOW_53); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_34, grammarAccess.getEventMemberAccess().getRightParenthesisKeyword_2_1_4_2()); } } break; } // InternalSARL.g:2080:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:2081:6: ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:2081:6: ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:2082:7: ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5()); // InternalSARL.g:2085:7: ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) // InternalSARL.g:2086:8: ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* { // InternalSARL.g:2086:8: ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* loop62: do { int alt62=3; int LA62_0 = input.LA(1); if ( LA62_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 0) ) { alt62=1; } else if ( LA62_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 1) ) { alt62=2; } switch (alt62) { case 1 : // InternalSARL.g:2087:6: ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:2087:6: ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) // InternalSARL.g:2088:7: {...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleEventMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 0)"); } // InternalSARL.g:2088:114: ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) // InternalSARL.g:2089:8: ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 0); // InternalSARL.g:2092:11: ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) // InternalSARL.g:2092:12: {...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleEventMember", "true"); } // InternalSARL.g:2092:21: (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) // InternalSARL.g:2092:22: otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* { otherlv_36=(Token)match(input,51,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_36, grammarAccess.getEventMemberAccess().getThrowsKeyword_2_1_5_0_0()); } // InternalSARL.g:2096:11: ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) // InternalSARL.g:2097:12: (lv_exceptions_37_0= ruleJvmTypeReference ) { // InternalSARL.g:2097:12: (lv_exceptions_37_0= ruleJvmTypeReference ) // InternalSARL.g:2098:13: lv_exceptions_37_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_1_5_0_1_0()); } pushFollow(FOLLOW_54); lv_exceptions_37_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "exceptions", lv_exceptions_37_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2115:11: (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* loop60: do { int alt60=2; int LA60_0 = input.LA(1); if ( (LA60_0==32) ) { alt60=1; } switch (alt60) { case 1 : // InternalSARL.g:2116:12: otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) { otherlv_38=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_38, grammarAccess.getEventMemberAccess().getCommaKeyword_2_1_5_0_2_0()); } // InternalSARL.g:2120:12: ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) // InternalSARL.g:2121:13: (lv_exceptions_39_0= ruleJvmTypeReference ) { // InternalSARL.g:2121:13: (lv_exceptions_39_0= ruleJvmTypeReference ) // InternalSARL.g:2122:14: lv_exceptions_39_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_1_5_0_2_1_0()); } pushFollow(FOLLOW_54); lv_exceptions_39_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "exceptions", lv_exceptions_39_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop60; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5()); } } } break; case 2 : // InternalSARL.g:2146:6: ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) { // InternalSARL.g:2146:6: ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) // InternalSARL.g:2147:7: {...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleEventMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 1)"); } // InternalSARL.g:2147:114: ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) // InternalSARL.g:2148:8: ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5(), 1); // InternalSARL.g:2151:11: ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) // InternalSARL.g:2151:12: {...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleEventMember", "true"); } // InternalSARL.g:2151:21: (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) // InternalSARL.g:2151:22: otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* { otherlv_40=(Token)match(input,52,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_40, grammarAccess.getEventMemberAccess().getWithKeyword_2_1_5_1_0()); } // InternalSARL.g:2155:11: ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) // InternalSARL.g:2156:12: (lv_typeParameters_41_0= ruleJvmTypeParameter ) { // InternalSARL.g:2156:12: (lv_typeParameters_41_0= ruleJvmTypeParameter ) // InternalSARL.g:2157:13: lv_typeParameters_41_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_5_1_1_0()); } pushFollow(FOLLOW_54); lv_typeParameters_41_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "typeParameters", lv_typeParameters_41_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2174:11: (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* loop61: do { int alt61=2; int LA61_0 = input.LA(1); if ( (LA61_0==32) ) { alt61=1; } switch (alt61) { case 1 : // InternalSARL.g:2175:12: otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) { otherlv_42=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_42, grammarAccess.getEventMemberAccess().getCommaKeyword_2_1_5_1_2_0()); } // InternalSARL.g:2179:12: ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) // InternalSARL.g:2180:13: (lv_typeParameters_43_0= ruleJvmTypeParameter ) { // InternalSARL.g:2180:13: (lv_typeParameters_43_0= ruleJvmTypeParameter ) // InternalSARL.g:2181:14: lv_typeParameters_43_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_5_1_2_1_0()); } pushFollow(FOLLOW_54); lv_typeParameters_43_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } add( current, "typeParameters", lv_typeParameters_43_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop61; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5()); } } } break; default : break loop62; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getEventMemberAccess().getUnorderedGroup_2_1_5()); } // InternalSARL.g:2212:5: ( (lv_expression_44_0= ruleXBlockExpression ) ) // InternalSARL.g:2213:6: (lv_expression_44_0= ruleXBlockExpression ) { // InternalSARL.g:2213:6: (lv_expression_44_0= ruleXBlockExpression ) // InternalSARL.g:2214:7: lv_expression_44_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEventMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_1_6_0()); } pushFollow(FOLLOW_2); lv_expression_44_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getEventMemberRule()); } set( current, "expression", lv_expression_44_0, "org.eclipse.xtext.xbase.Xbase.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleEventMember" // $ANTLR start "entryRuleCapacityMember" // InternalSARL.g:2237:1: entryRuleCapacityMember returns [EObject current=null] : iv_ruleCapacityMember= ruleCapacityMember EOF ; public final EObject entryRuleCapacityMember() throws RecognitionException { EObject current = null; EObject iv_ruleCapacityMember = null; try { // InternalSARL.g:2237:55: (iv_ruleCapacityMember= ruleCapacityMember EOF ) // InternalSARL.g:2238:2: iv_ruleCapacityMember= ruleCapacityMember EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberRule()); } pushFollow(FOLLOW_1); iv_ruleCapacityMember=ruleCapacityMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleCapacityMember; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleCapacityMember" // $ANTLR start "ruleCapacityMember" // InternalSARL.g:2244:1: ruleCapacityMember returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleMethodModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? ( (lv_name_11_0= ruleFunctionID ) ) (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )? ) ; public final EObject ruleCapacityMember() throws RecognitionException { EObject current = null; Token otherlv_6=null; Token otherlv_8=null; Token otherlv_10=null; Token otherlv_12=null; Token otherlv_14=null; Token otherlv_16=null; Token otherlv_17=null; Token otherlv_21=null; Token otherlv_23=null; Token otherlv_25=null; Token otherlv_27=null; Token otherlv_29=null; Token otherlv_31=null; Token otherlv_34=null; EObject lv_annotations_1_0 = null; AntlrDatatypeRuleToken lv_modifiers_3_0 = null; AntlrDatatypeRuleToken lv_modifiers_4_0 = null; AntlrDatatypeRuleToken lv_modifiers_5_0 = null; EObject lv_typeParameters_7_0 = null; EObject lv_typeParameters_9_0 = null; AntlrDatatypeRuleToken lv_name_11_0 = null; EObject lv_parameters_13_0 = null; EObject lv_parameters_15_0 = null; EObject lv_returnType_18_0 = null; EObject lv_returnType_19_0 = null; EObject lv_exceptions_22_0 = null; EObject lv_exceptions_24_0 = null; EObject lv_firedEvents_26_0 = null; EObject lv_firedEvents_28_0 = null; EObject lv_typeParameters_30_0 = null; EObject lv_typeParameters_32_0 = null; EObject lv_expression_33_0 = null; enterRule(); try { // InternalSARL.g:2250:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleMethodModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? ( (lv_name_11_0= ruleFunctionID ) ) (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )? ) ) // InternalSARL.g:2251:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleMethodModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? ( (lv_name_11_0= ruleFunctionID ) ) (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )? ) { // InternalSARL.g:2251:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleMethodModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? ( (lv_name_11_0= ruleFunctionID ) ) (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )? ) // InternalSARL.g:2252:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleMethodModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? ( (lv_name_11_0= ruleFunctionID ) ) (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )? { // InternalSARL.g:2252:3: () // InternalSARL.g:2253:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getCapacityMemberAccess().getXtendMemberAction_0(), current); } } // InternalSARL.g:2259:3: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop64: do { int alt64=2; int LA64_0 = input.LA(1); if ( (LA64_0==94) ) { alt64=1; } switch (alt64) { case 1 : // InternalSARL.g:2260:4: (lv_annotations_1_0= ruleXAnnotation ) { // InternalSARL.g:2260:4: (lv_annotations_1_0= ruleXAnnotation ) // InternalSARL.g:2261:5: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FOLLOW_55); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop64; } } while (true); // InternalSARL.g:2278:3: () // InternalSARL.g:2279:4: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getCapacityMemberAccess().getSarlActionAnnotationInfoAction_2(), current); } } // InternalSARL.g:2285:3: ( (lv_modifiers_3_0= ruleCommonModifier ) )* loop65: do { int alt65=2; int LA65_0 = input.LA(1); if ( (LA65_0==25||(LA65_0>=69 && LA65_0<=80)) ) { alt65=1; } switch (alt65) { case 1 : // InternalSARL.g:2286:4: (lv_modifiers_3_0= ruleCommonModifier ) { // InternalSARL.g:2286:4: (lv_modifiers_3_0= ruleCommonModifier ) // InternalSARL.g:2287:5: lv_modifiers_3_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getModifiersCommonModifierParserRuleCall_3_0()); } pushFollow(FOLLOW_55); lv_modifiers_3_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "modifiers", lv_modifiers_3_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop65; } } while (true); // InternalSARL.g:2304:3: ( (lv_modifiers_4_0= ruleMethodModifier ) ) // InternalSARL.g:2305:4: (lv_modifiers_4_0= ruleMethodModifier ) { // InternalSARL.g:2305:4: (lv_modifiers_4_0= ruleMethodModifier ) // InternalSARL.g:2306:5: lv_modifiers_4_0= ruleMethodModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getModifiersMethodModifierParserRuleCall_4_0()); } pushFollow(FOLLOW_56); lv_modifiers_4_0=ruleMethodModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "modifiers", lv_modifiers_4_0, "org.eclipse.xtend.core.Xtend.MethodModifier"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2323:3: ( (lv_modifiers_5_0= ruleCommonModifier ) )* loop66: do { int alt66=2; int LA66_0 = input.LA(1); if ( (LA66_0==25||(LA66_0>=69 && LA66_0<=80)) ) { alt66=1; } switch (alt66) { case 1 : // InternalSARL.g:2324:4: (lv_modifiers_5_0= ruleCommonModifier ) { // InternalSARL.g:2324:4: (lv_modifiers_5_0= ruleCommonModifier ) // InternalSARL.g:2325:5: lv_modifiers_5_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getModifiersCommonModifierParserRuleCall_5_0()); } pushFollow(FOLLOW_56); lv_modifiers_5_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "modifiers", lv_modifiers_5_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop66; } } while (true); // InternalSARL.g:2342:3: (otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' )? int alt68=2; int LA68_0 = input.LA(1); if ( (LA68_0==40) ) { int LA68_1 = input.LA(2); if ( (LA68_1==RULE_ID||LA68_1==44||(LA68_1>=83 && LA68_1<=86)) ) { alt68=1; } } switch (alt68) { case 1 : // InternalSARL.g:2343:4: otherlv_6= '<' ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* otherlv_10= '>' { otherlv_6=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getCapacityMemberAccess().getLessThanSignKeyword_6_0()); } // InternalSARL.g:2347:4: ( (lv_typeParameters_7_0= ruleJvmTypeParameter ) ) // InternalSARL.g:2348:5: (lv_typeParameters_7_0= ruleJvmTypeParameter ) { // InternalSARL.g:2348:5: (lv_typeParameters_7_0= ruleJvmTypeParameter ) // InternalSARL.g:2349:6: lv_typeParameters_7_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_6_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_7_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "typeParameters", lv_typeParameters_7_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2366:4: (otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) )* loop67: do { int alt67=2; int LA67_0 = input.LA(1); if ( (LA67_0==32) ) { alt67=1; } switch (alt67) { case 1 : // InternalSARL.g:2367:5: otherlv_8= ',' ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) { otherlv_8=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getCapacityMemberAccess().getCommaKeyword_6_2_0()); } // InternalSARL.g:2371:5: ( (lv_typeParameters_9_0= ruleJvmTypeParameter ) ) // InternalSARL.g:2372:6: (lv_typeParameters_9_0= ruleJvmTypeParameter ) { // InternalSARL.g:2372:6: (lv_typeParameters_9_0= ruleJvmTypeParameter ) // InternalSARL.g:2373:7: lv_typeParameters_9_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_6_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_9_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "typeParameters", lv_typeParameters_9_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop67; } } while (true); otherlv_10=(Token)match(input,41,FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getCapacityMemberAccess().getGreaterThanSignKeyword_6_3()); } } break; } // InternalSARL.g:2396:3: ( (lv_name_11_0= ruleFunctionID ) ) // InternalSARL.g:2397:4: (lv_name_11_0= ruleFunctionID ) { // InternalSARL.g:2397:4: (lv_name_11_0= ruleFunctionID ) // InternalSARL.g:2398:5: lv_name_11_0= ruleFunctionID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getNameFunctionIDParserRuleCall_7_0()); } pushFollow(FOLLOW_57); lv_name_11_0=ruleFunctionID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } set( current, "name", lv_name_11_0, "org.eclipse.xtend.core.Xtend.FunctionID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2415:3: (otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' )? int alt71=2; int LA71_0 = input.LA(1); if ( (LA71_0==49) ) { alt71=1; } switch (alt71) { case 1 : // InternalSARL.g:2416:4: otherlv_12= '(' ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? otherlv_16= ')' { otherlv_12=(Token)match(input,49,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getCapacityMemberAccess().getLeftParenthesisKeyword_8_0()); } // InternalSARL.g:2420:4: ( ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* )? int alt70=2; int LA70_0 = input.LA(1); if ( (LA70_0==RULE_ID||(LA70_0>=44 && LA70_0<=45)||(LA70_0>=83 && LA70_0<=86)||LA70_0==94) ) { alt70=1; } switch (alt70) { case 1 : // InternalSARL.g:2421:5: ( (lv_parameters_13_0= ruleParameter ) ) (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* { // InternalSARL.g:2421:5: ( (lv_parameters_13_0= ruleParameter ) ) // InternalSARL.g:2422:6: (lv_parameters_13_0= ruleParameter ) { // InternalSARL.g:2422:6: (lv_parameters_13_0= ruleParameter ) // InternalSARL.g:2423:7: lv_parameters_13_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getParametersParameterParserRuleCall_8_1_0_0()); } pushFollow(FOLLOW_51); lv_parameters_13_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "parameters", lv_parameters_13_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2440:5: (otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) )* loop69: do { int alt69=2; int LA69_0 = input.LA(1); if ( (LA69_0==32) ) { alt69=1; } switch (alt69) { case 1 : // InternalSARL.g:2441:6: otherlv_14= ',' ( (lv_parameters_15_0= ruleParameter ) ) { otherlv_14=(Token)match(input,32,FOLLOW_52); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getCapacityMemberAccess().getCommaKeyword_8_1_1_0()); } // InternalSARL.g:2445:6: ( (lv_parameters_15_0= ruleParameter ) ) // InternalSARL.g:2446:7: (lv_parameters_15_0= ruleParameter ) { // InternalSARL.g:2446:7: (lv_parameters_15_0= ruleParameter ) // InternalSARL.g:2447:8: lv_parameters_15_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getParametersParameterParserRuleCall_8_1_1_1_0()); } pushFollow(FOLLOW_51); lv_parameters_15_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "parameters", lv_parameters_15_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop69; } } while (true); } break; } otherlv_16=(Token)match(input,50,FOLLOW_58); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_16, grammarAccess.getCapacityMemberAccess().getRightParenthesisKeyword_8_2()); } } break; } // InternalSARL.g:2471:3: (otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) )? int alt73=2; int LA73_0 = input.LA(1); if ( (LA73_0==46) ) { alt73=1; } switch (alt73) { case 1 : // InternalSARL.g:2472:4: otherlv_17= ':' ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) { otherlv_17=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getCapacityMemberAccess().getColonKeyword_9_0()); } // InternalSARL.g:2476:4: ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) ) int alt72=2; alt72 = dfa72.predict(input); switch (alt72) { case 1 : // InternalSARL.g:2477:5: ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) { // InternalSARL.g:2477:5: ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) // InternalSARL.g:2478:6: (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) { // InternalSARL.g:2478:6: (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) // InternalSARL.g:2479:7: lv_returnType_18_0= ruleTypeReferenceWithTypeArgs { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getReturnTypeTypeReferenceWithTypeArgsParserRuleCall_9_1_0_0()); } pushFollow(FOLLOW_59); lv_returnType_18_0=ruleTypeReferenceWithTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } set( current, "returnType", lv_returnType_18_0, "org.eclipse.xtend.core.Xtend.TypeReferenceWithTypeArgs"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:2497:5: ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) { // InternalSARL.g:2497:5: ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) // InternalSARL.g:2498:6: (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) { // InternalSARL.g:2498:6: (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) // InternalSARL.g:2499:7: lv_returnType_19_0= ruleTypeReferenceNoTypeArgs { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getReturnTypeTypeReferenceNoTypeArgsParserRuleCall_9_1_1_0()); } pushFollow(FOLLOW_59); lv_returnType_19_0=ruleTypeReferenceNoTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } set( current, "returnType", lv_returnType_19_0, "org.eclipse.xtend.core.Xtend.TypeReferenceNoTypeArgs"); afterParserOrEnumRuleCall(); } } } } break; } } break; } // InternalSARL.g:2518:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:2519:4: ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:2519:4: ( ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:2520:5: ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10()); // InternalSARL.g:2523:5: ( ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) // InternalSARL.g:2524:6: ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* { // InternalSARL.g:2524:6: ( ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* loop77: do { int alt77=4; int LA77_0 = input.LA(1); if ( LA77_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 0) ) { alt77=1; } else if ( LA77_0 == 53 && getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 1) ) { alt77=2; } else if ( LA77_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 2) ) { alt77=3; } switch (alt77) { case 1 : // InternalSARL.g:2525:4: ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:2525:4: ({...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) ) // InternalSARL.g:2526:5: {...}? => ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleCapacityMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 0)"); } // InternalSARL.g:2526:112: ( ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) ) // InternalSARL.g:2527:6: ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 0); // InternalSARL.g:2530:9: ({...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) ) // InternalSARL.g:2530:10: {...}? => (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleCapacityMember", "true"); } // InternalSARL.g:2530:19: (otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* ) // InternalSARL.g:2530:20: otherlv_21= 'throws' ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* { otherlv_21=(Token)match(input,51,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getCapacityMemberAccess().getThrowsKeyword_10_0_0()); } // InternalSARL.g:2534:9: ( (lv_exceptions_22_0= ruleJvmTypeReference ) ) // InternalSARL.g:2535:10: (lv_exceptions_22_0= ruleJvmTypeReference ) { // InternalSARL.g:2535:10: (lv_exceptions_22_0= ruleJvmTypeReference ) // InternalSARL.g:2536:11: lv_exceptions_22_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_10_0_1_0()); } pushFollow(FOLLOW_60); lv_exceptions_22_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "exceptions", lv_exceptions_22_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2553:9: (otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) )* loop74: do { int alt74=2; int LA74_0 = input.LA(1); if ( (LA74_0==32) ) { alt74=1; } switch (alt74) { case 1 : // InternalSARL.g:2554:10: otherlv_23= ',' ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) { otherlv_23=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_23, grammarAccess.getCapacityMemberAccess().getCommaKeyword_10_0_2_0()); } // InternalSARL.g:2558:10: ( (lv_exceptions_24_0= ruleJvmTypeReference ) ) // InternalSARL.g:2559:11: (lv_exceptions_24_0= ruleJvmTypeReference ) { // InternalSARL.g:2559:11: (lv_exceptions_24_0= ruleJvmTypeReference ) // InternalSARL.g:2560:12: lv_exceptions_24_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_10_0_2_1_0()); } pushFollow(FOLLOW_60); lv_exceptions_24_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "exceptions", lv_exceptions_24_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop74; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10()); } } } break; case 2 : // InternalSARL.g:2584:4: ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:2584:4: ({...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) ) // InternalSARL.g:2585:5: {...}? => ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleCapacityMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 1)"); } // InternalSARL.g:2585:112: ( ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) ) // InternalSARL.g:2586:6: ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 1); // InternalSARL.g:2589:9: ({...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) ) // InternalSARL.g:2589:10: {...}? => (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleCapacityMember", "true"); } // InternalSARL.g:2589:19: (otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* ) // InternalSARL.g:2589:20: otherlv_25= 'fires' ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* { otherlv_25=(Token)match(input,53,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_25, grammarAccess.getCapacityMemberAccess().getFiresKeyword_10_1_0()); } // InternalSARL.g:2593:9: ( (lv_firedEvents_26_0= ruleJvmTypeReference ) ) // InternalSARL.g:2594:10: (lv_firedEvents_26_0= ruleJvmTypeReference ) { // InternalSARL.g:2594:10: (lv_firedEvents_26_0= ruleJvmTypeReference ) // InternalSARL.g:2595:11: lv_firedEvents_26_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_10_1_1_0()); } pushFollow(FOLLOW_60); lv_firedEvents_26_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "firedEvents", lv_firedEvents_26_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2612:9: (otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) )* loop75: do { int alt75=2; int LA75_0 = input.LA(1); if ( (LA75_0==32) ) { alt75=1; } switch (alt75) { case 1 : // InternalSARL.g:2613:10: otherlv_27= ',' ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) { otherlv_27=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_27, grammarAccess.getCapacityMemberAccess().getCommaKeyword_10_1_2_0()); } // InternalSARL.g:2617:10: ( (lv_firedEvents_28_0= ruleJvmTypeReference ) ) // InternalSARL.g:2618:11: (lv_firedEvents_28_0= ruleJvmTypeReference ) { // InternalSARL.g:2618:11: (lv_firedEvents_28_0= ruleJvmTypeReference ) // InternalSARL.g:2619:12: lv_firedEvents_28_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_10_1_2_1_0()); } pushFollow(FOLLOW_60); lv_firedEvents_28_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "firedEvents", lv_firedEvents_28_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop75; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10()); } } } break; case 3 : // InternalSARL.g:2643:4: ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) { // InternalSARL.g:2643:4: ({...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) ) // InternalSARL.g:2644:5: {...}? => ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 2) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleCapacityMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 2)"); } // InternalSARL.g:2644:112: ( ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) ) // InternalSARL.g:2645:6: ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10(), 2); // InternalSARL.g:2648:9: ({...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) ) // InternalSARL.g:2648:10: {...}? => (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleCapacityMember", "true"); } // InternalSARL.g:2648:19: (otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* ) // InternalSARL.g:2648:20: otherlv_29= 'with' ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* { otherlv_29=(Token)match(input,52,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_29, grammarAccess.getCapacityMemberAccess().getWithKeyword_10_2_0()); } // InternalSARL.g:2652:9: ( (lv_typeParameters_30_0= ruleJvmTypeParameter ) ) // InternalSARL.g:2653:10: (lv_typeParameters_30_0= ruleJvmTypeParameter ) { // InternalSARL.g:2653:10: (lv_typeParameters_30_0= ruleJvmTypeParameter ) // InternalSARL.g:2654:11: lv_typeParameters_30_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_10_2_1_0()); } pushFollow(FOLLOW_60); lv_typeParameters_30_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "typeParameters", lv_typeParameters_30_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2671:9: (otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) )* loop76: do { int alt76=2; int LA76_0 = input.LA(1); if ( (LA76_0==32) ) { alt76=1; } switch (alt76) { case 1 : // InternalSARL.g:2672:10: otherlv_31= ',' ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) { otherlv_31=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_31, grammarAccess.getCapacityMemberAccess().getCommaKeyword_10_2_2_0()); } // InternalSARL.g:2676:10: ( (lv_typeParameters_32_0= ruleJvmTypeParameter ) ) // InternalSARL.g:2677:11: (lv_typeParameters_32_0= ruleJvmTypeParameter ) { // InternalSARL.g:2677:11: (lv_typeParameters_32_0= ruleJvmTypeParameter ) // InternalSARL.g:2678:12: lv_typeParameters_32_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_10_2_2_1_0()); } pushFollow(FOLLOW_60); lv_typeParameters_32_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } add( current, "typeParameters", lv_typeParameters_32_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop76; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10()); } } } break; default : break loop77; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getCapacityMemberAccess().getUnorderedGroup_10()); } // InternalSARL.g:2709:3: ( ( (lv_expression_33_0= ruleXBlockExpression ) ) | otherlv_34= ';' )? int alt78=3; int LA78_0 = input.LA(1); if ( (LA78_0==29) ) { alt78=1; } else if ( (LA78_0==26) ) { alt78=2; } switch (alt78) { case 1 : // InternalSARL.g:2710:4: ( (lv_expression_33_0= ruleXBlockExpression ) ) { // InternalSARL.g:2710:4: ( (lv_expression_33_0= ruleXBlockExpression ) ) // InternalSARL.g:2711:5: (lv_expression_33_0= ruleXBlockExpression ) { // InternalSARL.g:2711:5: (lv_expression_33_0= ruleXBlockExpression ) // InternalSARL.g:2712:6: lv_expression_33_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCapacityMemberAccess().getExpressionXBlockExpressionParserRuleCall_11_0_0()); } pushFollow(FOLLOW_2); lv_expression_33_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getCapacityMemberRule()); } set( current, "expression", lv_expression_33_0, "org.eclipse.xtext.xbase.Xbase.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:2730:4: otherlv_34= ';' { otherlv_34=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_34, grammarAccess.getCapacityMemberAccess().getSemicolonKeyword_11_1()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleCapacityMember" // $ANTLR start "entryRuleAOPMember" // InternalSARL.g:2739:1: entryRuleAOPMember returns [EObject current=null] : iv_ruleAOPMember= ruleAOPMember EOF ; public final EObject entryRuleAOPMember() throws RecognitionException { EObject current = null; EObject iv_ruleAOPMember = null; try { // InternalSARL.g:2739:50: (iv_ruleAOPMember= ruleAOPMember EOF ) // InternalSARL.g:2740:2: iv_ruleAOPMember= ruleAOPMember EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberRule()); } pushFollow(FOLLOW_1); iv_ruleAOPMember=ruleAOPMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleAOPMember; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleAOPMember" // $ANTLR start "ruleAOPMember" // InternalSARL.g:2746:1: ruleAOPMember returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) ) ) ; public final EObject ruleAOPMember() throws RecognitionException { EObject current = null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Token otherlv_10=null; Token otherlv_12=null; Token otherlv_14=null; Token otherlv_16=null; Token otherlv_18=null; Token otherlv_20=null; Token lv_modifiers_23_0=null; Token otherlv_27=null; Token lv_modifiers_31_0=null; Token otherlv_33=null; Token otherlv_36=null; Token otherlv_38=null; Token otherlv_40=null; Token otherlv_43=null; Token otherlv_44=null; Token otherlv_46=null; Token otherlv_48=null; Token otherlv_49=null; Token otherlv_51=null; Token otherlv_53=null; Token otherlv_55=null; Token otherlv_57=null; Token otherlv_59=null; Token otherlv_61=null; Token otherlv_69=null; Token otherlv_71=null; Token otherlv_73=null; Token otherlv_75=null; Token otherlv_77=null; Token otherlv_79=null; Token otherlv_80=null; Token otherlv_84=null; Token otherlv_86=null; Token otherlv_88=null; Token otherlv_90=null; Token otherlv_92=null; Token otherlv_94=null; Token otherlv_97=null; Token otherlv_100=null; Token otherlv_102=null; Token otherlv_104=null; Token otherlv_106=null; Token otherlv_108=null; Token otherlv_110=null; Token otherlv_112=null; Token otherlv_114=null; Token otherlv_116=null; Token otherlv_119=null; Token otherlv_121=null; Token otherlv_123=null; Token otherlv_125=null; Token otherlv_126=null; Token otherlv_128=null; Token otherlv_130=null; Token otherlv_132=null; Token otherlv_135=null; Token otherlv_137=null; Token otherlv_139=null; Token otherlv_141=null; Token otherlv_142=null; Token otherlv_145=null; Token otherlv_147=null; Token otherlv_149=null; EObject lv_annotations_1_0 = null; EObject lv_name_4_0 = null; EObject lv_guard_6_0 = null; EObject lv_expression_8_0 = null; EObject lv_capacities_11_0 = null; EObject lv_capacities_13_0 = null; EObject lv_capacities_17_0 = null; EObject lv_capacities_19_0 = null; AntlrDatatypeRuleToken lv_modifiers_22_0 = null; AntlrDatatypeRuleToken lv_modifiers_24_0 = null; AntlrDatatypeRuleToken lv_modifiers_25_0 = null; AntlrDatatypeRuleToken lv_name_26_0 = null; EObject lv_type_28_0 = null; AntlrDatatypeRuleToken lv_modifiers_29_0 = null; AntlrDatatypeRuleToken lv_modifiers_30_0 = null; AntlrDatatypeRuleToken lv_name_32_0 = null; EObject lv_type_34_0 = null; AntlrDatatypeRuleToken lv_name_35_0 = null; EObject lv_type_37_0 = null; EObject lv_initialValue_39_0 = null; AntlrDatatypeRuleToken lv_modifiers_42_0 = null; EObject lv_typeParameters_45_0 = null; EObject lv_typeParameters_47_0 = null; EObject lv_parameters_50_0 = null; EObject lv_parameters_52_0 = null; EObject lv_exceptions_56_0 = null; EObject lv_exceptions_58_0 = null; EObject lv_typeParameters_60_0 = null; EObject lv_typeParameters_62_0 = null; EObject lv_expression_63_0 = null; AntlrDatatypeRuleToken lv_modifiers_65_0 = null; AntlrDatatypeRuleToken lv_modifiers_66_0 = null; AntlrDatatypeRuleToken lv_modifiers_67_0 = null; AntlrDatatypeRuleToken lv_modifiers_68_0 = null; EObject lv_typeParameters_70_0 = null; EObject lv_typeParameters_72_0 = null; AntlrDatatypeRuleToken lv_name_74_0 = null; EObject lv_parameters_76_0 = null; EObject lv_parameters_78_0 = null; EObject lv_returnType_81_0 = null; EObject lv_returnType_82_0 = null; EObject lv_exceptions_85_0 = null; EObject lv_exceptions_87_0 = null; EObject lv_firedEvents_89_0 = null; EObject lv_firedEvents_91_0 = null; EObject lv_typeParameters_93_0 = null; EObject lv_typeParameters_95_0 = null; EObject lv_expression_96_0 = null; AntlrDatatypeRuleToken lv_modifiers_99_0 = null; AntlrDatatypeRuleToken lv_name_101_0 = null; EObject lv_typeParameters_103_0 = null; EObject lv_typeParameters_105_0 = null; EObject lv_extends_109_0 = null; EObject lv_implements_111_0 = null; EObject lv_implements_113_0 = null; EObject lv_members_115_0 = null; AntlrDatatypeRuleToken lv_modifiers_118_0 = null; AntlrDatatypeRuleToken lv_name_120_0 = null; EObject lv_typeParameters_122_0 = null; EObject lv_typeParameters_124_0 = null; EObject lv_extends_127_0 = null; EObject lv_extends_129_0 = null; EObject lv_members_131_0 = null; AntlrDatatypeRuleToken lv_modifiers_134_0 = null; AntlrDatatypeRuleToken lv_name_136_0 = null; EObject lv_members_138_0 = null; EObject lv_members_140_0 = null; AntlrDatatypeRuleToken lv_modifiers_144_0 = null; AntlrDatatypeRuleToken lv_name_146_0 = null; EObject lv_members_148_0 = null; enterRule(); try { // InternalSARL.g:2752:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) ) ) ) // InternalSARL.g:2753:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) ) ) { // InternalSARL.g:2753:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) ) ) // InternalSARL.g:2754:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) ) { // InternalSARL.g:2754:3: () // InternalSARL.g:2755:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getAOPMemberAccess().getXtendMemberAction_0(), current); } } // InternalSARL.g:2761:3: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop79: do { int alt79=2; int LA79_0 = input.LA(1); if ( (LA79_0==94) ) { alt79=1; } switch (alt79) { case 1 : // InternalSARL.g:2762:4: (lv_annotations_1_0= ruleXAnnotation ) { // InternalSARL.g:2762:4: (lv_annotations_1_0= ruleXAnnotation ) // InternalSARL.g:2763:5: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FOLLOW_61); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop79; } } while (true); // InternalSARL.g:2780:3: ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) ) int alt134=10; alt134 = dfa134.predict(input); switch (alt134) { case 1 : // InternalSARL.g:2781:4: ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) { // InternalSARL.g:2781:4: ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) // InternalSARL.g:2782:5: () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) { // InternalSARL.g:2782:5: () // InternalSARL.g:2783:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAOPMemberAccess().getSarlBehaviorUnitAnnotationInfoAction_2_0_0(), current); } } otherlv_3=(Token)match(input,54,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getAOPMemberAccess().getOnKeyword_2_0_1()); } // InternalSARL.g:2793:5: ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:2794:6: (lv_name_4_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:2794:6: (lv_name_4_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:2795:7: lv_name_4_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getNameJvmParameterizedTypeReferenceParserRuleCall_2_0_2_0()); } pushFollow(FOLLOW_62); lv_name_4_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "name", lv_name_4_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2812:5: (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? int alt80=2; int LA80_0 = input.LA(1); if ( (LA80_0==55) ) { alt80=1; } switch (alt80) { case 1 : // InternalSARL.g:2813:6: otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' { otherlv_5=(Token)match(input,55,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getAOPMemberAccess().getLeftSquareBracketKeyword_2_0_3_0()); } // InternalSARL.g:2817:6: ( (lv_guard_6_0= ruleXExpression ) ) // InternalSARL.g:2818:7: (lv_guard_6_0= ruleXExpression ) { // InternalSARL.g:2818:7: (lv_guard_6_0= ruleXExpression ) // InternalSARL.g:2819:8: lv_guard_6_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getGuardXExpressionParserRuleCall_2_0_3_1_0()); } pushFollow(FOLLOW_63); lv_guard_6_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "guard", lv_guard_6_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_7=(Token)match(input,56,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getAOPMemberAccess().getRightSquareBracketKeyword_2_0_3_2()); } } break; } // InternalSARL.g:2841:5: ( (lv_expression_8_0= ruleXBlockExpression ) ) // InternalSARL.g:2842:6: (lv_expression_8_0= ruleXBlockExpression ) { // InternalSARL.g:2842:6: (lv_expression_8_0= ruleXBlockExpression ) // InternalSARL.g:2843:7: lv_expression_8_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_0_4_0()); } pushFollow(FOLLOW_2); lv_expression_8_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "expression", lv_expression_8_0, "org.eclipse.xtext.xbase.Xbase.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalSARL.g:2862:4: ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) { // InternalSARL.g:2862:4: ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) // InternalSARL.g:2863:5: () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? { // InternalSARL.g:2863:5: () // InternalSARL.g:2864:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAOPMemberAccess().getSarlCapacityUsesAnnotationInfoAction_2_1_0(), current); } } otherlv_10=(Token)match(input,57,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getAOPMemberAccess().getUsesKeyword_2_1_1()); } // InternalSARL.g:2874:5: ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:2875:6: (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:2875:6: (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:2876:7: lv_capacities_11_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getCapacitiesJvmParameterizedTypeReferenceParserRuleCall_2_1_2_0()); } pushFollow(FOLLOW_64); lv_capacities_11_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "capacities", lv_capacities_11_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2893:5: (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* loop81: do { int alt81=2; int LA81_0 = input.LA(1); if ( (LA81_0==32) ) { alt81=1; } switch (alt81) { case 1 : // InternalSARL.g:2894:6: otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) { otherlv_12=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_1_3_0()); } // InternalSARL.g:2898:6: ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:2899:7: (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:2899:7: (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:2900:8: lv_capacities_13_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getCapacitiesJvmParameterizedTypeReferenceParserRuleCall_2_1_3_1_0()); } pushFollow(FOLLOW_64); lv_capacities_13_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "capacities", lv_capacities_13_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop81; } } while (true); // InternalSARL.g:2918:5: (otherlv_14= ';' )? int alt82=2; int LA82_0 = input.LA(1); if ( (LA82_0==26) ) { alt82=1; } switch (alt82) { case 1 : // InternalSARL.g:2919:6: otherlv_14= ';' { otherlv_14=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getAOPMemberAccess().getSemicolonKeyword_2_1_4()); } } break; } } } break; case 3 : // InternalSARL.g:2926:4: ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) { // InternalSARL.g:2926:4: ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) // InternalSARL.g:2927:5: () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? { // InternalSARL.g:2927:5: () // InternalSARL.g:2928:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAOPMemberAccess().getSarlRequiredCapacityAnnotationInfoAction_2_2_0(), current); } } otherlv_16=(Token)match(input,58,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_16, grammarAccess.getAOPMemberAccess().getRequiresKeyword_2_2_1()); } // InternalSARL.g:2938:5: ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:2939:6: (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:2939:6: (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:2940:7: lv_capacities_17_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getCapacitiesJvmParameterizedTypeReferenceParserRuleCall_2_2_2_0()); } pushFollow(FOLLOW_64); lv_capacities_17_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "capacities", lv_capacities_17_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:2957:5: (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* loop83: do { int alt83=2; int LA83_0 = input.LA(1); if ( (LA83_0==32) ) { alt83=1; } switch (alt83) { case 1 : // InternalSARL.g:2958:6: otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) { otherlv_18=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_18, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_2_3_0()); } // InternalSARL.g:2962:6: ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:2963:7: (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:2963:7: (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:2964:8: lv_capacities_19_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getCapacitiesJvmParameterizedTypeReferenceParserRuleCall_2_2_3_1_0()); } pushFollow(FOLLOW_64); lv_capacities_19_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "capacities", lv_capacities_19_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop83; } } while (true); // InternalSARL.g:2982:5: (otherlv_20= ';' )? int alt84=2; int LA84_0 = input.LA(1); if ( (LA84_0==26) ) { alt84=1; } switch (alt84) { case 1 : // InternalSARL.g:2983:6: otherlv_20= ';' { otherlv_20=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_20, grammarAccess.getAOPMemberAccess().getSemicolonKeyword_2_2_4()); } } break; } } } break; case 4 : // InternalSARL.g:2990:4: ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) { // InternalSARL.g:2990:4: ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) // InternalSARL.g:2991:5: () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? { // InternalSARL.g:2991:5: () // InternalSARL.g:2992:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAOPMemberAccess().getSarlFieldAnnotationInfoAction_2_3_0(), current); } } // InternalSARL.g:2998:5: ( (lv_modifiers_22_0= ruleCommonModifier ) )* loop85: do { int alt85=2; int LA85_0 = input.LA(1); if ( (LA85_0==25||(LA85_0>=69 && LA85_0<=80)) ) { alt85=1; } switch (alt85) { case 1 : // InternalSARL.g:2999:6: (lv_modifiers_22_0= ruleCommonModifier ) { // InternalSARL.g:2999:6: (lv_modifiers_22_0= ruleCommonModifier ) // InternalSARL.g:3000:7: lv_modifiers_22_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_3_1_0()); } pushFollow(FOLLOW_38); lv_modifiers_22_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_22_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop85; } } while (true); // InternalSARL.g:3017:5: ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) int alt90=2; int LA90_0 = input.LA(1); if ( (LA90_0==45) ) { alt90=1; } else if ( ((LA90_0>=61 && LA90_0<=62)) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 90, 0, input); throw nvae; } switch (alt90) { case 1 : // InternalSARL.g:3018:6: ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:3018:6: ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:3019:7: ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) { // InternalSARL.g:3019:7: ( (lv_modifiers_23_0= 'extension' ) ) // InternalSARL.g:3020:8: (lv_modifiers_23_0= 'extension' ) { // InternalSARL.g:3020:8: (lv_modifiers_23_0= 'extension' ) // InternalSARL.g:3021:9: lv_modifiers_23_0= 'extension' { lv_modifiers_23_0=(Token)match(input,45,FOLLOW_39); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_modifiers_23_0, grammarAccess.getAOPMemberAccess().getModifiersExtensionKeyword_2_3_2_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getAOPMemberRule()); } addWithLastConsumed(current, "modifiers", lv_modifiers_23_0, "extension"); } } } // InternalSARL.g:3033:7: ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* loop86: do { int alt86=3; int LA86_0 = input.LA(1); if ( ((LA86_0>=61 && LA86_0<=62)) ) { alt86=1; } else if ( (LA86_0==25||(LA86_0>=69 && LA86_0<=80)) ) { alt86=2; } switch (alt86) { case 1 : // InternalSARL.g:3034:8: ( (lv_modifiers_24_0= ruleFieldModifier ) ) { // InternalSARL.g:3034:8: ( (lv_modifiers_24_0= ruleFieldModifier ) ) // InternalSARL.g:3035:9: (lv_modifiers_24_0= ruleFieldModifier ) { // InternalSARL.g:3035:9: (lv_modifiers_24_0= ruleFieldModifier ) // InternalSARL.g:3036:10: lv_modifiers_24_0= ruleFieldModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersFieldModifierParserRuleCall_2_3_2_0_1_0_0()); } pushFollow(FOLLOW_39); lv_modifiers_24_0=ruleFieldModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_24_0, "org.eclipse.xtend.core.Xtend.FieldModifier"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:3054:8: ( (lv_modifiers_25_0= ruleCommonModifier ) ) { // InternalSARL.g:3054:8: ( (lv_modifiers_25_0= ruleCommonModifier ) ) // InternalSARL.g:3055:9: (lv_modifiers_25_0= ruleCommonModifier ) { // InternalSARL.g:3055:9: (lv_modifiers_25_0= ruleCommonModifier ) // InternalSARL.g:3056:10: lv_modifiers_25_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_3_2_0_1_1_0()); } pushFollow(FOLLOW_39); lv_modifiers_25_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_25_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } } break; default : break loop86; } } while (true); // InternalSARL.g:3074:7: ( (lv_name_26_0= ruleValidID ) ) // InternalSARL.g:3075:8: (lv_name_26_0= ruleValidID ) { // InternalSARL.g:3075:8: (lv_name_26_0= ruleValidID ) // InternalSARL.g:3076:9: lv_name_26_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_3_2_0_2_0()); } pushFollow(FOLLOW_40); lv_name_26_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "name", lv_name_26_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_27=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_27, grammarAccess.getAOPMemberAccess().getColonKeyword_2_3_2_0_3()); } // InternalSARL.g:3097:7: ( (lv_type_28_0= ruleJvmTypeReference ) ) // InternalSARL.g:3098:8: (lv_type_28_0= ruleJvmTypeReference ) { // InternalSARL.g:3098:8: (lv_type_28_0= ruleJvmTypeReference ) // InternalSARL.g:3099:9: lv_type_28_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_3_2_0_4_0()); } pushFollow(FOLLOW_42); lv_type_28_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "type", lv_type_28_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalSARL.g:3118:6: ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) { // InternalSARL.g:3118:6: ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) // InternalSARL.g:3119:7: ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) { // InternalSARL.g:3119:7: ( (lv_modifiers_29_0= ruleFieldModifier ) ) // InternalSARL.g:3120:8: (lv_modifiers_29_0= ruleFieldModifier ) { // InternalSARL.g:3120:8: (lv_modifiers_29_0= ruleFieldModifier ) // InternalSARL.g:3121:9: lv_modifiers_29_0= ruleFieldModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersFieldModifierParserRuleCall_2_3_2_1_0_0()); } pushFollow(FOLLOW_43); lv_modifiers_29_0=ruleFieldModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_29_0, "org.eclipse.xtend.core.Xtend.FieldModifier"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3138:7: ( (lv_modifiers_30_0= ruleCommonModifier ) )* loop87: do { int alt87=2; int LA87_0 = input.LA(1); if ( (LA87_0==25||(LA87_0>=69 && LA87_0<=80)) ) { alt87=1; } switch (alt87) { case 1 : // InternalSARL.g:3139:8: (lv_modifiers_30_0= ruleCommonModifier ) { // InternalSARL.g:3139:8: (lv_modifiers_30_0= ruleCommonModifier ) // InternalSARL.g:3140:9: lv_modifiers_30_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_3_2_1_1_0()); } pushFollow(FOLLOW_43); lv_modifiers_30_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_30_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop87; } } while (true); // InternalSARL.g:3157:7: ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) int alt89=2; int LA89_0 = input.LA(1); if ( (LA89_0==45) ) { alt89=1; } else if ( (LA89_0==RULE_ID||LA89_0==44||(LA89_0>=83 && LA89_0<=86)) ) { alt89=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 89, 0, input); throw nvae; } switch (alt89) { case 1 : // InternalSARL.g:3158:8: ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:3158:8: ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:3159:9: ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) { // InternalSARL.g:3159:9: ( (lv_modifiers_31_0= 'extension' ) ) // InternalSARL.g:3160:10: (lv_modifiers_31_0= 'extension' ) { // InternalSARL.g:3160:10: (lv_modifiers_31_0= 'extension' ) // InternalSARL.g:3161:11: lv_modifiers_31_0= 'extension' { lv_modifiers_31_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_modifiers_31_0, grammarAccess.getAOPMemberAccess().getModifiersExtensionKeyword_2_3_2_1_2_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getAOPMemberRule()); } addWithLastConsumed(current, "modifiers", lv_modifiers_31_0, "extension"); } } } // InternalSARL.g:3173:9: ( (lv_name_32_0= ruleValidID ) ) // InternalSARL.g:3174:10: (lv_name_32_0= ruleValidID ) { // InternalSARL.g:3174:10: (lv_name_32_0= ruleValidID ) // InternalSARL.g:3175:11: lv_name_32_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_3_2_1_2_0_1_0()); } pushFollow(FOLLOW_40); lv_name_32_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "name", lv_name_32_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_33=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_33, grammarAccess.getAOPMemberAccess().getColonKeyword_2_3_2_1_2_0_2()); } // InternalSARL.g:3196:9: ( (lv_type_34_0= ruleJvmTypeReference ) ) // InternalSARL.g:3197:10: (lv_type_34_0= ruleJvmTypeReference ) { // InternalSARL.g:3197:10: (lv_type_34_0= ruleJvmTypeReference ) // InternalSARL.g:3198:11: lv_type_34_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_3_2_1_2_0_3_0()); } pushFollow(FOLLOW_42); lv_type_34_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "type", lv_type_34_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalSARL.g:3217:8: ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) { // InternalSARL.g:3217:8: ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) // InternalSARL.g:3218:9: ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? { // InternalSARL.g:3218:9: ( (lv_name_35_0= ruleValidID ) ) // InternalSARL.g:3219:10: (lv_name_35_0= ruleValidID ) { // InternalSARL.g:3219:10: (lv_name_35_0= ruleValidID ) // InternalSARL.g:3220:11: lv_name_35_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_3_2_1_2_1_0_0()); } pushFollow(FOLLOW_44); lv_name_35_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "name", lv_name_35_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3237:9: (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? int alt88=2; int LA88_0 = input.LA(1); if ( (LA88_0==46) ) { alt88=1; } switch (alt88) { case 1 : // InternalSARL.g:3238:10: otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) { otherlv_36=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_36, grammarAccess.getAOPMemberAccess().getColonKeyword_2_3_2_1_2_1_1_0()); } // InternalSARL.g:3242:10: ( (lv_type_37_0= ruleJvmTypeReference ) ) // InternalSARL.g:3243:11: (lv_type_37_0= ruleJvmTypeReference ) { // InternalSARL.g:3243:11: (lv_type_37_0= ruleJvmTypeReference ) // InternalSARL.g:3244:12: lv_type_37_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_3_2_1_2_1_1_1_0()); } pushFollow(FOLLOW_42); lv_type_37_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "type", lv_type_37_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } } } break; } } } break; } // InternalSARL.g:3266:5: (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? int alt91=2; int LA91_0 = input.LA(1); if ( (LA91_0==47) ) { alt91=1; } switch (alt91) { case 1 : // InternalSARL.g:3267:6: otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) { otherlv_38=(Token)match(input,47,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_38, grammarAccess.getAOPMemberAccess().getEqualsSignKeyword_2_3_3_0()); } // InternalSARL.g:3271:6: ( (lv_initialValue_39_0= ruleXExpression ) ) // InternalSARL.g:3272:7: (lv_initialValue_39_0= ruleXExpression ) { // InternalSARL.g:3272:7: (lv_initialValue_39_0= ruleXExpression ) // InternalSARL.g:3273:8: lv_initialValue_39_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getInitialValueXExpressionParserRuleCall_2_3_3_1_0()); } pushFollow(FOLLOW_46); lv_initialValue_39_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "initialValue", lv_initialValue_39_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } // InternalSARL.g:3291:5: (otherlv_40= ';' )? int alt92=2; int LA92_0 = input.LA(1); if ( (LA92_0==26) ) { alt92=1; } switch (alt92) { case 1 : // InternalSARL.g:3292:6: otherlv_40= ';' { otherlv_40=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_40, grammarAccess.getAOPMemberAccess().getSemicolonKeyword_2_3_4()); } } break; } } } break; case 5 : // InternalSARL.g:3299:4: ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) { // InternalSARL.g:3299:4: ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) // InternalSARL.g:3300:5: () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) { // InternalSARL.g:3300:5: () // InternalSARL.g:3301:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAOPMemberAccess().getSarlConstructorAnnotationInfoAction_2_4_0(), current); } } // InternalSARL.g:3307:5: ( (lv_modifiers_42_0= ruleCommonModifier ) )* loop93: do { int alt93=2; int LA93_0 = input.LA(1); if ( (LA93_0==25||(LA93_0>=69 && LA93_0<=80)) ) { alt93=1; } switch (alt93) { case 1 : // InternalSARL.g:3308:6: (lv_modifiers_42_0= ruleCommonModifier ) { // InternalSARL.g:3308:6: (lv_modifiers_42_0= ruleCommonModifier ) // InternalSARL.g:3309:7: lv_modifiers_42_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_4_1_0()); } pushFollow(FOLLOW_47); lv_modifiers_42_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_42_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop93; } } while (true); otherlv_43=(Token)match(input,48,FOLLOW_48); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_43, grammarAccess.getAOPMemberAccess().getNewKeyword_2_4_2()); } // InternalSARL.g:3330:5: (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? int alt95=2; int LA95_0 = input.LA(1); if ( (LA95_0==40) ) { alt95=1; } switch (alt95) { case 1 : // InternalSARL.g:3331:6: otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' { otherlv_44=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_44, grammarAccess.getAOPMemberAccess().getLessThanSignKeyword_2_4_3_0()); } // InternalSARL.g:3335:6: ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) // InternalSARL.g:3336:7: (lv_typeParameters_45_0= ruleJvmTypeParameter ) { // InternalSARL.g:3336:7: (lv_typeParameters_45_0= ruleJvmTypeParameter ) // InternalSARL.g:3337:8: lv_typeParameters_45_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_3_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_45_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_45_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3354:6: (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* loop94: do { int alt94=2; int LA94_0 = input.LA(1); if ( (LA94_0==32) ) { alt94=1; } switch (alt94) { case 1 : // InternalSARL.g:3355:7: otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) { otherlv_46=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_46, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_4_3_2_0()); } // InternalSARL.g:3359:7: ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) // InternalSARL.g:3360:8: (lv_typeParameters_47_0= ruleJvmTypeParameter ) { // InternalSARL.g:3360:8: (lv_typeParameters_47_0= ruleJvmTypeParameter ) // InternalSARL.g:3361:9: lv_typeParameters_47_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_3_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_47_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_47_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop94; } } while (true); otherlv_48=(Token)match(input,41,FOLLOW_49); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_48, grammarAccess.getAOPMemberAccess().getGreaterThanSignKeyword_2_4_3_3()); } } break; } // InternalSARL.g:3384:5: (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? int alt98=2; int LA98_0 = input.LA(1); if ( (LA98_0==49) ) { alt98=1; } switch (alt98) { case 1 : // InternalSARL.g:3385:6: otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' { otherlv_49=(Token)match(input,49,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_49, grammarAccess.getAOPMemberAccess().getLeftParenthesisKeyword_2_4_4_0()); } // InternalSARL.g:3389:6: ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? int alt97=2; int LA97_0 = input.LA(1); if ( (LA97_0==RULE_ID||(LA97_0>=44 && LA97_0<=45)||(LA97_0>=83 && LA97_0<=86)||LA97_0==94) ) { alt97=1; } switch (alt97) { case 1 : // InternalSARL.g:3390:7: ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* { // InternalSARL.g:3390:7: ( (lv_parameters_50_0= ruleParameter ) ) // InternalSARL.g:3391:8: (lv_parameters_50_0= ruleParameter ) { // InternalSARL.g:3391:8: (lv_parameters_50_0= ruleParameter ) // InternalSARL.g:3392:9: lv_parameters_50_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getParametersParameterParserRuleCall_2_4_4_1_0_0()); } pushFollow(FOLLOW_51); lv_parameters_50_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "parameters", lv_parameters_50_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3409:7: (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* loop96: do { int alt96=2; int LA96_0 = input.LA(1); if ( (LA96_0==32) ) { alt96=1; } switch (alt96) { case 1 : // InternalSARL.g:3410:8: otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) { otherlv_51=(Token)match(input,32,FOLLOW_52); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_51, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_4_4_1_1_0()); } // InternalSARL.g:3414:8: ( (lv_parameters_52_0= ruleParameter ) ) // InternalSARL.g:3415:9: (lv_parameters_52_0= ruleParameter ) { // InternalSARL.g:3415:9: (lv_parameters_52_0= ruleParameter ) // InternalSARL.g:3416:10: lv_parameters_52_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getParametersParameterParserRuleCall_2_4_4_1_1_1_0()); } pushFollow(FOLLOW_51); lv_parameters_52_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "parameters", lv_parameters_52_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop96; } } while (true); } break; } otherlv_53=(Token)match(input,50,FOLLOW_53); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_53, grammarAccess.getAOPMemberAccess().getRightParenthesisKeyword_2_4_4_2()); } } break; } // InternalSARL.g:3440:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:3441:6: ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:3441:6: ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:3442:7: ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5()); // InternalSARL.g:3445:7: ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) // InternalSARL.g:3446:8: ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* { // InternalSARL.g:3446:8: ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* loop101: do { int alt101=3; int LA101_0 = input.LA(1); if ( LA101_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 0) ) { alt101=1; } else if ( LA101_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 1) ) { alt101=2; } switch (alt101) { case 1 : // InternalSARL.g:3447:6: ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:3447:6: ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) // InternalSARL.g:3448:7: {...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 0)"); } // InternalSARL.g:3448:112: ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) // InternalSARL.g:3449:8: ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 0); // InternalSARL.g:3452:11: ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) // InternalSARL.g:3452:12: {...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "true"); } // InternalSARL.g:3452:21: (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) // InternalSARL.g:3452:22: otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* { otherlv_55=(Token)match(input,51,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_55, grammarAccess.getAOPMemberAccess().getThrowsKeyword_2_4_5_0_0()); } // InternalSARL.g:3456:11: ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) // InternalSARL.g:3457:12: (lv_exceptions_56_0= ruleJvmTypeReference ) { // InternalSARL.g:3457:12: (lv_exceptions_56_0= ruleJvmTypeReference ) // InternalSARL.g:3458:13: lv_exceptions_56_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_4_5_0_1_0()); } pushFollow(FOLLOW_54); lv_exceptions_56_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "exceptions", lv_exceptions_56_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3475:11: (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* loop99: do { int alt99=2; int LA99_0 = input.LA(1); if ( (LA99_0==32) ) { alt99=1; } switch (alt99) { case 1 : // InternalSARL.g:3476:12: otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) { otherlv_57=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_57, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_4_5_0_2_0()); } // InternalSARL.g:3480:12: ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) // InternalSARL.g:3481:13: (lv_exceptions_58_0= ruleJvmTypeReference ) { // InternalSARL.g:3481:13: (lv_exceptions_58_0= ruleJvmTypeReference ) // InternalSARL.g:3482:14: lv_exceptions_58_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_4_5_0_2_1_0()); } pushFollow(FOLLOW_54); lv_exceptions_58_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "exceptions", lv_exceptions_58_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop99; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5()); } } } break; case 2 : // InternalSARL.g:3506:6: ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) { // InternalSARL.g:3506:6: ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) // InternalSARL.g:3507:7: {...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 1)"); } // InternalSARL.g:3507:112: ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) // InternalSARL.g:3508:8: ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5(), 1); // InternalSARL.g:3511:11: ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) // InternalSARL.g:3511:12: {...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "true"); } // InternalSARL.g:3511:21: (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) // InternalSARL.g:3511:22: otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* { otherlv_59=(Token)match(input,52,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_59, grammarAccess.getAOPMemberAccess().getWithKeyword_2_4_5_1_0()); } // InternalSARL.g:3515:11: ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) // InternalSARL.g:3516:12: (lv_typeParameters_60_0= ruleJvmTypeParameter ) { // InternalSARL.g:3516:12: (lv_typeParameters_60_0= ruleJvmTypeParameter ) // InternalSARL.g:3517:13: lv_typeParameters_60_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_5_1_1_0()); } pushFollow(FOLLOW_54); lv_typeParameters_60_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_60_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3534:11: (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* loop100: do { int alt100=2; int LA100_0 = input.LA(1); if ( (LA100_0==32) ) { alt100=1; } switch (alt100) { case 1 : // InternalSARL.g:3535:12: otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) { otherlv_61=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_61, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_4_5_1_2_0()); } // InternalSARL.g:3539:12: ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) // InternalSARL.g:3540:13: (lv_typeParameters_62_0= ruleJvmTypeParameter ) { // InternalSARL.g:3540:13: (lv_typeParameters_62_0= ruleJvmTypeParameter ) // InternalSARL.g:3541:14: lv_typeParameters_62_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_5_1_2_1_0()); } pushFollow(FOLLOW_54); lv_typeParameters_62_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_62_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop100; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5()); } } } break; default : break loop101; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_4_5()); } // InternalSARL.g:3572:5: ( (lv_expression_63_0= ruleXBlockExpression ) ) // InternalSARL.g:3573:6: (lv_expression_63_0= ruleXBlockExpression ) { // InternalSARL.g:3573:6: (lv_expression_63_0= ruleXBlockExpression ) // InternalSARL.g:3574:7: lv_expression_63_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_4_6_0()); } pushFollow(FOLLOW_2); lv_expression_63_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "expression", lv_expression_63_0, "org.eclipse.xtext.xbase.Xbase.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } break; case 6 : // InternalSARL.g:3593:4: ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) { // InternalSARL.g:3593:4: ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) // InternalSARL.g:3594:5: () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? { // InternalSARL.g:3594:5: () // InternalSARL.g:3595:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAOPMemberAccess().getSarlActionAnnotationInfoAction_2_5_0(), current); } } // InternalSARL.g:3601:5: ( (lv_modifiers_65_0= ruleCommonModifier ) )* loop102: do { int alt102=2; int LA102_0 = input.LA(1); if ( (LA102_0==25||(LA102_0>=69 && LA102_0<=80)) ) { alt102=1; } switch (alt102) { case 1 : // InternalSARL.g:3602:6: (lv_modifiers_65_0= ruleCommonModifier ) { // InternalSARL.g:3602:6: (lv_modifiers_65_0= ruleCommonModifier ) // InternalSARL.g:3603:7: lv_modifiers_65_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_5_1_0()); } pushFollow(FOLLOW_55); lv_modifiers_65_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_65_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop102; } } while (true); // InternalSARL.g:3620:5: ( (lv_modifiers_66_0= ruleMethodModifier ) ) // InternalSARL.g:3621:6: (lv_modifiers_66_0= ruleMethodModifier ) { // InternalSARL.g:3621:6: (lv_modifiers_66_0= ruleMethodModifier ) // InternalSARL.g:3622:7: lv_modifiers_66_0= ruleMethodModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersMethodModifierParserRuleCall_2_5_2_0()); } pushFollow(FOLLOW_65); lv_modifiers_66_0=ruleMethodModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_66_0, "org.eclipse.xtend.core.Xtend.MethodModifier"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3639:5: ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* loop103: do { int alt103=3; int LA103_0 = input.LA(1); if ( (LA103_0==25||(LA103_0>=69 && LA103_0<=80)) ) { alt103=1; } else if ( ((LA103_0>=81 && LA103_0<=82)) ) { alt103=2; } switch (alt103) { case 1 : // InternalSARL.g:3640:6: ( (lv_modifiers_67_0= ruleCommonModifier ) ) { // InternalSARL.g:3640:6: ( (lv_modifiers_67_0= ruleCommonModifier ) ) // InternalSARL.g:3641:7: (lv_modifiers_67_0= ruleCommonModifier ) { // InternalSARL.g:3641:7: (lv_modifiers_67_0= ruleCommonModifier ) // InternalSARL.g:3642:8: lv_modifiers_67_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_5_3_0_0()); } pushFollow(FOLLOW_65); lv_modifiers_67_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_67_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:3660:6: ( (lv_modifiers_68_0= ruleMethodModifier ) ) { // InternalSARL.g:3660:6: ( (lv_modifiers_68_0= ruleMethodModifier ) ) // InternalSARL.g:3661:7: (lv_modifiers_68_0= ruleMethodModifier ) { // InternalSARL.g:3661:7: (lv_modifiers_68_0= ruleMethodModifier ) // InternalSARL.g:3662:8: lv_modifiers_68_0= ruleMethodModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersMethodModifierParserRuleCall_2_5_3_1_0()); } pushFollow(FOLLOW_65); lv_modifiers_68_0=ruleMethodModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_68_0, "org.eclipse.xtend.core.Xtend.MethodModifier"); afterParserOrEnumRuleCall(); } } } } break; default : break loop103; } } while (true); // InternalSARL.g:3680:5: (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? int alt105=2; int LA105_0 = input.LA(1); if ( (LA105_0==40) ) { int LA105_1 = input.LA(2); if ( (LA105_1==RULE_ID||(LA105_1>=83 && LA105_1<=86)) ) { alt105=1; } else if ( (LA105_1==44) ) { int LA105_4 = input.LA(3); if ( (LA105_4==28||LA105_4==32||LA105_4==41) ) { alt105=1; } } } switch (alt105) { case 1 : // InternalSARL.g:3681:6: otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' { otherlv_69=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_69, grammarAccess.getAOPMemberAccess().getLessThanSignKeyword_2_5_4_0()); } // InternalSARL.g:3685:6: ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) // InternalSARL.g:3686:7: (lv_typeParameters_70_0= ruleJvmTypeParameter ) { // InternalSARL.g:3686:7: (lv_typeParameters_70_0= ruleJvmTypeParameter ) // InternalSARL.g:3687:8: lv_typeParameters_70_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_5_4_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_70_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_70_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3704:6: (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* loop104: do { int alt104=2; int LA104_0 = input.LA(1); if ( (LA104_0==32) ) { alt104=1; } switch (alt104) { case 1 : // InternalSARL.g:3705:7: otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) { otherlv_71=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_71, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_5_4_2_0()); } // InternalSARL.g:3709:7: ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) // InternalSARL.g:3710:8: (lv_typeParameters_72_0= ruleJvmTypeParameter ) { // InternalSARL.g:3710:8: (lv_typeParameters_72_0= ruleJvmTypeParameter ) // InternalSARL.g:3711:9: lv_typeParameters_72_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_5_4_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_72_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_72_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop104; } } while (true); otherlv_73=(Token)match(input,41,FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_73, grammarAccess.getAOPMemberAccess().getGreaterThanSignKeyword_2_5_4_3()); } } break; } // InternalSARL.g:3734:5: ( (lv_name_74_0= ruleFunctionID ) ) // InternalSARL.g:3735:6: (lv_name_74_0= ruleFunctionID ) { // InternalSARL.g:3735:6: (lv_name_74_0= ruleFunctionID ) // InternalSARL.g:3736:7: lv_name_74_0= ruleFunctionID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getNameFunctionIDParserRuleCall_2_5_5_0()); } pushFollow(FOLLOW_57); lv_name_74_0=ruleFunctionID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "name", lv_name_74_0, "org.eclipse.xtend.core.Xtend.FunctionID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3753:5: (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? int alt108=2; int LA108_0 = input.LA(1); if ( (LA108_0==49) ) { alt108=1; } switch (alt108) { case 1 : // InternalSARL.g:3754:6: otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' { otherlv_75=(Token)match(input,49,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_75, grammarAccess.getAOPMemberAccess().getLeftParenthesisKeyword_2_5_6_0()); } // InternalSARL.g:3758:6: ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? int alt107=2; int LA107_0 = input.LA(1); if ( (LA107_0==RULE_ID||(LA107_0>=44 && LA107_0<=45)||(LA107_0>=83 && LA107_0<=86)||LA107_0==94) ) { alt107=1; } switch (alt107) { case 1 : // InternalSARL.g:3759:7: ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* { // InternalSARL.g:3759:7: ( (lv_parameters_76_0= ruleParameter ) ) // InternalSARL.g:3760:8: (lv_parameters_76_0= ruleParameter ) { // InternalSARL.g:3760:8: (lv_parameters_76_0= ruleParameter ) // InternalSARL.g:3761:9: lv_parameters_76_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getParametersParameterParserRuleCall_2_5_6_1_0_0()); } pushFollow(FOLLOW_51); lv_parameters_76_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "parameters", lv_parameters_76_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3778:7: (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* loop106: do { int alt106=2; int LA106_0 = input.LA(1); if ( (LA106_0==32) ) { alt106=1; } switch (alt106) { case 1 : // InternalSARL.g:3779:8: otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) { otherlv_77=(Token)match(input,32,FOLLOW_52); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_77, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_5_6_1_1_0()); } // InternalSARL.g:3783:8: ( (lv_parameters_78_0= ruleParameter ) ) // InternalSARL.g:3784:9: (lv_parameters_78_0= ruleParameter ) { // InternalSARL.g:3784:9: (lv_parameters_78_0= ruleParameter ) // InternalSARL.g:3785:10: lv_parameters_78_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getParametersParameterParserRuleCall_2_5_6_1_1_1_0()); } pushFollow(FOLLOW_51); lv_parameters_78_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "parameters", lv_parameters_78_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop106; } } while (true); } break; } otherlv_79=(Token)match(input,50,FOLLOW_58); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_79, grammarAccess.getAOPMemberAccess().getRightParenthesisKeyword_2_5_6_2()); } } break; } // InternalSARL.g:3809:5: (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? int alt110=2; int LA110_0 = input.LA(1); if ( (LA110_0==46) ) { alt110=1; } switch (alt110) { case 1 : // InternalSARL.g:3810:6: otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) { otherlv_80=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_80, grammarAccess.getAOPMemberAccess().getColonKeyword_2_5_7_0()); } // InternalSARL.g:3814:6: ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) int alt109=2; alt109 = dfa109.predict(input); switch (alt109) { case 1 : // InternalSARL.g:3815:7: ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) { // InternalSARL.g:3815:7: ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) // InternalSARL.g:3816:8: (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) { // InternalSARL.g:3816:8: (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) // InternalSARL.g:3817:9: lv_returnType_81_0= ruleTypeReferenceWithTypeArgs { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getReturnTypeTypeReferenceWithTypeArgsParserRuleCall_2_5_7_1_0_0()); } pushFollow(FOLLOW_59); lv_returnType_81_0=ruleTypeReferenceWithTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "returnType", lv_returnType_81_0, "org.eclipse.xtend.core.Xtend.TypeReferenceWithTypeArgs"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:3835:7: ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) { // InternalSARL.g:3835:7: ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) // InternalSARL.g:3836:8: (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) { // InternalSARL.g:3836:8: (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) // InternalSARL.g:3837:9: lv_returnType_82_0= ruleTypeReferenceNoTypeArgs { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getReturnTypeTypeReferenceNoTypeArgsParserRuleCall_2_5_7_1_1_0()); } pushFollow(FOLLOW_59); lv_returnType_82_0=ruleTypeReferenceNoTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "returnType", lv_returnType_82_0, "org.eclipse.xtend.core.Xtend.TypeReferenceNoTypeArgs"); afterParserOrEnumRuleCall(); } } } } break; } } break; } // InternalSARL.g:3856:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:3857:6: ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:3857:6: ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:3858:7: ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8()); // InternalSARL.g:3861:7: ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) // InternalSARL.g:3862:8: ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* { // InternalSARL.g:3862:8: ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* loop114: do { int alt114=4; int LA114_0 = input.LA(1); if ( LA114_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 0) ) { alt114=1; } else if ( LA114_0 == 53 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 1) ) { alt114=2; } else if ( LA114_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 2) ) { alt114=3; } switch (alt114) { case 1 : // InternalSARL.g:3863:6: ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:3863:6: ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) // InternalSARL.g:3864:7: {...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 0)"); } // InternalSARL.g:3864:112: ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) // InternalSARL.g:3865:8: ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 0); // InternalSARL.g:3868:11: ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) // InternalSARL.g:3868:12: {...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "true"); } // InternalSARL.g:3868:21: (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) // InternalSARL.g:3868:22: otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* { otherlv_84=(Token)match(input,51,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_84, grammarAccess.getAOPMemberAccess().getThrowsKeyword_2_5_8_0_0()); } // InternalSARL.g:3872:11: ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) // InternalSARL.g:3873:12: (lv_exceptions_85_0= ruleJvmTypeReference ) { // InternalSARL.g:3873:12: (lv_exceptions_85_0= ruleJvmTypeReference ) // InternalSARL.g:3874:13: lv_exceptions_85_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_5_8_0_1_0()); } pushFollow(FOLLOW_60); lv_exceptions_85_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "exceptions", lv_exceptions_85_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3891:11: (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* loop111: do { int alt111=2; int LA111_0 = input.LA(1); if ( (LA111_0==32) ) { alt111=1; } switch (alt111) { case 1 : // InternalSARL.g:3892:12: otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) { otherlv_86=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_86, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_5_8_0_2_0()); } // InternalSARL.g:3896:12: ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) // InternalSARL.g:3897:13: (lv_exceptions_87_0= ruleJvmTypeReference ) { // InternalSARL.g:3897:13: (lv_exceptions_87_0= ruleJvmTypeReference ) // InternalSARL.g:3898:14: lv_exceptions_87_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_5_8_0_2_1_0()); } pushFollow(FOLLOW_60); lv_exceptions_87_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "exceptions", lv_exceptions_87_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop111; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8()); } } } break; case 2 : // InternalSARL.g:3922:6: ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:3922:6: ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) // InternalSARL.g:3923:7: {...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 1)"); } // InternalSARL.g:3923:112: ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) // InternalSARL.g:3924:8: ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 1); // InternalSARL.g:3927:11: ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) // InternalSARL.g:3927:12: {...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "true"); } // InternalSARL.g:3927:21: (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) // InternalSARL.g:3927:22: otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* { otherlv_88=(Token)match(input,53,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_88, grammarAccess.getAOPMemberAccess().getFiresKeyword_2_5_8_1_0()); } // InternalSARL.g:3931:11: ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) // InternalSARL.g:3932:12: (lv_firedEvents_89_0= ruleJvmTypeReference ) { // InternalSARL.g:3932:12: (lv_firedEvents_89_0= ruleJvmTypeReference ) // InternalSARL.g:3933:13: lv_firedEvents_89_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_2_5_8_1_1_0()); } pushFollow(FOLLOW_60); lv_firedEvents_89_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "firedEvents", lv_firedEvents_89_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:3950:11: (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* loop112: do { int alt112=2; int LA112_0 = input.LA(1); if ( (LA112_0==32) ) { alt112=1; } switch (alt112) { case 1 : // InternalSARL.g:3951:12: otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) { otherlv_90=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_90, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_5_8_1_2_0()); } // InternalSARL.g:3955:12: ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) // InternalSARL.g:3956:13: (lv_firedEvents_91_0= ruleJvmTypeReference ) { // InternalSARL.g:3956:13: (lv_firedEvents_91_0= ruleJvmTypeReference ) // InternalSARL.g:3957:14: lv_firedEvents_91_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_2_5_8_1_2_1_0()); } pushFollow(FOLLOW_60); lv_firedEvents_91_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "firedEvents", lv_firedEvents_91_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop112; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8()); } } } break; case 3 : // InternalSARL.g:3981:6: ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) { // InternalSARL.g:3981:6: ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) // InternalSARL.g:3982:7: {...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 2) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 2)"); } // InternalSARL.g:3982:112: ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) // InternalSARL.g:3983:8: ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8(), 2); // InternalSARL.g:3986:11: ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) // InternalSARL.g:3986:12: {...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "true"); } // InternalSARL.g:3986:21: (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) // InternalSARL.g:3986:22: otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* { otherlv_92=(Token)match(input,52,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_92, grammarAccess.getAOPMemberAccess().getWithKeyword_2_5_8_2_0()); } // InternalSARL.g:3990:11: ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) // InternalSARL.g:3991:12: (lv_typeParameters_93_0= ruleJvmTypeParameter ) { // InternalSARL.g:3991:12: (lv_typeParameters_93_0= ruleJvmTypeParameter ) // InternalSARL.g:3992:13: lv_typeParameters_93_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_5_8_2_1_0()); } pushFollow(FOLLOW_60); lv_typeParameters_93_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_93_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:4009:11: (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* loop113: do { int alt113=2; int LA113_0 = input.LA(1); if ( (LA113_0==32) ) { alt113=1; } switch (alt113) { case 1 : // InternalSARL.g:4010:12: otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) { otherlv_94=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_94, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_5_8_2_2_0()); } // InternalSARL.g:4014:12: ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) // InternalSARL.g:4015:13: (lv_typeParameters_95_0= ruleJvmTypeParameter ) { // InternalSARL.g:4015:13: (lv_typeParameters_95_0= ruleJvmTypeParameter ) // InternalSARL.g:4016:14: lv_typeParameters_95_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_5_8_2_2_1_0()); } pushFollow(FOLLOW_60); lv_typeParameters_95_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_95_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop113; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8()); } } } break; default : break loop114; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_5_8()); } // InternalSARL.g:4047:5: ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? int alt115=3; int LA115_0 = input.LA(1); if ( (LA115_0==29) ) { alt115=1; } else if ( (LA115_0==26) ) { alt115=2; } switch (alt115) { case 1 : // InternalSARL.g:4048:6: ( (lv_expression_96_0= ruleXBlockExpression ) ) { // InternalSARL.g:4048:6: ( (lv_expression_96_0= ruleXBlockExpression ) ) // InternalSARL.g:4049:7: (lv_expression_96_0= ruleXBlockExpression ) { // InternalSARL.g:4049:7: (lv_expression_96_0= ruleXBlockExpression ) // InternalSARL.g:4050:8: lv_expression_96_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_5_9_0_0()); } pushFollow(FOLLOW_2); lv_expression_96_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "expression", lv_expression_96_0, "org.eclipse.xtext.xbase.Xbase.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:4068:6: otherlv_97= ';' { otherlv_97=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_97, grammarAccess.getAOPMemberAccess().getSemicolonKeyword_2_5_9_1()); } } break; } } } break; case 7 : // InternalSARL.g:4075:4: ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) { // InternalSARL.g:4075:4: ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) // InternalSARL.g:4076:5: () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' { // InternalSARL.g:4076:5: () // InternalSARL.g:4077:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAOPMemberAccess().getSarlClassAnnotationInfoAction_2_6_0(), current); } } // InternalSARL.g:4083:5: ( (lv_modifiers_99_0= ruleCommonModifier ) )* loop116: do { int alt116=2; int LA116_0 = input.LA(1); if ( (LA116_0==25||(LA116_0>=69 && LA116_0<=80)) ) { alt116=1; } switch (alt116) { case 1 : // InternalSARL.g:4084:6: (lv_modifiers_99_0= ruleCommonModifier ) { // InternalSARL.g:4084:6: (lv_modifiers_99_0= ruleCommonModifier ) // InternalSARL.g:4085:7: lv_modifiers_99_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_6_1_0()); } pushFollow(FOLLOW_26); lv_modifiers_99_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_99_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop116; } } while (true); otherlv_100=(Token)match(input,39,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_100, grammarAccess.getAOPMemberAccess().getClassKeyword_2_6_2()); } // InternalSARL.g:4106:5: ( (lv_name_101_0= ruleValidID ) ) // InternalSARL.g:4107:6: (lv_name_101_0= ruleValidID ) { // InternalSARL.g:4107:6: (lv_name_101_0= ruleValidID ) // InternalSARL.g:4108:7: lv_name_101_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_6_3_0()); } pushFollow(FOLLOW_27); lv_name_101_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "name", lv_name_101_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:4125:5: (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? int alt118=2; int LA118_0 = input.LA(1); if ( (LA118_0==40) ) { alt118=1; } switch (alt118) { case 1 : // InternalSARL.g:4126:6: otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' { otherlv_102=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_102, grammarAccess.getAOPMemberAccess().getLessThanSignKeyword_2_6_4_0()); } // InternalSARL.g:4130:6: ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) // InternalSARL.g:4131:7: (lv_typeParameters_103_0= ruleJvmTypeParameter ) { // InternalSARL.g:4131:7: (lv_typeParameters_103_0= ruleJvmTypeParameter ) // InternalSARL.g:4132:8: lv_typeParameters_103_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_6_4_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_103_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_103_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:4149:6: (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* loop117: do { int alt117=2; int LA117_0 = input.LA(1); if ( (LA117_0==32) ) { alt117=1; } switch (alt117) { case 1 : // InternalSARL.g:4150:7: otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) { otherlv_104=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_104, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_6_4_2_0()); } // InternalSARL.g:4154:7: ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) // InternalSARL.g:4155:8: (lv_typeParameters_105_0= ruleJvmTypeParameter ) { // InternalSARL.g:4155:8: (lv_typeParameters_105_0= ruleJvmTypeParameter ) // InternalSARL.g:4156:9: lv_typeParameters_105_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_6_4_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_105_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_105_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop117; } } while (true); otherlv_106=(Token)match(input,41,FOLLOW_21); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_106, grammarAccess.getAOPMemberAccess().getGreaterThanSignKeyword_2_6_4_3()); } } break; } // InternalSARL.g:4179:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:4180:6: ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:4180:6: ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:4181:7: ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5()); // InternalSARL.g:4184:7: ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) // InternalSARL.g:4185:8: ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* { // InternalSARL.g:4185:8: ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* loop120: do { int alt120=3; int LA120_0 = input.LA(1); if ( LA120_0 == 28 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 0) ) { alt120=1; } else if ( LA120_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 1) ) { alt120=2; } switch (alt120) { case 1 : // InternalSARL.g:4186:6: ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) { // InternalSARL.g:4186:6: ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) // InternalSARL.g:4187:7: {...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 0)"); } // InternalSARL.g:4187:112: ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) // InternalSARL.g:4188:8: ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 0); // InternalSARL.g:4191:11: ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) // InternalSARL.g:4191:12: {...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "true"); } // InternalSARL.g:4191:21: (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) // InternalSARL.g:4191:22: otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) { otherlv_108=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_108, grammarAccess.getAOPMemberAccess().getExtendsKeyword_2_6_5_0_0()); } // InternalSARL.g:4195:11: ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:4196:12: (lv_extends_109_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:4196:12: (lv_extends_109_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:4197:13: lv_extends_109_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_6_5_0_1_0()); } pushFollow(FOLLOW_21); lv_extends_109_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "extends", lv_extends_109_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5()); } } } break; case 2 : // InternalSARL.g:4220:6: ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:4220:6: ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) // InternalSARL.g:4221:7: {...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 1)"); } // InternalSARL.g:4221:112: ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) // InternalSARL.g:4222:8: ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5(), 1); // InternalSARL.g:4225:11: ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) // InternalSARL.g:4225:12: {...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAOPMember", "true"); } // InternalSARL.g:4225:21: (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) // InternalSARL.g:4225:22: otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* { otherlv_110=(Token)match(input,36,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_110, grammarAccess.getAOPMemberAccess().getImplementsKeyword_2_6_5_1_0()); } // InternalSARL.g:4229:11: ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:4230:12: (lv_implements_111_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:4230:12: (lv_implements_111_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:4231:13: lv_implements_111_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_6_5_1_1_0()); } pushFollow(FOLLOW_22); lv_implements_111_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "implements", lv_implements_111_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:4248:11: (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* loop119: do { int alt119=2; int LA119_0 = input.LA(1); if ( (LA119_0==32) ) { alt119=1; } switch (alt119) { case 1 : // InternalSARL.g:4249:12: otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) { otherlv_112=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_112, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_6_5_1_2_0()); } // InternalSARL.g:4253:12: ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:4254:13: (lv_implements_113_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:4254:13: (lv_implements_113_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:4255:14: lv_implements_113_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_6_5_1_2_1_0()); } pushFollow(FOLLOW_22); lv_implements_113_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "implements", lv_implements_113_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop119; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5()); } } } break; default : break loop120; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getAOPMemberAccess().getUnorderedGroup_2_6_5()); } otherlv_114=(Token)match(input,29,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_114, grammarAccess.getAOPMemberAccess().getLeftCurlyBracketKeyword_2_6_6()); } // InternalSARL.g:4290:5: ( (lv_members_115_0= ruleMember ) )* loop121: do { int alt121=2; int LA121_0 = input.LA(1); if ( (LA121_0==25||LA121_0==39||(LA121_0>=42 && LA121_0<=45)||LA121_0==48||(LA121_0>=61 && LA121_0<=62)||(LA121_0>=69 && LA121_0<=82)||LA121_0==94) ) { alt121=1; } switch (alt121) { case 1 : // InternalSARL.g:4291:6: (lv_members_115_0= ruleMember ) { // InternalSARL.g:4291:6: (lv_members_115_0= ruleMember ) // InternalSARL.g:4292:7: lv_members_115_0= ruleMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getMembersMemberParserRuleCall_2_6_7_0()); } pushFollow(FOLLOW_29); lv_members_115_0=ruleMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "members", lv_members_115_0, "io.sarl.lang.SARL.Member"); afterParserOrEnumRuleCall(); } } } break; default : break loop121; } } while (true); otherlv_116=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_116, grammarAccess.getAOPMemberAccess().getRightCurlyBracketKeyword_2_6_8()); } } } break; case 8 : // InternalSARL.g:4315:4: ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) { // InternalSARL.g:4315:4: ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) // InternalSARL.g:4316:5: () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' { // InternalSARL.g:4316:5: () // InternalSARL.g:4317:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAOPMemberAccess().getSarlInterfaceAnnotationInfoAction_2_7_0(), current); } } // InternalSARL.g:4323:5: ( (lv_modifiers_118_0= ruleCommonModifier ) )* loop122: do { int alt122=2; int LA122_0 = input.LA(1); if ( (LA122_0==25||(LA122_0>=69 && LA122_0<=80)) ) { alt122=1; } switch (alt122) { case 1 : // InternalSARL.g:4324:6: (lv_modifiers_118_0= ruleCommonModifier ) { // InternalSARL.g:4324:6: (lv_modifiers_118_0= ruleCommonModifier ) // InternalSARL.g:4325:7: lv_modifiers_118_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_7_1_0()); } pushFollow(FOLLOW_30); lv_modifiers_118_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_118_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop122; } } while (true); otherlv_119=(Token)match(input,42,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_119, grammarAccess.getAOPMemberAccess().getInterfaceKeyword_2_7_2()); } // InternalSARL.g:4346:5: ( (lv_name_120_0= ruleValidID ) ) // InternalSARL.g:4347:6: (lv_name_120_0= ruleValidID ) { // InternalSARL.g:4347:6: (lv_name_120_0= ruleValidID ) // InternalSARL.g:4348:7: lv_name_120_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_7_3_0()); } pushFollow(FOLLOW_31); lv_name_120_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "name", lv_name_120_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:4365:5: (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? int alt124=2; int LA124_0 = input.LA(1); if ( (LA124_0==40) ) { alt124=1; } switch (alt124) { case 1 : // InternalSARL.g:4366:6: otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' { otherlv_121=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_121, grammarAccess.getAOPMemberAccess().getLessThanSignKeyword_2_7_4_0()); } // InternalSARL.g:4370:6: ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) // InternalSARL.g:4371:7: (lv_typeParameters_122_0= ruleJvmTypeParameter ) { // InternalSARL.g:4371:7: (lv_typeParameters_122_0= ruleJvmTypeParameter ) // InternalSARL.g:4372:8: lv_typeParameters_122_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_7_4_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_122_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_122_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:4389:6: (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* loop123: do { int alt123=2; int LA123_0 = input.LA(1); if ( (LA123_0==32) ) { alt123=1; } switch (alt123) { case 1 : // InternalSARL.g:4390:7: otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) { otherlv_123=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_123, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_7_4_2_0()); } // InternalSARL.g:4394:7: ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) // InternalSARL.g:4395:8: (lv_typeParameters_124_0= ruleJvmTypeParameter ) { // InternalSARL.g:4395:8: (lv_typeParameters_124_0= ruleJvmTypeParameter ) // InternalSARL.g:4396:9: lv_typeParameters_124_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_7_4_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_124_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "typeParameters", lv_typeParameters_124_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop123; } } while (true); otherlv_125=(Token)match(input,41,FOLLOW_13); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_125, grammarAccess.getAOPMemberAccess().getGreaterThanSignKeyword_2_7_4_3()); } } break; } // InternalSARL.g:4419:5: (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? int alt126=2; int LA126_0 = input.LA(1); if ( (LA126_0==28) ) { alt126=1; } switch (alt126) { case 1 : // InternalSARL.g:4420:6: otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* { otherlv_126=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_126, grammarAccess.getAOPMemberAccess().getExtendsKeyword_2_7_5_0()); } // InternalSARL.g:4424:6: ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:4425:7: (lv_extends_127_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:4425:7: (lv_extends_127_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:4426:8: lv_extends_127_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_7_5_1_0()); } pushFollow(FOLLOW_14); lv_extends_127_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "extends", lv_extends_127_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:4443:6: (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* loop125: do { int alt125=2; int LA125_0 = input.LA(1); if ( (LA125_0==32) ) { alt125=1; } switch (alt125) { case 1 : // InternalSARL.g:4444:7: otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) { otherlv_128=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_128, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_7_5_2_0()); } // InternalSARL.g:4448:7: ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:4449:8: (lv_extends_129_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:4449:8: (lv_extends_129_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:4450:9: lv_extends_129_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_7_5_2_1_0()); } pushFollow(FOLLOW_14); lv_extends_129_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "extends", lv_extends_129_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop125; } } while (true); } break; } otherlv_130=(Token)match(input,29,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_130, grammarAccess.getAOPMemberAccess().getLeftCurlyBracketKeyword_2_7_6()); } // InternalSARL.g:4473:5: ( (lv_members_131_0= ruleMember ) )* loop127: do { int alt127=2; int LA127_0 = input.LA(1); if ( (LA127_0==25||LA127_0==39||(LA127_0>=42 && LA127_0<=45)||LA127_0==48||(LA127_0>=61 && LA127_0<=62)||(LA127_0>=69 && LA127_0<=82)||LA127_0==94) ) { alt127=1; } switch (alt127) { case 1 : // InternalSARL.g:4474:6: (lv_members_131_0= ruleMember ) { // InternalSARL.g:4474:6: (lv_members_131_0= ruleMember ) // InternalSARL.g:4475:7: lv_members_131_0= ruleMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getMembersMemberParserRuleCall_2_7_7_0()); } pushFollow(FOLLOW_29); lv_members_131_0=ruleMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "members", lv_members_131_0, "io.sarl.lang.SARL.Member"); afterParserOrEnumRuleCall(); } } } break; default : break loop127; } } while (true); otherlv_132=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_132, grammarAccess.getAOPMemberAccess().getRightCurlyBracketKeyword_2_7_8()); } } } break; case 9 : // InternalSARL.g:4498:4: ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) { // InternalSARL.g:4498:4: ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) // InternalSARL.g:4499:5: () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' { // InternalSARL.g:4499:5: () // InternalSARL.g:4500:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAOPMemberAccess().getSarlEnumerationAnnotationInfoAction_2_8_0(), current); } } // InternalSARL.g:4506:5: ( (lv_modifiers_134_0= ruleCommonModifier ) )* loop128: do { int alt128=2; int LA128_0 = input.LA(1); if ( (LA128_0==25||(LA128_0>=69 && LA128_0<=80)) ) { alt128=1; } switch (alt128) { case 1 : // InternalSARL.g:4507:6: (lv_modifiers_134_0= ruleCommonModifier ) { // InternalSARL.g:4507:6: (lv_modifiers_134_0= ruleCommonModifier ) // InternalSARL.g:4508:7: lv_modifiers_134_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_8_1_0()); } pushFollow(FOLLOW_32); lv_modifiers_134_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_134_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop128; } } while (true); otherlv_135=(Token)match(input,43,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_135, grammarAccess.getAOPMemberAccess().getEnumKeyword_2_8_2()); } // InternalSARL.g:4529:5: ( (lv_name_136_0= ruleValidID ) ) // InternalSARL.g:4530:6: (lv_name_136_0= ruleValidID ) { // InternalSARL.g:4530:6: (lv_name_136_0= ruleValidID ) // InternalSARL.g:4531:7: lv_name_136_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_8_3_0()); } pushFollow(FOLLOW_17); lv_name_136_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "name", lv_name_136_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_137=(Token)match(input,29,FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_137, grammarAccess.getAOPMemberAccess().getLeftCurlyBracketKeyword_2_8_4()); } // InternalSARL.g:4552:5: ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? int alt130=2; int LA130_0 = input.LA(1); if ( (LA130_0==RULE_ID||LA130_0==44||(LA130_0>=83 && LA130_0<=86)) ) { alt130=1; } switch (alt130) { case 1 : // InternalSARL.g:4553:6: ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* { // InternalSARL.g:4553:6: ( (lv_members_138_0= ruleXtendEnumLiteral ) ) // InternalSARL.g:4554:7: (lv_members_138_0= ruleXtendEnumLiteral ) { // InternalSARL.g:4554:7: (lv_members_138_0= ruleXtendEnumLiteral ) // InternalSARL.g:4555:8: lv_members_138_0= ruleXtendEnumLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getMembersXtendEnumLiteralParserRuleCall_2_8_5_0_0()); } pushFollow(FOLLOW_34); lv_members_138_0=ruleXtendEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "members", lv_members_138_0, "io.sarl.lang.SARL.XtendEnumLiteral"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:4572:6: (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* loop129: do { int alt129=2; int LA129_0 = input.LA(1); if ( (LA129_0==32) ) { alt129=1; } switch (alt129) { case 1 : // InternalSARL.g:4573:7: otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) { otherlv_139=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_139, grammarAccess.getAOPMemberAccess().getCommaKeyword_2_8_5_1_0()); } // InternalSARL.g:4577:7: ( (lv_members_140_0= ruleXtendEnumLiteral ) ) // InternalSARL.g:4578:8: (lv_members_140_0= ruleXtendEnumLiteral ) { // InternalSARL.g:4578:8: (lv_members_140_0= ruleXtendEnumLiteral ) // InternalSARL.g:4579:9: lv_members_140_0= ruleXtendEnumLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getMembersXtendEnumLiteralParserRuleCall_2_8_5_1_1_0()); } pushFollow(FOLLOW_34); lv_members_140_0=ruleXtendEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "members", lv_members_140_0, "io.sarl.lang.SARL.XtendEnumLiteral"); afterParserOrEnumRuleCall(); } } } } break; default : break loop129; } } while (true); } break; } // InternalSARL.g:4598:5: (otherlv_141= ';' )? int alt131=2; int LA131_0 = input.LA(1); if ( (LA131_0==26) ) { alt131=1; } switch (alt131) { case 1 : // InternalSARL.g:4599:6: otherlv_141= ';' { otherlv_141=(Token)match(input,26,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_141, grammarAccess.getAOPMemberAccess().getSemicolonKeyword_2_8_6()); } } break; } otherlv_142=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_142, grammarAccess.getAOPMemberAccess().getRightCurlyBracketKeyword_2_8_7()); } } } break; case 10 : // InternalSARL.g:4610:4: ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) { // InternalSARL.g:4610:4: ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) // InternalSARL.g:4611:5: () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' { // InternalSARL.g:4611:5: () // InternalSARL.g:4612:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAOPMemberAccess().getSarlAnnotationTypeAnnotationInfoAction_2_9_0(), current); } } // InternalSARL.g:4618:5: ( (lv_modifiers_144_0= ruleCommonModifier ) )* loop132: do { int alt132=2; int LA132_0 = input.LA(1); if ( (LA132_0==25||(LA132_0>=69 && LA132_0<=80)) ) { alt132=1; } switch (alt132) { case 1 : // InternalSARL.g:4619:6: (lv_modifiers_144_0= ruleCommonModifier ) { // InternalSARL.g:4619:6: (lv_modifiers_144_0= ruleCommonModifier ) // InternalSARL.g:4620:7: lv_modifiers_144_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getModifiersCommonModifierParserRuleCall_2_9_1_0()); } pushFollow(FOLLOW_35); lv_modifiers_144_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "modifiers", lv_modifiers_144_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop132; } } while (true); otherlv_145=(Token)match(input,44,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_145, grammarAccess.getAOPMemberAccess().getAnnotationKeyword_2_9_2()); } // InternalSARL.g:4641:5: ( (lv_name_146_0= ruleValidID ) ) // InternalSARL.g:4642:6: (lv_name_146_0= ruleValidID ) { // InternalSARL.g:4642:6: (lv_name_146_0= ruleValidID ) // InternalSARL.g:4643:7: lv_name_146_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getNameValidIDParserRuleCall_2_9_3_0()); } pushFollow(FOLLOW_17); lv_name_146_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } set( current, "name", lv_name_146_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_147=(Token)match(input,29,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_147, grammarAccess.getAOPMemberAccess().getLeftCurlyBracketKeyword_2_9_4()); } // InternalSARL.g:4664:5: ( (lv_members_148_0= ruleAnnotationField ) )* loop133: do { int alt133=2; int LA133_0 = input.LA(1); if ( (LA133_0==25||LA133_0==39||(LA133_0>=42 && LA133_0<=44)||(LA133_0>=61 && LA133_0<=62)||(LA133_0>=69 && LA133_0<=80)||LA133_0==94) ) { alt133=1; } switch (alt133) { case 1 : // InternalSARL.g:4665:6: (lv_members_148_0= ruleAnnotationField ) { // InternalSARL.g:4665:6: (lv_members_148_0= ruleAnnotationField ) // InternalSARL.g:4666:7: lv_members_148_0= ruleAnnotationField { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAOPMemberAccess().getMembersAnnotationFieldParserRuleCall_2_9_5_0()); } pushFollow(FOLLOW_36); lv_members_148_0=ruleAnnotationField(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAOPMemberRule()); } add( current, "members", lv_members_148_0, "io.sarl.lang.SARL.AnnotationField"); afterParserOrEnumRuleCall(); } } } break; default : break loop133; } } while (true); otherlv_149=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_149, grammarAccess.getAOPMemberAccess().getRightCurlyBracketKeyword_2_9_6()); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleAOPMember" // $ANTLR start "entryRuleMember" // InternalSARL.g:4693:1: entryRuleMember returns [EObject current=null] : iv_ruleMember= ruleMember EOF ; public final EObject entryRuleMember() throws RecognitionException { EObject current = null; EObject iv_ruleMember = null; try { // InternalSARL.g:4693:47: (iv_ruleMember= ruleMember EOF ) // InternalSARL.g:4694:2: iv_ruleMember= ruleMember EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberRule()); } pushFollow(FOLLOW_1); iv_ruleMember=ruleMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMember; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMember" // $ANTLR start "ruleMember" // InternalSARL.g:4700:1: ruleMember returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) ) ) ; public final EObject ruleMember() throws RecognitionException { EObject current = null; Token lv_modifiers_4_0=null; Token otherlv_8=null; Token lv_modifiers_12_0=null; Token otherlv_14=null; Token otherlv_17=null; Token otherlv_19=null; Token otherlv_21=null; Token otherlv_24=null; Token otherlv_25=null; Token otherlv_27=null; Token otherlv_29=null; Token otherlv_30=null; Token otherlv_32=null; Token otherlv_34=null; Token otherlv_36=null; Token otherlv_38=null; Token otherlv_40=null; Token otherlv_42=null; Token otherlv_50=null; Token otherlv_52=null; Token otherlv_54=null; Token otherlv_56=null; Token otherlv_58=null; Token otherlv_60=null; Token otherlv_61=null; Token otherlv_65=null; Token otherlv_67=null; Token otherlv_69=null; Token otherlv_71=null; Token otherlv_73=null; Token otherlv_75=null; Token otherlv_78=null; Token otherlv_81=null; Token otherlv_83=null; Token otherlv_85=null; Token otherlv_87=null; Token otherlv_89=null; Token otherlv_91=null; Token otherlv_93=null; Token otherlv_95=null; Token otherlv_97=null; Token otherlv_100=null; Token otherlv_102=null; Token otherlv_104=null; Token otherlv_106=null; Token otherlv_107=null; Token otherlv_109=null; Token otherlv_111=null; Token otherlv_113=null; Token otherlv_116=null; Token otherlv_118=null; Token otherlv_120=null; Token otherlv_122=null; Token otherlv_123=null; Token otherlv_126=null; Token otherlv_128=null; Token otherlv_130=null; EObject lv_annotations_1_0 = null; AntlrDatatypeRuleToken lv_modifiers_3_0 = null; AntlrDatatypeRuleToken lv_modifiers_5_0 = null; AntlrDatatypeRuleToken lv_modifiers_6_0 = null; AntlrDatatypeRuleToken lv_name_7_0 = null; EObject lv_type_9_0 = null; AntlrDatatypeRuleToken lv_modifiers_10_0 = null; AntlrDatatypeRuleToken lv_modifiers_11_0 = null; AntlrDatatypeRuleToken lv_name_13_0 = null; EObject lv_type_15_0 = null; AntlrDatatypeRuleToken lv_name_16_0 = null; EObject lv_type_18_0 = null; EObject lv_initialValue_20_0 = null; AntlrDatatypeRuleToken lv_modifiers_23_0 = null; EObject lv_typeParameters_26_0 = null; EObject lv_typeParameters_28_0 = null; EObject lv_parameters_31_0 = null; EObject lv_parameters_33_0 = null; EObject lv_exceptions_37_0 = null; EObject lv_exceptions_39_0 = null; EObject lv_typeParameters_41_0 = null; EObject lv_typeParameters_43_0 = null; EObject lv_expression_44_0 = null; AntlrDatatypeRuleToken lv_modifiers_46_0 = null; AntlrDatatypeRuleToken lv_modifiers_47_0 = null; AntlrDatatypeRuleToken lv_modifiers_48_0 = null; AntlrDatatypeRuleToken lv_modifiers_49_0 = null; EObject lv_typeParameters_51_0 = null; EObject lv_typeParameters_53_0 = null; AntlrDatatypeRuleToken lv_name_55_0 = null; EObject lv_parameters_57_0 = null; EObject lv_parameters_59_0 = null; EObject lv_returnType_62_0 = null; EObject lv_returnType_63_0 = null; EObject lv_exceptions_66_0 = null; EObject lv_exceptions_68_0 = null; EObject lv_firedEvents_70_0 = null; EObject lv_firedEvents_72_0 = null; EObject lv_typeParameters_74_0 = null; EObject lv_typeParameters_76_0 = null; EObject lv_expression_77_0 = null; AntlrDatatypeRuleToken lv_modifiers_80_0 = null; AntlrDatatypeRuleToken lv_name_82_0 = null; EObject lv_typeParameters_84_0 = null; EObject lv_typeParameters_86_0 = null; EObject lv_extends_90_0 = null; EObject lv_implements_92_0 = null; EObject lv_implements_94_0 = null; EObject lv_members_96_0 = null; AntlrDatatypeRuleToken lv_modifiers_99_0 = null; AntlrDatatypeRuleToken lv_name_101_0 = null; EObject lv_typeParameters_103_0 = null; EObject lv_typeParameters_105_0 = null; EObject lv_extends_108_0 = null; EObject lv_extends_110_0 = null; EObject lv_members_112_0 = null; AntlrDatatypeRuleToken lv_modifiers_115_0 = null; AntlrDatatypeRuleToken lv_name_117_0 = null; EObject lv_members_119_0 = null; EObject lv_members_121_0 = null; AntlrDatatypeRuleToken lv_modifiers_125_0 = null; AntlrDatatypeRuleToken lv_name_127_0 = null; EObject lv_members_129_0 = null; enterRule(); try { // InternalSARL.g:4706:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) ) ) ) // InternalSARL.g:4707:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) ) ) { // InternalSARL.g:4707:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) ) ) // InternalSARL.g:4708:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) ) { // InternalSARL.g:4708:3: () // InternalSARL.g:4709:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getMemberAccess().getXtendMemberAction_0(), current); } } // InternalSARL.g:4715:3: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop135: do { int alt135=2; int LA135_0 = input.LA(1); if ( (LA135_0==94) ) { alt135=1; } switch (alt135) { case 1 : // InternalSARL.g:4716:4: (lv_annotations_1_0= ruleXAnnotation ) { // InternalSARL.g:4716:4: (lv_annotations_1_0= ruleXAnnotation ) // InternalSARL.g:4717:5: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FOLLOW_66); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop135; } } while (true); // InternalSARL.g:4734:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) ) int alt185=7; alt185 = dfa185.predict(input); switch (alt185) { case 1 : // InternalSARL.g:4735:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) { // InternalSARL.g:4735:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) // InternalSARL.g:4736:5: () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? { // InternalSARL.g:4736:5: () // InternalSARL.g:4737:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getMemberAccess().getSarlFieldAnnotationInfoAction_2_0_0(), current); } } // InternalSARL.g:4743:5: ( (lv_modifiers_3_0= ruleCommonModifier ) )* loop136: do { int alt136=2; int LA136_0 = input.LA(1); if ( (LA136_0==25||(LA136_0>=69 && LA136_0<=80)) ) { alt136=1; } switch (alt136) { case 1 : // InternalSARL.g:4744:6: (lv_modifiers_3_0= ruleCommonModifier ) { // InternalSARL.g:4744:6: (lv_modifiers_3_0= ruleCommonModifier ) // InternalSARL.g:4745:7: lv_modifiers_3_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_1_0()); } pushFollow(FOLLOW_38); lv_modifiers_3_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_3_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop136; } } while (true); // InternalSARL.g:4762:5: ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) int alt141=2; int LA141_0 = input.LA(1); if ( (LA141_0==45) ) { alt141=1; } else if ( ((LA141_0>=61 && LA141_0<=62)) ) { 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 : // InternalSARL.g:4763:6: ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:4763:6: ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:4764:7: ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) { // InternalSARL.g:4764:7: ( (lv_modifiers_4_0= 'extension' ) ) // InternalSARL.g:4765:8: (lv_modifiers_4_0= 'extension' ) { // InternalSARL.g:4765:8: (lv_modifiers_4_0= 'extension' ) // InternalSARL.g:4766:9: lv_modifiers_4_0= 'extension' { lv_modifiers_4_0=(Token)match(input,45,FOLLOW_39); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_modifiers_4_0, grammarAccess.getMemberAccess().getModifiersExtensionKeyword_2_0_2_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getMemberRule()); } addWithLastConsumed(current, "modifiers", lv_modifiers_4_0, "extension"); } } } // InternalSARL.g:4778:7: ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* loop137: do { int alt137=3; int LA137_0 = input.LA(1); if ( ((LA137_0>=61 && LA137_0<=62)) ) { alt137=1; } else if ( (LA137_0==25||(LA137_0>=69 && LA137_0<=80)) ) { alt137=2; } switch (alt137) { case 1 : // InternalSARL.g:4779:8: ( (lv_modifiers_5_0= ruleFieldModifier ) ) { // InternalSARL.g:4779:8: ( (lv_modifiers_5_0= ruleFieldModifier ) ) // InternalSARL.g:4780:9: (lv_modifiers_5_0= ruleFieldModifier ) { // InternalSARL.g:4780:9: (lv_modifiers_5_0= ruleFieldModifier ) // InternalSARL.g:4781:10: lv_modifiers_5_0= ruleFieldModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersFieldModifierParserRuleCall_2_0_2_0_1_0_0()); } pushFollow(FOLLOW_39); lv_modifiers_5_0=ruleFieldModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_5_0, "org.eclipse.xtend.core.Xtend.FieldModifier"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:4799:8: ( (lv_modifiers_6_0= ruleCommonModifier ) ) { // InternalSARL.g:4799:8: ( (lv_modifiers_6_0= ruleCommonModifier ) ) // InternalSARL.g:4800:9: (lv_modifiers_6_0= ruleCommonModifier ) { // InternalSARL.g:4800:9: (lv_modifiers_6_0= ruleCommonModifier ) // InternalSARL.g:4801:10: lv_modifiers_6_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_2_0_1_1_0()); } pushFollow(FOLLOW_39); lv_modifiers_6_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_6_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } } break; default : break loop137; } } while (true); // InternalSARL.g:4819:7: ( (lv_name_7_0= ruleValidID ) ) // InternalSARL.g:4820:8: (lv_name_7_0= ruleValidID ) { // InternalSARL.g:4820:8: (lv_name_7_0= ruleValidID ) // InternalSARL.g:4821:9: lv_name_7_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_0_2_0_2_0()); } pushFollow(FOLLOW_40); lv_name_7_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "name", lv_name_7_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_8=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getMemberAccess().getColonKeyword_2_0_2_0_3()); } // InternalSARL.g:4842:7: ( (lv_type_9_0= ruleJvmTypeReference ) ) // InternalSARL.g:4843:8: (lv_type_9_0= ruleJvmTypeReference ) { // InternalSARL.g:4843:8: (lv_type_9_0= ruleJvmTypeReference ) // InternalSARL.g:4844:9: lv_type_9_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_0_4_0()); } pushFollow(FOLLOW_42); lv_type_9_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "type", lv_type_9_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalSARL.g:4863:6: ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) { // InternalSARL.g:4863:6: ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) // InternalSARL.g:4864:7: ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) { // InternalSARL.g:4864:7: ( (lv_modifiers_10_0= ruleFieldModifier ) ) // InternalSARL.g:4865:8: (lv_modifiers_10_0= ruleFieldModifier ) { // InternalSARL.g:4865:8: (lv_modifiers_10_0= ruleFieldModifier ) // InternalSARL.g:4866:9: lv_modifiers_10_0= ruleFieldModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersFieldModifierParserRuleCall_2_0_2_1_0_0()); } pushFollow(FOLLOW_43); lv_modifiers_10_0=ruleFieldModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_10_0, "org.eclipse.xtend.core.Xtend.FieldModifier"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:4883:7: ( (lv_modifiers_11_0= ruleCommonModifier ) )* loop138: do { int alt138=2; int LA138_0 = input.LA(1); if ( (LA138_0==25||(LA138_0>=69 && LA138_0<=80)) ) { alt138=1; } switch (alt138) { case 1 : // InternalSARL.g:4884:8: (lv_modifiers_11_0= ruleCommonModifier ) { // InternalSARL.g:4884:8: (lv_modifiers_11_0= ruleCommonModifier ) // InternalSARL.g:4885:9: lv_modifiers_11_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_0_2_1_1_0()); } pushFollow(FOLLOW_43); lv_modifiers_11_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_11_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop138; } } while (true); // InternalSARL.g:4902:7: ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) int alt140=2; int LA140_0 = input.LA(1); if ( (LA140_0==45) ) { alt140=1; } else if ( (LA140_0==RULE_ID||LA140_0==44||(LA140_0>=83 && LA140_0<=86)) ) { alt140=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 140, 0, input); throw nvae; } switch (alt140) { case 1 : // InternalSARL.g:4903:8: ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:4903:8: ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:4904:9: ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) { // InternalSARL.g:4904:9: ( (lv_modifiers_12_0= 'extension' ) ) // InternalSARL.g:4905:10: (lv_modifiers_12_0= 'extension' ) { // InternalSARL.g:4905:10: (lv_modifiers_12_0= 'extension' ) // InternalSARL.g:4906:11: lv_modifiers_12_0= 'extension' { lv_modifiers_12_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_modifiers_12_0, grammarAccess.getMemberAccess().getModifiersExtensionKeyword_2_0_2_1_2_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getMemberRule()); } addWithLastConsumed(current, "modifiers", lv_modifiers_12_0, "extension"); } } } // InternalSARL.g:4918:9: ( (lv_name_13_0= ruleValidID ) ) // InternalSARL.g:4919:10: (lv_name_13_0= ruleValidID ) { // InternalSARL.g:4919:10: (lv_name_13_0= ruleValidID ) // InternalSARL.g:4920:11: lv_name_13_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_0_2_1_2_0_1_0()); } pushFollow(FOLLOW_40); lv_name_13_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "name", lv_name_13_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_14=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getMemberAccess().getColonKeyword_2_0_2_1_2_0_2()); } // InternalSARL.g:4941:9: ( (lv_type_15_0= ruleJvmTypeReference ) ) // InternalSARL.g:4942:10: (lv_type_15_0= ruleJvmTypeReference ) { // InternalSARL.g:4942:10: (lv_type_15_0= ruleJvmTypeReference ) // InternalSARL.g:4943:11: lv_type_15_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_1_2_0_3_0()); } pushFollow(FOLLOW_42); lv_type_15_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "type", lv_type_15_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // InternalSARL.g:4962:8: ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) { // InternalSARL.g:4962:8: ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) // InternalSARL.g:4963:9: ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? { // InternalSARL.g:4963:9: ( (lv_name_16_0= ruleValidID ) ) // InternalSARL.g:4964:10: (lv_name_16_0= ruleValidID ) { // InternalSARL.g:4964:10: (lv_name_16_0= ruleValidID ) // InternalSARL.g:4965:11: lv_name_16_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_0_2_1_2_1_0_0()); } pushFollow(FOLLOW_44); lv_name_16_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "name", lv_name_16_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:4982:9: (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? int alt139=2; int LA139_0 = input.LA(1); if ( (LA139_0==46) ) { alt139=1; } switch (alt139) { case 1 : // InternalSARL.g:4983:10: otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) { otherlv_17=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getMemberAccess().getColonKeyword_2_0_2_1_2_1_1_0()); } // InternalSARL.g:4987:10: ( (lv_type_18_0= ruleJvmTypeReference ) ) // InternalSARL.g:4988:11: (lv_type_18_0= ruleJvmTypeReference ) { // InternalSARL.g:4988:11: (lv_type_18_0= ruleJvmTypeReference ) // InternalSARL.g:4989:12: lv_type_18_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_2_1_2_1_1_1_0()); } pushFollow(FOLLOW_42); lv_type_18_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "type", lv_type_18_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } } } break; } } } break; } // InternalSARL.g:5011:5: (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? int alt142=2; int LA142_0 = input.LA(1); if ( (LA142_0==47) ) { alt142=1; } switch (alt142) { case 1 : // InternalSARL.g:5012:6: otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) { otherlv_19=(Token)match(input,47,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getMemberAccess().getEqualsSignKeyword_2_0_3_0()); } // InternalSARL.g:5016:6: ( (lv_initialValue_20_0= ruleXExpression ) ) // InternalSARL.g:5017:7: (lv_initialValue_20_0= ruleXExpression ) { // InternalSARL.g:5017:7: (lv_initialValue_20_0= ruleXExpression ) // InternalSARL.g:5018:8: lv_initialValue_20_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getInitialValueXExpressionParserRuleCall_2_0_3_1_0()); } pushFollow(FOLLOW_46); lv_initialValue_20_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "initialValue", lv_initialValue_20_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } // InternalSARL.g:5036:5: (otherlv_21= ';' )? int alt143=2; int LA143_0 = input.LA(1); if ( (LA143_0==26) ) { alt143=1; } switch (alt143) { case 1 : // InternalSARL.g:5037:6: otherlv_21= ';' { otherlv_21=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getMemberAccess().getSemicolonKeyword_2_0_4()); } } break; } } } break; case 2 : // InternalSARL.g:5044:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) { // InternalSARL.g:5044:4: ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) // InternalSARL.g:5045:5: () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) { // InternalSARL.g:5045:5: () // InternalSARL.g:5046:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getMemberAccess().getSarlConstructorAnnotationInfoAction_2_1_0(), current); } } // InternalSARL.g:5052:5: ( (lv_modifiers_23_0= ruleCommonModifier ) )* loop144: do { int alt144=2; int LA144_0 = input.LA(1); if ( (LA144_0==25||(LA144_0>=69 && LA144_0<=80)) ) { alt144=1; } switch (alt144) { case 1 : // InternalSARL.g:5053:6: (lv_modifiers_23_0= ruleCommonModifier ) { // InternalSARL.g:5053:6: (lv_modifiers_23_0= ruleCommonModifier ) // InternalSARL.g:5054:7: lv_modifiers_23_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_1_1_0()); } pushFollow(FOLLOW_47); lv_modifiers_23_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_23_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop144; } } while (true); otherlv_24=(Token)match(input,48,FOLLOW_48); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_24, grammarAccess.getMemberAccess().getNewKeyword_2_1_2()); } // InternalSARL.g:5075:5: (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? int alt146=2; int LA146_0 = input.LA(1); if ( (LA146_0==40) ) { alt146=1; } switch (alt146) { case 1 : // InternalSARL.g:5076:6: otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' { otherlv_25=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_25, grammarAccess.getMemberAccess().getLessThanSignKeyword_2_1_3_0()); } // InternalSARL.g:5080:6: ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) // InternalSARL.g:5081:7: (lv_typeParameters_26_0= ruleJvmTypeParameter ) { // InternalSARL.g:5081:7: (lv_typeParameters_26_0= ruleJvmTypeParameter ) // InternalSARL.g:5082:8: lv_typeParameters_26_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_3_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_26_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_26_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5099:6: (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* loop145: do { int alt145=2; int LA145_0 = input.LA(1); if ( (LA145_0==32) ) { alt145=1; } switch (alt145) { case 1 : // InternalSARL.g:5100:7: otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) { otherlv_27=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_27, grammarAccess.getMemberAccess().getCommaKeyword_2_1_3_2_0()); } // InternalSARL.g:5104:7: ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) // InternalSARL.g:5105:8: (lv_typeParameters_28_0= ruleJvmTypeParameter ) { // InternalSARL.g:5105:8: (lv_typeParameters_28_0= ruleJvmTypeParameter ) // InternalSARL.g:5106:9: lv_typeParameters_28_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_3_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_28_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_28_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop145; } } while (true); otherlv_29=(Token)match(input,41,FOLLOW_49); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_29, grammarAccess.getMemberAccess().getGreaterThanSignKeyword_2_1_3_3()); } } break; } // InternalSARL.g:5129:5: (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? int alt149=2; int LA149_0 = input.LA(1); if ( (LA149_0==49) ) { alt149=1; } switch (alt149) { case 1 : // InternalSARL.g:5130:6: otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' { otherlv_30=(Token)match(input,49,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_30, grammarAccess.getMemberAccess().getLeftParenthesisKeyword_2_1_4_0()); } // InternalSARL.g:5134:6: ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? int alt148=2; int LA148_0 = input.LA(1); if ( (LA148_0==RULE_ID||(LA148_0>=44 && LA148_0<=45)||(LA148_0>=83 && LA148_0<=86)||LA148_0==94) ) { alt148=1; } switch (alt148) { case 1 : // InternalSARL.g:5135:7: ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* { // InternalSARL.g:5135:7: ( (lv_parameters_31_0= ruleParameter ) ) // InternalSARL.g:5136:8: (lv_parameters_31_0= ruleParameter ) { // InternalSARL.g:5136:8: (lv_parameters_31_0= ruleParameter ) // InternalSARL.g:5137:9: lv_parameters_31_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getParametersParameterParserRuleCall_2_1_4_1_0_0()); } pushFollow(FOLLOW_51); lv_parameters_31_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "parameters", lv_parameters_31_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5154:7: (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* loop147: do { int alt147=2; int LA147_0 = input.LA(1); if ( (LA147_0==32) ) { alt147=1; } switch (alt147) { case 1 : // InternalSARL.g:5155:8: otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) { otherlv_32=(Token)match(input,32,FOLLOW_52); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_32, grammarAccess.getMemberAccess().getCommaKeyword_2_1_4_1_1_0()); } // InternalSARL.g:5159:8: ( (lv_parameters_33_0= ruleParameter ) ) // InternalSARL.g:5160:9: (lv_parameters_33_0= ruleParameter ) { // InternalSARL.g:5160:9: (lv_parameters_33_0= ruleParameter ) // InternalSARL.g:5161:10: lv_parameters_33_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getParametersParameterParserRuleCall_2_1_4_1_1_1_0()); } pushFollow(FOLLOW_51); lv_parameters_33_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "parameters", lv_parameters_33_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop147; } } while (true); } break; } otherlv_34=(Token)match(input,50,FOLLOW_53); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_34, grammarAccess.getMemberAccess().getRightParenthesisKeyword_2_1_4_2()); } } break; } // InternalSARL.g:5185:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:5186:6: ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:5186:6: ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:5187:7: ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5()); // InternalSARL.g:5190:7: ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) // InternalSARL.g:5191:8: ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* { // InternalSARL.g:5191:8: ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* loop152: do { int alt152=3; int LA152_0 = input.LA(1); if ( LA152_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 0) ) { alt152=1; } else if ( LA152_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 1) ) { alt152=2; } switch (alt152) { case 1 : // InternalSARL.g:5192:6: ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:5192:6: ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) // InternalSARL.g:5193:7: {...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 0)"); } // InternalSARL.g:5193:109: ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) // InternalSARL.g:5194:8: ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 0); // InternalSARL.g:5197:11: ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) // InternalSARL.g:5197:12: {...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "true"); } // InternalSARL.g:5197:21: (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) // InternalSARL.g:5197:22: otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* { otherlv_36=(Token)match(input,51,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_36, grammarAccess.getMemberAccess().getThrowsKeyword_2_1_5_0_0()); } // InternalSARL.g:5201:11: ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) // InternalSARL.g:5202:12: (lv_exceptions_37_0= ruleJvmTypeReference ) { // InternalSARL.g:5202:12: (lv_exceptions_37_0= ruleJvmTypeReference ) // InternalSARL.g:5203:13: lv_exceptions_37_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_1_5_0_1_0()); } pushFollow(FOLLOW_54); lv_exceptions_37_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "exceptions", lv_exceptions_37_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5220:11: (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* loop150: do { int alt150=2; int LA150_0 = input.LA(1); if ( (LA150_0==32) ) { alt150=1; } switch (alt150) { case 1 : // InternalSARL.g:5221:12: otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) { otherlv_38=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_38, grammarAccess.getMemberAccess().getCommaKeyword_2_1_5_0_2_0()); } // InternalSARL.g:5225:12: ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) // InternalSARL.g:5226:13: (lv_exceptions_39_0= ruleJvmTypeReference ) { // InternalSARL.g:5226:13: (lv_exceptions_39_0= ruleJvmTypeReference ) // InternalSARL.g:5227:14: lv_exceptions_39_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_1_5_0_2_1_0()); } pushFollow(FOLLOW_54); lv_exceptions_39_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "exceptions", lv_exceptions_39_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop150; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5()); } } } break; case 2 : // InternalSARL.g:5251:6: ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) { // InternalSARL.g:5251:6: ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) // InternalSARL.g:5252:7: {...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 1)"); } // InternalSARL.g:5252:109: ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) // InternalSARL.g:5253:8: ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5(), 1); // InternalSARL.g:5256:11: ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) // InternalSARL.g:5256:12: {...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "true"); } // InternalSARL.g:5256:21: (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) // InternalSARL.g:5256:22: otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* { otherlv_40=(Token)match(input,52,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_40, grammarAccess.getMemberAccess().getWithKeyword_2_1_5_1_0()); } // InternalSARL.g:5260:11: ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) // InternalSARL.g:5261:12: (lv_typeParameters_41_0= ruleJvmTypeParameter ) { // InternalSARL.g:5261:12: (lv_typeParameters_41_0= ruleJvmTypeParameter ) // InternalSARL.g:5262:13: lv_typeParameters_41_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_5_1_1_0()); } pushFollow(FOLLOW_54); lv_typeParameters_41_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_41_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5279:11: (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* loop151: do { int alt151=2; int LA151_0 = input.LA(1); if ( (LA151_0==32) ) { alt151=1; } switch (alt151) { case 1 : // InternalSARL.g:5280:12: otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) { otherlv_42=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_42, grammarAccess.getMemberAccess().getCommaKeyword_2_1_5_1_2_0()); } // InternalSARL.g:5284:12: ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) // InternalSARL.g:5285:13: (lv_typeParameters_43_0= ruleJvmTypeParameter ) { // InternalSARL.g:5285:13: (lv_typeParameters_43_0= ruleJvmTypeParameter ) // InternalSARL.g:5286:14: lv_typeParameters_43_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_5_1_2_1_0()); } pushFollow(FOLLOW_54); lv_typeParameters_43_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_43_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop151; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5()); } } } break; default : break loop152; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getMemberAccess().getUnorderedGroup_2_1_5()); } // InternalSARL.g:5317:5: ( (lv_expression_44_0= ruleXBlockExpression ) ) // InternalSARL.g:5318:6: (lv_expression_44_0= ruleXBlockExpression ) { // InternalSARL.g:5318:6: (lv_expression_44_0= ruleXBlockExpression ) // InternalSARL.g:5319:7: lv_expression_44_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_1_6_0()); } pushFollow(FOLLOW_2); lv_expression_44_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "expression", lv_expression_44_0, "org.eclipse.xtext.xbase.Xbase.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } } break; case 3 : // InternalSARL.g:5338:4: ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) { // InternalSARL.g:5338:4: ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) // InternalSARL.g:5339:5: () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? { // InternalSARL.g:5339:5: () // InternalSARL.g:5340:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getMemberAccess().getSarlActionAnnotationInfoAction_2_2_0(), current); } } // InternalSARL.g:5346:5: ( (lv_modifiers_46_0= ruleCommonModifier ) )* loop153: do { int alt153=2; int LA153_0 = input.LA(1); if ( (LA153_0==25||(LA153_0>=69 && LA153_0<=80)) ) { alt153=1; } switch (alt153) { case 1 : // InternalSARL.g:5347:6: (lv_modifiers_46_0= ruleCommonModifier ) { // InternalSARL.g:5347:6: (lv_modifiers_46_0= ruleCommonModifier ) // InternalSARL.g:5348:7: lv_modifiers_46_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_2_1_0()); } pushFollow(FOLLOW_55); lv_modifiers_46_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_46_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop153; } } while (true); // InternalSARL.g:5365:5: ( (lv_modifiers_47_0= ruleMethodModifier ) ) // InternalSARL.g:5366:6: (lv_modifiers_47_0= ruleMethodModifier ) { // InternalSARL.g:5366:6: (lv_modifiers_47_0= ruleMethodModifier ) // InternalSARL.g:5367:7: lv_modifiers_47_0= ruleMethodModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersMethodModifierParserRuleCall_2_2_2_0()); } pushFollow(FOLLOW_65); lv_modifiers_47_0=ruleMethodModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_47_0, "org.eclipse.xtend.core.Xtend.MethodModifier"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5384:5: ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* loop154: do { int alt154=3; int LA154_0 = input.LA(1); if ( (LA154_0==25||(LA154_0>=69 && LA154_0<=80)) ) { alt154=1; } else if ( ((LA154_0>=81 && LA154_0<=82)) ) { alt154=2; } switch (alt154) { case 1 : // InternalSARL.g:5385:6: ( (lv_modifiers_48_0= ruleCommonModifier ) ) { // InternalSARL.g:5385:6: ( (lv_modifiers_48_0= ruleCommonModifier ) ) // InternalSARL.g:5386:7: (lv_modifiers_48_0= ruleCommonModifier ) { // InternalSARL.g:5386:7: (lv_modifiers_48_0= ruleCommonModifier ) // InternalSARL.g:5387:8: lv_modifiers_48_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_2_3_0_0()); } pushFollow(FOLLOW_65); lv_modifiers_48_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_48_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:5405:6: ( (lv_modifiers_49_0= ruleMethodModifier ) ) { // InternalSARL.g:5405:6: ( (lv_modifiers_49_0= ruleMethodModifier ) ) // InternalSARL.g:5406:7: (lv_modifiers_49_0= ruleMethodModifier ) { // InternalSARL.g:5406:7: (lv_modifiers_49_0= ruleMethodModifier ) // InternalSARL.g:5407:8: lv_modifiers_49_0= ruleMethodModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersMethodModifierParserRuleCall_2_2_3_1_0()); } pushFollow(FOLLOW_65); lv_modifiers_49_0=ruleMethodModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_49_0, "org.eclipse.xtend.core.Xtend.MethodModifier"); afterParserOrEnumRuleCall(); } } } } break; default : break loop154; } } while (true); // InternalSARL.g:5425:5: (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? int alt156=2; int LA156_0 = input.LA(1); if ( (LA156_0==40) ) { int LA156_1 = input.LA(2); if ( (LA156_1==RULE_ID||(LA156_1>=83 && LA156_1<=86)) ) { alt156=1; } else if ( (LA156_1==44) ) { int LA156_4 = input.LA(3); if ( (LA156_4==28||LA156_4==32||LA156_4==41) ) { alt156=1; } } } switch (alt156) { case 1 : // InternalSARL.g:5426:6: otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' { otherlv_50=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_50, grammarAccess.getMemberAccess().getLessThanSignKeyword_2_2_4_0()); } // InternalSARL.g:5430:6: ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) // InternalSARL.g:5431:7: (lv_typeParameters_51_0= ruleJvmTypeParameter ) { // InternalSARL.g:5431:7: (lv_typeParameters_51_0= ruleJvmTypeParameter ) // InternalSARL.g:5432:8: lv_typeParameters_51_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_4_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_51_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_51_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5449:6: (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* loop155: do { int alt155=2; int LA155_0 = input.LA(1); if ( (LA155_0==32) ) { alt155=1; } switch (alt155) { case 1 : // InternalSARL.g:5450:7: otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) { otherlv_52=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_52, grammarAccess.getMemberAccess().getCommaKeyword_2_2_4_2_0()); } // InternalSARL.g:5454:7: ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) // InternalSARL.g:5455:8: (lv_typeParameters_53_0= ruleJvmTypeParameter ) { // InternalSARL.g:5455:8: (lv_typeParameters_53_0= ruleJvmTypeParameter ) // InternalSARL.g:5456:9: lv_typeParameters_53_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_4_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_53_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_53_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop155; } } while (true); otherlv_54=(Token)match(input,41,FOLLOW_56); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_54, grammarAccess.getMemberAccess().getGreaterThanSignKeyword_2_2_4_3()); } } break; } // InternalSARL.g:5479:5: ( (lv_name_55_0= ruleFunctionID ) ) // InternalSARL.g:5480:6: (lv_name_55_0= ruleFunctionID ) { // InternalSARL.g:5480:6: (lv_name_55_0= ruleFunctionID ) // InternalSARL.g:5481:7: lv_name_55_0= ruleFunctionID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getNameFunctionIDParserRuleCall_2_2_5_0()); } pushFollow(FOLLOW_57); lv_name_55_0=ruleFunctionID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "name", lv_name_55_0, "org.eclipse.xtend.core.Xtend.FunctionID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5498:5: (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? int alt159=2; int LA159_0 = input.LA(1); if ( (LA159_0==49) ) { alt159=1; } switch (alt159) { case 1 : // InternalSARL.g:5499:6: otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' { otherlv_56=(Token)match(input,49,FOLLOW_50); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_56, grammarAccess.getMemberAccess().getLeftParenthesisKeyword_2_2_6_0()); } // InternalSARL.g:5503:6: ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? int alt158=2; int LA158_0 = input.LA(1); if ( (LA158_0==RULE_ID||(LA158_0>=44 && LA158_0<=45)||(LA158_0>=83 && LA158_0<=86)||LA158_0==94) ) { alt158=1; } switch (alt158) { case 1 : // InternalSARL.g:5504:7: ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* { // InternalSARL.g:5504:7: ( (lv_parameters_57_0= ruleParameter ) ) // InternalSARL.g:5505:8: (lv_parameters_57_0= ruleParameter ) { // InternalSARL.g:5505:8: (lv_parameters_57_0= ruleParameter ) // InternalSARL.g:5506:9: lv_parameters_57_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getParametersParameterParserRuleCall_2_2_6_1_0_0()); } pushFollow(FOLLOW_51); lv_parameters_57_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "parameters", lv_parameters_57_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5523:7: (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* loop157: do { int alt157=2; int LA157_0 = input.LA(1); if ( (LA157_0==32) ) { alt157=1; } switch (alt157) { case 1 : // InternalSARL.g:5524:8: otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) { otherlv_58=(Token)match(input,32,FOLLOW_52); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_58, grammarAccess.getMemberAccess().getCommaKeyword_2_2_6_1_1_0()); } // InternalSARL.g:5528:8: ( (lv_parameters_59_0= ruleParameter ) ) // InternalSARL.g:5529:9: (lv_parameters_59_0= ruleParameter ) { // InternalSARL.g:5529:9: (lv_parameters_59_0= ruleParameter ) // InternalSARL.g:5530:10: lv_parameters_59_0= ruleParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getParametersParameterParserRuleCall_2_2_6_1_1_1_0()); } pushFollow(FOLLOW_51); lv_parameters_59_0=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "parameters", lv_parameters_59_0, "io.sarl.lang.SARL.Parameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop157; } } while (true); } break; } otherlv_60=(Token)match(input,50,FOLLOW_58); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_60, grammarAccess.getMemberAccess().getRightParenthesisKeyword_2_2_6_2()); } } break; } // InternalSARL.g:5554:5: (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? int alt161=2; int LA161_0 = input.LA(1); if ( (LA161_0==46) ) { alt161=1; } switch (alt161) { case 1 : // InternalSARL.g:5555:6: otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) { otherlv_61=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_61, grammarAccess.getMemberAccess().getColonKeyword_2_2_7_0()); } // InternalSARL.g:5559:6: ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) int alt160=2; alt160 = dfa160.predict(input); switch (alt160) { case 1 : // InternalSARL.g:5560:7: ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) { // InternalSARL.g:5560:7: ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) // InternalSARL.g:5561:8: (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) { // InternalSARL.g:5561:8: (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) // InternalSARL.g:5562:9: lv_returnType_62_0= ruleTypeReferenceWithTypeArgs { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getReturnTypeTypeReferenceWithTypeArgsParserRuleCall_2_2_7_1_0_0()); } pushFollow(FOLLOW_59); lv_returnType_62_0=ruleTypeReferenceWithTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "returnType", lv_returnType_62_0, "org.eclipse.xtend.core.Xtend.TypeReferenceWithTypeArgs"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:5580:7: ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) { // InternalSARL.g:5580:7: ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) // InternalSARL.g:5581:8: (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) { // InternalSARL.g:5581:8: (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) // InternalSARL.g:5582:9: lv_returnType_63_0= ruleTypeReferenceNoTypeArgs { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getReturnTypeTypeReferenceNoTypeArgsParserRuleCall_2_2_7_1_1_0()); } pushFollow(FOLLOW_59); lv_returnType_63_0=ruleTypeReferenceNoTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "returnType", lv_returnType_63_0, "org.eclipse.xtend.core.Xtend.TypeReferenceNoTypeArgs"); afterParserOrEnumRuleCall(); } } } } break; } } break; } // InternalSARL.g:5601:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:5602:6: ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:5602:6: ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:5603:7: ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8()); // InternalSARL.g:5606:7: ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) // InternalSARL.g:5607:8: ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* { // InternalSARL.g:5607:8: ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* loop165: do { int alt165=4; int LA165_0 = input.LA(1); if ( LA165_0 == 51 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 0) ) { alt165=1; } else if ( LA165_0 == 53 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 1) ) { alt165=2; } else if ( LA165_0 == 52 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 2) ) { alt165=3; } switch (alt165) { case 1 : // InternalSARL.g:5608:6: ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:5608:6: ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) // InternalSARL.g:5609:7: {...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 0)"); } // InternalSARL.g:5609:109: ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) // InternalSARL.g:5610:8: ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 0); // InternalSARL.g:5613:11: ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) // InternalSARL.g:5613:12: {...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "true"); } // InternalSARL.g:5613:21: (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) // InternalSARL.g:5613:22: otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* { otherlv_65=(Token)match(input,51,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_65, grammarAccess.getMemberAccess().getThrowsKeyword_2_2_8_0_0()); } // InternalSARL.g:5617:11: ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) // InternalSARL.g:5618:12: (lv_exceptions_66_0= ruleJvmTypeReference ) { // InternalSARL.g:5618:12: (lv_exceptions_66_0= ruleJvmTypeReference ) // InternalSARL.g:5619:13: lv_exceptions_66_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_2_8_0_1_0()); } pushFollow(FOLLOW_60); lv_exceptions_66_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "exceptions", lv_exceptions_66_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5636:11: (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* loop162: do { int alt162=2; int LA162_0 = input.LA(1); if ( (LA162_0==32) ) { alt162=1; } switch (alt162) { case 1 : // InternalSARL.g:5637:12: otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) { otherlv_67=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_67, grammarAccess.getMemberAccess().getCommaKeyword_2_2_8_0_2_0()); } // InternalSARL.g:5641:12: ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) // InternalSARL.g:5642:13: (lv_exceptions_68_0= ruleJvmTypeReference ) { // InternalSARL.g:5642:13: (lv_exceptions_68_0= ruleJvmTypeReference ) // InternalSARL.g:5643:14: lv_exceptions_68_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getExceptionsJvmTypeReferenceParserRuleCall_2_2_8_0_2_1_0()); } pushFollow(FOLLOW_60); lv_exceptions_68_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "exceptions", lv_exceptions_68_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop162; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8()); } } } break; case 2 : // InternalSARL.g:5667:6: ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:5667:6: ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) // InternalSARL.g:5668:7: {...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 1)"); } // InternalSARL.g:5668:109: ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) // InternalSARL.g:5669:8: ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 1); // InternalSARL.g:5672:11: ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) // InternalSARL.g:5672:12: {...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "true"); } // InternalSARL.g:5672:21: (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) // InternalSARL.g:5672:22: otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* { otherlv_69=(Token)match(input,53,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_69, grammarAccess.getMemberAccess().getFiresKeyword_2_2_8_1_0()); } // InternalSARL.g:5676:11: ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) // InternalSARL.g:5677:12: (lv_firedEvents_70_0= ruleJvmTypeReference ) { // InternalSARL.g:5677:12: (lv_firedEvents_70_0= ruleJvmTypeReference ) // InternalSARL.g:5678:13: lv_firedEvents_70_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_2_2_8_1_1_0()); } pushFollow(FOLLOW_60); lv_firedEvents_70_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "firedEvents", lv_firedEvents_70_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5695:11: (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* loop163: do { int alt163=2; int LA163_0 = input.LA(1); if ( (LA163_0==32) ) { alt163=1; } switch (alt163) { case 1 : // InternalSARL.g:5696:12: otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) { otherlv_71=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_71, grammarAccess.getMemberAccess().getCommaKeyword_2_2_8_1_2_0()); } // InternalSARL.g:5700:12: ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) // InternalSARL.g:5701:13: (lv_firedEvents_72_0= ruleJvmTypeReference ) { // InternalSARL.g:5701:13: (lv_firedEvents_72_0= ruleJvmTypeReference ) // InternalSARL.g:5702:14: lv_firedEvents_72_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getFiredEventsJvmTypeReferenceParserRuleCall_2_2_8_1_2_1_0()); } pushFollow(FOLLOW_60); lv_firedEvents_72_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "firedEvents", lv_firedEvents_72_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop163; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8()); } } } break; case 3 : // InternalSARL.g:5726:6: ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) { // InternalSARL.g:5726:6: ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) // InternalSARL.g:5727:7: {...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 2) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 2)"); } // InternalSARL.g:5727:109: ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) // InternalSARL.g:5728:8: ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8(), 2); // InternalSARL.g:5731:11: ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) // InternalSARL.g:5731:12: {...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "true"); } // InternalSARL.g:5731:21: (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) // InternalSARL.g:5731:22: otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* { otherlv_73=(Token)match(input,52,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_73, grammarAccess.getMemberAccess().getWithKeyword_2_2_8_2_0()); } // InternalSARL.g:5735:11: ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) // InternalSARL.g:5736:12: (lv_typeParameters_74_0= ruleJvmTypeParameter ) { // InternalSARL.g:5736:12: (lv_typeParameters_74_0= ruleJvmTypeParameter ) // InternalSARL.g:5737:13: lv_typeParameters_74_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_8_2_1_0()); } pushFollow(FOLLOW_60); lv_typeParameters_74_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_74_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5754:11: (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* loop164: do { int alt164=2; int LA164_0 = input.LA(1); if ( (LA164_0==32) ) { alt164=1; } switch (alt164) { case 1 : // InternalSARL.g:5755:12: otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) { otherlv_75=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_75, grammarAccess.getMemberAccess().getCommaKeyword_2_2_8_2_2_0()); } // InternalSARL.g:5759:12: ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) // InternalSARL.g:5760:13: (lv_typeParameters_76_0= ruleJvmTypeParameter ) { // InternalSARL.g:5760:13: (lv_typeParameters_76_0= ruleJvmTypeParameter ) // InternalSARL.g:5761:14: lv_typeParameters_76_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_8_2_2_1_0()); } pushFollow(FOLLOW_60); lv_typeParameters_76_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_76_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop164; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8()); } } } break; default : break loop165; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getMemberAccess().getUnorderedGroup_2_2_8()); } // InternalSARL.g:5792:5: ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? int alt166=3; int LA166_0 = input.LA(1); if ( (LA166_0==29) ) { alt166=1; } else if ( (LA166_0==26) ) { alt166=2; } switch (alt166) { case 1 : // InternalSARL.g:5793:6: ( (lv_expression_77_0= ruleXBlockExpression ) ) { // InternalSARL.g:5793:6: ( (lv_expression_77_0= ruleXBlockExpression ) ) // InternalSARL.g:5794:7: (lv_expression_77_0= ruleXBlockExpression ) { // InternalSARL.g:5794:7: (lv_expression_77_0= ruleXBlockExpression ) // InternalSARL.g:5795:8: lv_expression_77_0= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getExpressionXBlockExpressionParserRuleCall_2_2_9_0_0()); } pushFollow(FOLLOW_2); lv_expression_77_0=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "expression", lv_expression_77_0, "org.eclipse.xtext.xbase.Xbase.XBlockExpression"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:5813:6: otherlv_78= ';' { otherlv_78=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_78, grammarAccess.getMemberAccess().getSemicolonKeyword_2_2_9_1()); } } break; } } } break; case 4 : // InternalSARL.g:5820:4: ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) { // InternalSARL.g:5820:4: ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) // InternalSARL.g:5821:5: () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' { // InternalSARL.g:5821:5: () // InternalSARL.g:5822:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getMemberAccess().getSarlClassAnnotationInfoAction_2_3_0(), current); } } // InternalSARL.g:5828:5: ( (lv_modifiers_80_0= ruleCommonModifier ) )* loop167: do { int alt167=2; int LA167_0 = input.LA(1); if ( (LA167_0==25||(LA167_0>=69 && LA167_0<=80)) ) { alt167=1; } switch (alt167) { case 1 : // InternalSARL.g:5829:6: (lv_modifiers_80_0= ruleCommonModifier ) { // InternalSARL.g:5829:6: (lv_modifiers_80_0= ruleCommonModifier ) // InternalSARL.g:5830:7: lv_modifiers_80_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_3_1_0()); } pushFollow(FOLLOW_26); lv_modifiers_80_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_80_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop167; } } while (true); otherlv_81=(Token)match(input,39,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_81, grammarAccess.getMemberAccess().getClassKeyword_2_3_2()); } // InternalSARL.g:5851:5: ( (lv_name_82_0= ruleValidID ) ) // InternalSARL.g:5852:6: (lv_name_82_0= ruleValidID ) { // InternalSARL.g:5852:6: (lv_name_82_0= ruleValidID ) // InternalSARL.g:5853:7: lv_name_82_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_3_3_0()); } pushFollow(FOLLOW_27); lv_name_82_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "name", lv_name_82_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5870:5: (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? int alt169=2; int LA169_0 = input.LA(1); if ( (LA169_0==40) ) { alt169=1; } switch (alt169) { case 1 : // InternalSARL.g:5871:6: otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' { otherlv_83=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_83, grammarAccess.getMemberAccess().getLessThanSignKeyword_2_3_4_0()); } // InternalSARL.g:5875:6: ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) // InternalSARL.g:5876:7: (lv_typeParameters_84_0= ruleJvmTypeParameter ) { // InternalSARL.g:5876:7: (lv_typeParameters_84_0= ruleJvmTypeParameter ) // InternalSARL.g:5877:8: lv_typeParameters_84_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_3_4_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_84_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_84_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5894:6: (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* loop168: do { int alt168=2; int LA168_0 = input.LA(1); if ( (LA168_0==32) ) { alt168=1; } switch (alt168) { case 1 : // InternalSARL.g:5895:7: otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) { otherlv_85=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_85, grammarAccess.getMemberAccess().getCommaKeyword_2_3_4_2_0()); } // InternalSARL.g:5899:7: ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) // InternalSARL.g:5900:8: (lv_typeParameters_86_0= ruleJvmTypeParameter ) { // InternalSARL.g:5900:8: (lv_typeParameters_86_0= ruleJvmTypeParameter ) // InternalSARL.g:5901:9: lv_typeParameters_86_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_3_4_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_86_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_86_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop168; } } while (true); otherlv_87=(Token)match(input,41,FOLLOW_21); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_87, grammarAccess.getMemberAccess().getGreaterThanSignKeyword_2_3_4_3()); } } break; } // InternalSARL.g:5924:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:5925:6: ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:5925:6: ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:5926:7: ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5()); // InternalSARL.g:5929:7: ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) // InternalSARL.g:5930:8: ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* { // InternalSARL.g:5930:8: ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* loop171: do { int alt171=3; int LA171_0 = input.LA(1); if ( LA171_0 == 28 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 0) ) { alt171=1; } else if ( LA171_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 1) ) { alt171=2; } switch (alt171) { case 1 : // InternalSARL.g:5931:6: ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) { // InternalSARL.g:5931:6: ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) // InternalSARL.g:5932:7: {...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 0)"); } // InternalSARL.g:5932:109: ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) // InternalSARL.g:5933:8: ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 0); // InternalSARL.g:5936:11: ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) // InternalSARL.g:5936:12: {...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "true"); } // InternalSARL.g:5936:21: (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) // InternalSARL.g:5936:22: otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) { otherlv_89=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_89, grammarAccess.getMemberAccess().getExtendsKeyword_2_3_5_0_0()); } // InternalSARL.g:5940:11: ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:5941:12: (lv_extends_90_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:5941:12: (lv_extends_90_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:5942:13: lv_extends_90_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_3_5_0_1_0()); } pushFollow(FOLLOW_21); lv_extends_90_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "extends", lv_extends_90_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5()); } } } break; case 2 : // InternalSARL.g:5965:6: ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:5965:6: ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) // InternalSARL.g:5966:7: {...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "getUnorderedGroupHelper().canSelect(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 1)"); } // InternalSARL.g:5966:109: ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) // InternalSARL.g:5967:8: ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5(), 1); // InternalSARL.g:5970:11: ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) // InternalSARL.g:5970:12: {...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleMember", "true"); } // InternalSARL.g:5970:21: (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) // InternalSARL.g:5970:22: otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* { otherlv_91=(Token)match(input,36,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_91, grammarAccess.getMemberAccess().getImplementsKeyword_2_3_5_1_0()); } // InternalSARL.g:5974:11: ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:5975:12: (lv_implements_92_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:5975:12: (lv_implements_92_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:5976:13: lv_implements_92_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_3_5_1_1_0()); } pushFollow(FOLLOW_22); lv_implements_92_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "implements", lv_implements_92_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:5993:11: (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* loop170: do { int alt170=2; int LA170_0 = input.LA(1); if ( (LA170_0==32) ) { alt170=1; } switch (alt170) { case 1 : // InternalSARL.g:5994:12: otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) { otherlv_93=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_93, grammarAccess.getMemberAccess().getCommaKeyword_2_3_5_1_2_0()); } // InternalSARL.g:5998:12: ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:5999:13: (lv_implements_94_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:5999:13: (lv_implements_94_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:6000:14: lv_implements_94_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_3_5_1_2_1_0()); } pushFollow(FOLLOW_22); lv_implements_94_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "implements", lv_implements_94_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop170; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5()); } } } break; default : break loop171; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getMemberAccess().getUnorderedGroup_2_3_5()); } otherlv_95=(Token)match(input,29,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_95, grammarAccess.getMemberAccess().getLeftCurlyBracketKeyword_2_3_6()); } // InternalSARL.g:6035:5: ( (lv_members_96_0= ruleMember ) )* loop172: do { int alt172=2; int LA172_0 = input.LA(1); if ( (LA172_0==25||LA172_0==39||(LA172_0>=42 && LA172_0<=45)||LA172_0==48||(LA172_0>=61 && LA172_0<=62)||(LA172_0>=69 && LA172_0<=82)||LA172_0==94) ) { alt172=1; } switch (alt172) { case 1 : // InternalSARL.g:6036:6: (lv_members_96_0= ruleMember ) { // InternalSARL.g:6036:6: (lv_members_96_0= ruleMember ) // InternalSARL.g:6037:7: lv_members_96_0= ruleMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getMembersMemberParserRuleCall_2_3_7_0()); } pushFollow(FOLLOW_29); lv_members_96_0=ruleMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "members", lv_members_96_0, "io.sarl.lang.SARL.Member"); afterParserOrEnumRuleCall(); } } } break; default : break loop172; } } while (true); otherlv_97=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_97, grammarAccess.getMemberAccess().getRightCurlyBracketKeyword_2_3_8()); } } } break; case 5 : // InternalSARL.g:6060:4: ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) { // InternalSARL.g:6060:4: ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) // InternalSARL.g:6061:5: () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' { // InternalSARL.g:6061:5: () // InternalSARL.g:6062:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getMemberAccess().getSarlInterfaceAnnotationInfoAction_2_4_0(), current); } } // InternalSARL.g:6068:5: ( (lv_modifiers_99_0= ruleCommonModifier ) )* loop173: do { int alt173=2; int LA173_0 = input.LA(1); if ( (LA173_0==25||(LA173_0>=69 && LA173_0<=80)) ) { alt173=1; } switch (alt173) { case 1 : // InternalSARL.g:6069:6: (lv_modifiers_99_0= ruleCommonModifier ) { // InternalSARL.g:6069:6: (lv_modifiers_99_0= ruleCommonModifier ) // InternalSARL.g:6070:7: lv_modifiers_99_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_4_1_0()); } pushFollow(FOLLOW_30); lv_modifiers_99_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_99_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop173; } } while (true); otherlv_100=(Token)match(input,42,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_100, grammarAccess.getMemberAccess().getInterfaceKeyword_2_4_2()); } // InternalSARL.g:6091:5: ( (lv_name_101_0= ruleValidID ) ) // InternalSARL.g:6092:6: (lv_name_101_0= ruleValidID ) { // InternalSARL.g:6092:6: (lv_name_101_0= ruleValidID ) // InternalSARL.g:6093:7: lv_name_101_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_4_3_0()); } pushFollow(FOLLOW_31); lv_name_101_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "name", lv_name_101_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6110:5: (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? int alt175=2; int LA175_0 = input.LA(1); if ( (LA175_0==40) ) { alt175=1; } switch (alt175) { case 1 : // InternalSARL.g:6111:6: otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' { otherlv_102=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_102, grammarAccess.getMemberAccess().getLessThanSignKeyword_2_4_4_0()); } // InternalSARL.g:6115:6: ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) // InternalSARL.g:6116:7: (lv_typeParameters_103_0= ruleJvmTypeParameter ) { // InternalSARL.g:6116:7: (lv_typeParameters_103_0= ruleJvmTypeParameter ) // InternalSARL.g:6117:8: lv_typeParameters_103_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_4_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_103_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_103_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6134:6: (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* loop174: do { int alt174=2; int LA174_0 = input.LA(1); if ( (LA174_0==32) ) { alt174=1; } switch (alt174) { case 1 : // InternalSARL.g:6135:7: otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) { otherlv_104=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_104, grammarAccess.getMemberAccess().getCommaKeyword_2_4_4_2_0()); } // InternalSARL.g:6139:7: ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) // InternalSARL.g:6140:8: (lv_typeParameters_105_0= ruleJvmTypeParameter ) { // InternalSARL.g:6140:8: (lv_typeParameters_105_0= ruleJvmTypeParameter ) // InternalSARL.g:6141:9: lv_typeParameters_105_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_4_4_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_105_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "typeParameters", lv_typeParameters_105_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop174; } } while (true); otherlv_106=(Token)match(input,41,FOLLOW_13); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_106, grammarAccess.getMemberAccess().getGreaterThanSignKeyword_2_4_4_3()); } } break; } // InternalSARL.g:6164:5: (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? int alt177=2; int LA177_0 = input.LA(1); if ( (LA177_0==28) ) { alt177=1; } switch (alt177) { case 1 : // InternalSARL.g:6165:6: otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* { otherlv_107=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_107, grammarAccess.getMemberAccess().getExtendsKeyword_2_4_5_0()); } // InternalSARL.g:6169:6: ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:6170:7: (lv_extends_108_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:6170:7: (lv_extends_108_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:6171:8: lv_extends_108_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_4_5_1_0()); } pushFollow(FOLLOW_14); lv_extends_108_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "extends", lv_extends_108_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6188:6: (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* loop176: do { int alt176=2; int LA176_0 = input.LA(1); if ( (LA176_0==32) ) { alt176=1; } switch (alt176) { case 1 : // InternalSARL.g:6189:7: otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) { otherlv_109=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_109, grammarAccess.getMemberAccess().getCommaKeyword_2_4_5_2_0()); } // InternalSARL.g:6193:7: ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:6194:8: (lv_extends_110_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:6194:8: (lv_extends_110_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:6195:9: lv_extends_110_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_4_5_2_1_0()); } pushFollow(FOLLOW_14); lv_extends_110_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "extends", lv_extends_110_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop176; } } while (true); } break; } otherlv_111=(Token)match(input,29,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_111, grammarAccess.getMemberAccess().getLeftCurlyBracketKeyword_2_4_6()); } // InternalSARL.g:6218:5: ( (lv_members_112_0= ruleMember ) )* loop178: do { int alt178=2; int LA178_0 = input.LA(1); if ( (LA178_0==25||LA178_0==39||(LA178_0>=42 && LA178_0<=45)||LA178_0==48||(LA178_0>=61 && LA178_0<=62)||(LA178_0>=69 && LA178_0<=82)||LA178_0==94) ) { alt178=1; } switch (alt178) { case 1 : // InternalSARL.g:6219:6: (lv_members_112_0= ruleMember ) { // InternalSARL.g:6219:6: (lv_members_112_0= ruleMember ) // InternalSARL.g:6220:7: lv_members_112_0= ruleMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getMembersMemberParserRuleCall_2_4_7_0()); } pushFollow(FOLLOW_29); lv_members_112_0=ruleMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "members", lv_members_112_0, "io.sarl.lang.SARL.Member"); afterParserOrEnumRuleCall(); } } } break; default : break loop178; } } while (true); otherlv_113=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_113, grammarAccess.getMemberAccess().getRightCurlyBracketKeyword_2_4_8()); } } } break; case 6 : // InternalSARL.g:6243:4: ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) { // InternalSARL.g:6243:4: ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) // InternalSARL.g:6244:5: () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' { // InternalSARL.g:6244:5: () // InternalSARL.g:6245:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getMemberAccess().getSarlEnumerationAnnotationInfoAction_2_5_0(), current); } } // InternalSARL.g:6251:5: ( (lv_modifiers_115_0= ruleCommonModifier ) )* loop179: do { int alt179=2; int LA179_0 = input.LA(1); if ( (LA179_0==25||(LA179_0>=69 && LA179_0<=80)) ) { alt179=1; } switch (alt179) { case 1 : // InternalSARL.g:6252:6: (lv_modifiers_115_0= ruleCommonModifier ) { // InternalSARL.g:6252:6: (lv_modifiers_115_0= ruleCommonModifier ) // InternalSARL.g:6253:7: lv_modifiers_115_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_5_1_0()); } pushFollow(FOLLOW_32); lv_modifiers_115_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_115_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop179; } } while (true); otherlv_116=(Token)match(input,43,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_116, grammarAccess.getMemberAccess().getEnumKeyword_2_5_2()); } // InternalSARL.g:6274:5: ( (lv_name_117_0= ruleValidID ) ) // InternalSARL.g:6275:6: (lv_name_117_0= ruleValidID ) { // InternalSARL.g:6275:6: (lv_name_117_0= ruleValidID ) // InternalSARL.g:6276:7: lv_name_117_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_5_3_0()); } pushFollow(FOLLOW_17); lv_name_117_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "name", lv_name_117_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_118=(Token)match(input,29,FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_118, grammarAccess.getMemberAccess().getLeftCurlyBracketKeyword_2_5_4()); } // InternalSARL.g:6297:5: ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? int alt181=2; int LA181_0 = input.LA(1); if ( (LA181_0==RULE_ID||LA181_0==44||(LA181_0>=83 && LA181_0<=86)) ) { alt181=1; } switch (alt181) { case 1 : // InternalSARL.g:6298:6: ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* { // InternalSARL.g:6298:6: ( (lv_members_119_0= ruleXtendEnumLiteral ) ) // InternalSARL.g:6299:7: (lv_members_119_0= ruleXtendEnumLiteral ) { // InternalSARL.g:6299:7: (lv_members_119_0= ruleXtendEnumLiteral ) // InternalSARL.g:6300:8: lv_members_119_0= ruleXtendEnumLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getMembersXtendEnumLiteralParserRuleCall_2_5_5_0_0()); } pushFollow(FOLLOW_34); lv_members_119_0=ruleXtendEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "members", lv_members_119_0, "io.sarl.lang.SARL.XtendEnumLiteral"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6317:6: (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* loop180: do { int alt180=2; int LA180_0 = input.LA(1); if ( (LA180_0==32) ) { alt180=1; } switch (alt180) { case 1 : // InternalSARL.g:6318:7: otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) { otherlv_120=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_120, grammarAccess.getMemberAccess().getCommaKeyword_2_5_5_1_0()); } // InternalSARL.g:6322:7: ( (lv_members_121_0= ruleXtendEnumLiteral ) ) // InternalSARL.g:6323:8: (lv_members_121_0= ruleXtendEnumLiteral ) { // InternalSARL.g:6323:8: (lv_members_121_0= ruleXtendEnumLiteral ) // InternalSARL.g:6324:9: lv_members_121_0= ruleXtendEnumLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getMembersXtendEnumLiteralParserRuleCall_2_5_5_1_1_0()); } pushFollow(FOLLOW_34); lv_members_121_0=ruleXtendEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "members", lv_members_121_0, "io.sarl.lang.SARL.XtendEnumLiteral"); afterParserOrEnumRuleCall(); } } } } break; default : break loop180; } } while (true); } break; } // InternalSARL.g:6343:5: (otherlv_122= ';' )? int alt182=2; int LA182_0 = input.LA(1); if ( (LA182_0==26) ) { alt182=1; } switch (alt182) { case 1 : // InternalSARL.g:6344:6: otherlv_122= ';' { otherlv_122=(Token)match(input,26,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_122, grammarAccess.getMemberAccess().getSemicolonKeyword_2_5_6()); } } break; } otherlv_123=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_123, grammarAccess.getMemberAccess().getRightCurlyBracketKeyword_2_5_7()); } } } break; case 7 : // InternalSARL.g:6355:4: ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) { // InternalSARL.g:6355:4: ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) // InternalSARL.g:6356:5: () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' { // InternalSARL.g:6356:5: () // InternalSARL.g:6357:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getMemberAccess().getSarlAnnotationTypeAnnotationInfoAction_2_6_0(), current); } } // InternalSARL.g:6363:5: ( (lv_modifiers_125_0= ruleCommonModifier ) )* loop183: do { int alt183=2; int LA183_0 = input.LA(1); if ( (LA183_0==25||(LA183_0>=69 && LA183_0<=80)) ) { alt183=1; } switch (alt183) { case 1 : // InternalSARL.g:6364:6: (lv_modifiers_125_0= ruleCommonModifier ) { // InternalSARL.g:6364:6: (lv_modifiers_125_0= ruleCommonModifier ) // InternalSARL.g:6365:7: lv_modifiers_125_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getModifiersCommonModifierParserRuleCall_2_6_1_0()); } pushFollow(FOLLOW_35); lv_modifiers_125_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "modifiers", lv_modifiers_125_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop183; } } while (true); otherlv_126=(Token)match(input,44,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_126, grammarAccess.getMemberAccess().getAnnotationKeyword_2_6_2()); } // InternalSARL.g:6386:5: ( (lv_name_127_0= ruleValidID ) ) // InternalSARL.g:6387:6: (lv_name_127_0= ruleValidID ) { // InternalSARL.g:6387:6: (lv_name_127_0= ruleValidID ) // InternalSARL.g:6388:7: lv_name_127_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getNameValidIDParserRuleCall_2_6_3_0()); } pushFollow(FOLLOW_17); lv_name_127_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } set( current, "name", lv_name_127_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_128=(Token)match(input,29,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_128, grammarAccess.getMemberAccess().getLeftCurlyBracketKeyword_2_6_4()); } // InternalSARL.g:6409:5: ( (lv_members_129_0= ruleAnnotationField ) )* loop184: do { int alt184=2; int LA184_0 = input.LA(1); if ( (LA184_0==25||LA184_0==39||(LA184_0>=42 && LA184_0<=44)||(LA184_0>=61 && LA184_0<=62)||(LA184_0>=69 && LA184_0<=80)||LA184_0==94) ) { alt184=1; } switch (alt184) { case 1 : // InternalSARL.g:6410:6: (lv_members_129_0= ruleAnnotationField ) { // InternalSARL.g:6410:6: (lv_members_129_0= ruleAnnotationField ) // InternalSARL.g:6411:7: lv_members_129_0= ruleAnnotationField { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMemberAccess().getMembersAnnotationFieldParserRuleCall_2_6_5_0()); } pushFollow(FOLLOW_36); lv_members_129_0=ruleAnnotationField(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMemberRule()); } add( current, "members", lv_members_129_0, "io.sarl.lang.SARL.AnnotationField"); afterParserOrEnumRuleCall(); } } } break; default : break loop184; } } while (true); otherlv_130=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_130, grammarAccess.getMemberAccess().getRightCurlyBracketKeyword_2_6_6()); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleMember" // $ANTLR start "entryRuleAnnotationField" // InternalSARL.g:6438:1: entryRuleAnnotationField returns [EObject current=null] : iv_ruleAnnotationField= ruleAnnotationField EOF ; public final EObject entryRuleAnnotationField() throws RecognitionException { EObject current = null; EObject iv_ruleAnnotationField = null; try { // InternalSARL.g:6438:56: (iv_ruleAnnotationField= ruleAnnotationField EOF ) // InternalSARL.g:6439:2: iv_ruleAnnotationField= ruleAnnotationField EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldRule()); } pushFollow(FOLLOW_1); iv_ruleAnnotationField=ruleAnnotationField(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleAnnotationField; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleAnnotationField" // $ANTLR start "ruleAnnotationField" // InternalSARL.g:6445:1: ruleAnnotationField returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) ) ) ; public final EObject ruleAnnotationField() throws RecognitionException { EObject current = null; Token otherlv_7=null; Token otherlv_9=null; Token otherlv_11=null; Token otherlv_14=null; Token otherlv_16=null; Token otherlv_18=null; Token otherlv_20=null; Token otherlv_22=null; Token otherlv_24=null; Token otherlv_26=null; Token otherlv_28=null; Token otherlv_30=null; Token otherlv_33=null; Token otherlv_35=null; Token otherlv_37=null; Token otherlv_39=null; Token otherlv_40=null; Token otherlv_42=null; Token otherlv_44=null; Token otherlv_46=null; Token otherlv_49=null; Token otherlv_51=null; Token otherlv_53=null; Token otherlv_55=null; Token otherlv_56=null; Token otherlv_59=null; Token otherlv_61=null; Token otherlv_63=null; EObject lv_annotations_1_0 = null; AntlrDatatypeRuleToken lv_modifiers_3_0 = null; AntlrDatatypeRuleToken lv_modifiers_4_0 = null; AntlrDatatypeRuleToken lv_modifiers_5_0 = null; AntlrDatatypeRuleToken lv_name_6_0 = null; EObject lv_type_8_0 = null; EObject lv_initialValue_10_0 = null; AntlrDatatypeRuleToken lv_modifiers_13_0 = null; AntlrDatatypeRuleToken lv_name_15_0 = null; EObject lv_typeParameters_17_0 = null; EObject lv_typeParameters_19_0 = null; EObject lv_extends_23_0 = null; EObject lv_implements_25_0 = null; EObject lv_implements_27_0 = null; EObject lv_members_29_0 = null; AntlrDatatypeRuleToken lv_modifiers_32_0 = null; AntlrDatatypeRuleToken lv_name_34_0 = null; EObject lv_typeParameters_36_0 = null; EObject lv_typeParameters_38_0 = null; EObject lv_extends_41_0 = null; EObject lv_extends_43_0 = null; EObject lv_members_45_0 = null; AntlrDatatypeRuleToken lv_modifiers_48_0 = null; AntlrDatatypeRuleToken lv_name_50_0 = null; EObject lv_members_52_0 = null; EObject lv_members_54_0 = null; AntlrDatatypeRuleToken lv_modifiers_58_0 = null; AntlrDatatypeRuleToken lv_name_60_0 = null; EObject lv_members_62_0 = null; enterRule(); try { // InternalSARL.g:6451:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) ) ) ) // InternalSARL.g:6452:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) ) ) { // InternalSARL.g:6452:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) ) ) // InternalSARL.g:6453:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) ) { // InternalSARL.g:6453:3: () // InternalSARL.g:6454:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getAnnotationFieldAccess().getXtendMemberAction_0(), current); } } // InternalSARL.g:6460:3: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop186: do { int alt186=2; int LA186_0 = input.LA(1); if ( (LA186_0==94) ) { alt186=1; } switch (alt186) { case 1 : // InternalSARL.g:6461:4: (lv_annotations_1_0= ruleXAnnotation ) { // InternalSARL.g:6461:4: (lv_annotations_1_0= ruleXAnnotation ) // InternalSARL.g:6462:5: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FOLLOW_67); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop186; } } while (true); // InternalSARL.g:6479:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) ) int alt210=5; alt210 = dfa210.predict(input); switch (alt210) { case 1 : // InternalSARL.g:6480:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) { // InternalSARL.g:6480:4: ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) // InternalSARL.g:6481:5: () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? { // InternalSARL.g:6481:5: () // InternalSARL.g:6482:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAnnotationFieldAccess().getSarlFieldAnnotationInfoAction_2_0_0(), current); } } // InternalSARL.g:6488:5: ( (lv_modifiers_3_0= ruleCommonModifier ) )* loop187: do { int alt187=2; int LA187_0 = input.LA(1); if ( (LA187_0==25||(LA187_0>=69 && LA187_0<=80)) ) { alt187=1; } switch (alt187) { case 1 : // InternalSARL.g:6489:6: (lv_modifiers_3_0= ruleCommonModifier ) { // InternalSARL.g:6489:6: (lv_modifiers_3_0= ruleCommonModifier ) // InternalSARL.g:6490:7: lv_modifiers_3_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_0_1_0()); } pushFollow(FOLLOW_38); lv_modifiers_3_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "modifiers", lv_modifiers_3_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop187; } } while (true); // InternalSARL.g:6507:5: ( (lv_modifiers_4_0= ruleFieldModifier ) ) // InternalSARL.g:6508:6: (lv_modifiers_4_0= ruleFieldModifier ) { // InternalSARL.g:6508:6: (lv_modifiers_4_0= ruleFieldModifier ) // InternalSARL.g:6509:7: lv_modifiers_4_0= ruleFieldModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersFieldModifierParserRuleCall_2_0_2_0()); } pushFollow(FOLLOW_68); lv_modifiers_4_0=ruleFieldModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "modifiers", lv_modifiers_4_0, "org.eclipse.xtend.core.Xtend.FieldModifier"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6526:5: ( (lv_modifiers_5_0= ruleCommonModifier ) )* loop188: do { int alt188=2; int LA188_0 = input.LA(1); if ( (LA188_0==25||(LA188_0>=69 && LA188_0<=80)) ) { alt188=1; } switch (alt188) { case 1 : // InternalSARL.g:6527:6: (lv_modifiers_5_0= ruleCommonModifier ) { // InternalSARL.g:6527:6: (lv_modifiers_5_0= ruleCommonModifier ) // InternalSARL.g:6528:7: lv_modifiers_5_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_0_3_0()); } pushFollow(FOLLOW_68); lv_modifiers_5_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "modifiers", lv_modifiers_5_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop188; } } while (true); // InternalSARL.g:6545:5: ( (lv_name_6_0= ruleValidID ) ) // InternalSARL.g:6546:6: (lv_name_6_0= ruleValidID ) { // InternalSARL.g:6546:6: (lv_name_6_0= ruleValidID ) // InternalSARL.g:6547:7: lv_name_6_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getNameValidIDParserRuleCall_2_0_4_0()); } pushFollow(FOLLOW_44); lv_name_6_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } set( current, "name", lv_name_6_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6564:5: (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? int alt189=2; int LA189_0 = input.LA(1); if ( (LA189_0==46) ) { alt189=1; } switch (alt189) { case 1 : // InternalSARL.g:6565:6: otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) { otherlv_7=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getAnnotationFieldAccess().getColonKeyword_2_0_5_0()); } // InternalSARL.g:6569:6: ( (lv_type_8_0= ruleJvmTypeReference ) ) // InternalSARL.g:6570:7: (lv_type_8_0= ruleJvmTypeReference ) { // InternalSARL.g:6570:7: (lv_type_8_0= ruleJvmTypeReference ) // InternalSARL.g:6571:8: lv_type_8_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_5_1_0()); } pushFollow(FOLLOW_42); lv_type_8_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } set( current, "type", lv_type_8_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } // InternalSARL.g:6589:5: (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? int alt190=2; int LA190_0 = input.LA(1); if ( (LA190_0==47) ) { alt190=1; } switch (alt190) { case 1 : // InternalSARL.g:6590:6: otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) { otherlv_9=(Token)match(input,47,FOLLOW_69); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getAnnotationFieldAccess().getEqualsSignKeyword_2_0_6_0()); } // InternalSARL.g:6594:6: ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) // InternalSARL.g:6595:7: (lv_initialValue_10_0= ruleXAnnotationElementValue ) { // InternalSARL.g:6595:7: (lv_initialValue_10_0= ruleXAnnotationElementValue ) // InternalSARL.g:6596:8: lv_initialValue_10_0= ruleXAnnotationElementValue { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getInitialValueXAnnotationElementValueParserRuleCall_2_0_6_1_0()); } pushFollow(FOLLOW_46); lv_initialValue_10_0=ruleXAnnotationElementValue(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } set( current, "initialValue", lv_initialValue_10_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValue"); afterParserOrEnumRuleCall(); } } } } break; } // InternalSARL.g:6614:5: (otherlv_11= ';' )? int alt191=2; int LA191_0 = input.LA(1); if ( (LA191_0==26) ) { alt191=1; } switch (alt191) { case 1 : // InternalSARL.g:6615:6: otherlv_11= ';' { otherlv_11=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getAnnotationFieldAccess().getSemicolonKeyword_2_0_7()); } } break; } } } break; case 2 : // InternalSARL.g:6622:4: ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) { // InternalSARL.g:6622:4: ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) // InternalSARL.g:6623:5: () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' { // InternalSARL.g:6623:5: () // InternalSARL.g:6624:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAnnotationFieldAccess().getSarlClassAnnotationInfoAction_2_1_0(), current); } } // InternalSARL.g:6630:5: ( (lv_modifiers_13_0= ruleCommonModifier ) )* loop192: do { int alt192=2; int LA192_0 = input.LA(1); if ( (LA192_0==25||(LA192_0>=69 && LA192_0<=80)) ) { alt192=1; } switch (alt192) { case 1 : // InternalSARL.g:6631:6: (lv_modifiers_13_0= ruleCommonModifier ) { // InternalSARL.g:6631:6: (lv_modifiers_13_0= ruleCommonModifier ) // InternalSARL.g:6632:7: lv_modifiers_13_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_1_1_0()); } pushFollow(FOLLOW_26); lv_modifiers_13_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "modifiers", lv_modifiers_13_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop192; } } while (true); otherlv_14=(Token)match(input,39,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getAnnotationFieldAccess().getClassKeyword_2_1_2()); } // InternalSARL.g:6653:5: ( (lv_name_15_0= ruleValidID ) ) // InternalSARL.g:6654:6: (lv_name_15_0= ruleValidID ) { // InternalSARL.g:6654:6: (lv_name_15_0= ruleValidID ) // InternalSARL.g:6655:7: lv_name_15_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getNameValidIDParserRuleCall_2_1_3_0()); } pushFollow(FOLLOW_27); lv_name_15_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } set( current, "name", lv_name_15_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6672:5: (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? int alt194=2; int LA194_0 = input.LA(1); if ( (LA194_0==40) ) { alt194=1; } switch (alt194) { case 1 : // InternalSARL.g:6673:6: otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' { otherlv_16=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_16, grammarAccess.getAnnotationFieldAccess().getLessThanSignKeyword_2_1_4_0()); } // InternalSARL.g:6677:6: ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) // InternalSARL.g:6678:7: (lv_typeParameters_17_0= ruleJvmTypeParameter ) { // InternalSARL.g:6678:7: (lv_typeParameters_17_0= ruleJvmTypeParameter ) // InternalSARL.g:6679:8: lv_typeParameters_17_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_4_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_17_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "typeParameters", lv_typeParameters_17_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6696:6: (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* loop193: do { int alt193=2; int LA193_0 = input.LA(1); if ( (LA193_0==32) ) { alt193=1; } switch (alt193) { case 1 : // InternalSARL.g:6697:7: otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) { otherlv_18=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_18, grammarAccess.getAnnotationFieldAccess().getCommaKeyword_2_1_4_2_0()); } // InternalSARL.g:6701:7: ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) // InternalSARL.g:6702:8: (lv_typeParameters_19_0= ruleJvmTypeParameter ) { // InternalSARL.g:6702:8: (lv_typeParameters_19_0= ruleJvmTypeParameter ) // InternalSARL.g:6703:9: lv_typeParameters_19_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_1_4_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_19_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "typeParameters", lv_typeParameters_19_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop193; } } while (true); otherlv_20=(Token)match(input,41,FOLLOW_21); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_20, grammarAccess.getAnnotationFieldAccess().getGreaterThanSignKeyword_2_1_4_3()); } } break; } // InternalSARL.g:6726:5: ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) // InternalSARL.g:6727:6: ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) { // InternalSARL.g:6727:6: ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) // InternalSARL.g:6728:7: ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) { getUnorderedGroupHelper().enter(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5()); // InternalSARL.g:6731:7: ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) // InternalSARL.g:6732:8: ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* { // InternalSARL.g:6732:8: ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* loop196: do { int alt196=3; int LA196_0 = input.LA(1); if ( LA196_0 == 28 && getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 0) ) { alt196=1; } else if ( LA196_0 == 36 && getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 1) ) { alt196=2; } switch (alt196) { case 1 : // InternalSARL.g:6733:6: ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) { // InternalSARL.g:6733:6: ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) // InternalSARL.g:6734:7: {...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 0) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAnnotationField", "getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 0)"); } // InternalSARL.g:6734:118: ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) // InternalSARL.g:6735:8: ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) { getUnorderedGroupHelper().select(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 0); // InternalSARL.g:6738:11: ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) // InternalSARL.g:6738:12: {...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAnnotationField", "true"); } // InternalSARL.g:6738:21: (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) // InternalSARL.g:6738:22: otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) { otherlv_22=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_22, grammarAccess.getAnnotationFieldAccess().getExtendsKeyword_2_1_5_0_0()); } // InternalSARL.g:6742:11: ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:6743:12: (lv_extends_23_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:6743:12: (lv_extends_23_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:6744:13: lv_extends_23_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_1_5_0_1_0()); } pushFollow(FOLLOW_21); lv_extends_23_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } set( current, "extends", lv_extends_23_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5()); } } } break; case 2 : // InternalSARL.g:6767:6: ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) { // InternalSARL.g:6767:6: ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) // InternalSARL.g:6768:7: {...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) { if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 1) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAnnotationField", "getUnorderedGroupHelper().canSelect(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 1)"); } // InternalSARL.g:6768:118: ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) // InternalSARL.g:6769:8: ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) { getUnorderedGroupHelper().select(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5(), 1); // InternalSARL.g:6772:11: ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) // InternalSARL.g:6772:12: {...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) { if ( !((true)) ) { if (state.backtracking>0) {state.failed=true; return current;} throw new FailedPredicateException(input, "ruleAnnotationField", "true"); } // InternalSARL.g:6772:21: (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) // InternalSARL.g:6772:22: otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* { otherlv_24=(Token)match(input,36,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_24, grammarAccess.getAnnotationFieldAccess().getImplementsKeyword_2_1_5_1_0()); } // InternalSARL.g:6776:11: ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:6777:12: (lv_implements_25_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:6777:12: (lv_implements_25_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:6778:13: lv_implements_25_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_1_5_1_1_0()); } pushFollow(FOLLOW_22); lv_implements_25_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "implements", lv_implements_25_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6795:11: (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* loop195: do { int alt195=2; int LA195_0 = input.LA(1); if ( (LA195_0==32) ) { alt195=1; } switch (alt195) { case 1 : // InternalSARL.g:6796:12: otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) { otherlv_26=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_26, grammarAccess.getAnnotationFieldAccess().getCommaKeyword_2_1_5_1_2_0()); } // InternalSARL.g:6800:12: ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:6801:13: (lv_implements_27_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:6801:13: (lv_implements_27_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:6802:14: lv_implements_27_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getImplementsJvmParameterizedTypeReferenceParserRuleCall_2_1_5_1_2_1_0()); } pushFollow(FOLLOW_22); lv_implements_27_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "implements", lv_implements_27_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop195; } } while (true); } } getUnorderedGroupHelper().returnFromSelection(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5()); } } } break; default : break loop196; } } while (true); } } getUnorderedGroupHelper().leave(grammarAccess.getAnnotationFieldAccess().getUnorderedGroup_2_1_5()); } otherlv_28=(Token)match(input,29,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_28, grammarAccess.getAnnotationFieldAccess().getLeftCurlyBracketKeyword_2_1_6()); } // InternalSARL.g:6837:5: ( (lv_members_29_0= ruleMember ) )* loop197: do { int alt197=2; int LA197_0 = input.LA(1); if ( (LA197_0==25||LA197_0==39||(LA197_0>=42 && LA197_0<=45)||LA197_0==48||(LA197_0>=61 && LA197_0<=62)||(LA197_0>=69 && LA197_0<=82)||LA197_0==94) ) { alt197=1; } switch (alt197) { case 1 : // InternalSARL.g:6838:6: (lv_members_29_0= ruleMember ) { // InternalSARL.g:6838:6: (lv_members_29_0= ruleMember ) // InternalSARL.g:6839:7: lv_members_29_0= ruleMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getMembersMemberParserRuleCall_2_1_7_0()); } pushFollow(FOLLOW_29); lv_members_29_0=ruleMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "members", lv_members_29_0, "io.sarl.lang.SARL.Member"); afterParserOrEnumRuleCall(); } } } break; default : break loop197; } } while (true); otherlv_30=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_30, grammarAccess.getAnnotationFieldAccess().getRightCurlyBracketKeyword_2_1_8()); } } } break; case 3 : // InternalSARL.g:6862:4: ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) { // InternalSARL.g:6862:4: ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) // InternalSARL.g:6863:5: () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' { // InternalSARL.g:6863:5: () // InternalSARL.g:6864:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAnnotationFieldAccess().getSarlInterfaceAnnotationInfoAction_2_2_0(), current); } } // InternalSARL.g:6870:5: ( (lv_modifiers_32_0= ruleCommonModifier ) )* loop198: do { int alt198=2; int LA198_0 = input.LA(1); if ( (LA198_0==25||(LA198_0>=69 && LA198_0<=80)) ) { alt198=1; } switch (alt198) { case 1 : // InternalSARL.g:6871:6: (lv_modifiers_32_0= ruleCommonModifier ) { // InternalSARL.g:6871:6: (lv_modifiers_32_0= ruleCommonModifier ) // InternalSARL.g:6872:7: lv_modifiers_32_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_2_1_0()); } pushFollow(FOLLOW_30); lv_modifiers_32_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "modifiers", lv_modifiers_32_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop198; } } while (true); otherlv_33=(Token)match(input,42,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_33, grammarAccess.getAnnotationFieldAccess().getInterfaceKeyword_2_2_2()); } // InternalSARL.g:6893:5: ( (lv_name_34_0= ruleValidID ) ) // InternalSARL.g:6894:6: (lv_name_34_0= ruleValidID ) { // InternalSARL.g:6894:6: (lv_name_34_0= ruleValidID ) // InternalSARL.g:6895:7: lv_name_34_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getNameValidIDParserRuleCall_2_2_3_0()); } pushFollow(FOLLOW_31); lv_name_34_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } set( current, "name", lv_name_34_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6912:5: (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? int alt200=2; int LA200_0 = input.LA(1); if ( (LA200_0==40) ) { alt200=1; } switch (alt200) { case 1 : // InternalSARL.g:6913:6: otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' { otherlv_35=(Token)match(input,40,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_35, grammarAccess.getAnnotationFieldAccess().getLessThanSignKeyword_2_2_4_0()); } // InternalSARL.g:6917:6: ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) // InternalSARL.g:6918:7: (lv_typeParameters_36_0= ruleJvmTypeParameter ) { // InternalSARL.g:6918:7: (lv_typeParameters_36_0= ruleJvmTypeParameter ) // InternalSARL.g:6919:8: lv_typeParameters_36_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_4_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_36_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "typeParameters", lv_typeParameters_36_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6936:6: (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* loop199: do { int alt199=2; int LA199_0 = input.LA(1); if ( (LA199_0==32) ) { alt199=1; } switch (alt199) { case 1 : // InternalSARL.g:6937:7: otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) { otherlv_37=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_37, grammarAccess.getAnnotationFieldAccess().getCommaKeyword_2_2_4_2_0()); } // InternalSARL.g:6941:7: ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) // InternalSARL.g:6942:8: (lv_typeParameters_38_0= ruleJvmTypeParameter ) { // InternalSARL.g:6942:8: (lv_typeParameters_38_0= ruleJvmTypeParameter ) // InternalSARL.g:6943:9: lv_typeParameters_38_0= ruleJvmTypeParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getTypeParametersJvmTypeParameterParserRuleCall_2_2_4_2_1_0()); } pushFollow(FOLLOW_28); lv_typeParameters_38_0=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "typeParameters", lv_typeParameters_38_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop199; } } while (true); otherlv_39=(Token)match(input,41,FOLLOW_13); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_39, grammarAccess.getAnnotationFieldAccess().getGreaterThanSignKeyword_2_2_4_3()); } } break; } // InternalSARL.g:6966:5: (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? int alt202=2; int LA202_0 = input.LA(1); if ( (LA202_0==28) ) { alt202=1; } switch (alt202) { case 1 : // InternalSARL.g:6967:6: otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* { otherlv_40=(Token)match(input,28,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_40, grammarAccess.getAnnotationFieldAccess().getExtendsKeyword_2_2_5_0()); } // InternalSARL.g:6971:6: ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:6972:7: (lv_extends_41_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:6972:7: (lv_extends_41_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:6973:8: lv_extends_41_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_2_5_1_0()); } pushFollow(FOLLOW_14); lv_extends_41_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "extends", lv_extends_41_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:6990:6: (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* loop201: do { int alt201=2; int LA201_0 = input.LA(1); if ( (LA201_0==32) ) { alt201=1; } switch (alt201) { case 1 : // InternalSARL.g:6991:7: otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) { otherlv_42=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_42, grammarAccess.getAnnotationFieldAccess().getCommaKeyword_2_2_5_2_0()); } // InternalSARL.g:6995:7: ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) // InternalSARL.g:6996:8: (lv_extends_43_0= ruleJvmParameterizedTypeReference ) { // InternalSARL.g:6996:8: (lv_extends_43_0= ruleJvmParameterizedTypeReference ) // InternalSARL.g:6997:9: lv_extends_43_0= ruleJvmParameterizedTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getExtendsJvmParameterizedTypeReferenceParserRuleCall_2_2_5_2_1_0()); } pushFollow(FOLLOW_14); lv_extends_43_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "extends", lv_extends_43_0, "org.eclipse.xtext.xbase.Xtype.JvmParameterizedTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop201; } } while (true); } break; } otherlv_44=(Token)match(input,29,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_44, grammarAccess.getAnnotationFieldAccess().getLeftCurlyBracketKeyword_2_2_6()); } // InternalSARL.g:7020:5: ( (lv_members_45_0= ruleMember ) )* loop203: do { int alt203=2; int LA203_0 = input.LA(1); if ( (LA203_0==25||LA203_0==39||(LA203_0>=42 && LA203_0<=45)||LA203_0==48||(LA203_0>=61 && LA203_0<=62)||(LA203_0>=69 && LA203_0<=82)||LA203_0==94) ) { alt203=1; } switch (alt203) { case 1 : // InternalSARL.g:7021:6: (lv_members_45_0= ruleMember ) { // InternalSARL.g:7021:6: (lv_members_45_0= ruleMember ) // InternalSARL.g:7022:7: lv_members_45_0= ruleMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getMembersMemberParserRuleCall_2_2_7_0()); } pushFollow(FOLLOW_29); lv_members_45_0=ruleMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "members", lv_members_45_0, "io.sarl.lang.SARL.Member"); afterParserOrEnumRuleCall(); } } } break; default : break loop203; } } while (true); otherlv_46=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_46, grammarAccess.getAnnotationFieldAccess().getRightCurlyBracketKeyword_2_2_8()); } } } break; case 4 : // InternalSARL.g:7045:4: ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) { // InternalSARL.g:7045:4: ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) // InternalSARL.g:7046:5: () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' { // InternalSARL.g:7046:5: () // InternalSARL.g:7047:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAnnotationFieldAccess().getSarlEnumerationAnnotationInfoAction_2_3_0(), current); } } // InternalSARL.g:7053:5: ( (lv_modifiers_48_0= ruleCommonModifier ) )* loop204: do { int alt204=2; int LA204_0 = input.LA(1); if ( (LA204_0==25||(LA204_0>=69 && LA204_0<=80)) ) { alt204=1; } switch (alt204) { case 1 : // InternalSARL.g:7054:6: (lv_modifiers_48_0= ruleCommonModifier ) { // InternalSARL.g:7054:6: (lv_modifiers_48_0= ruleCommonModifier ) // InternalSARL.g:7055:7: lv_modifiers_48_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_3_1_0()); } pushFollow(FOLLOW_32); lv_modifiers_48_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "modifiers", lv_modifiers_48_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop204; } } while (true); otherlv_49=(Token)match(input,43,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_49, grammarAccess.getAnnotationFieldAccess().getEnumKeyword_2_3_2()); } // InternalSARL.g:7076:5: ( (lv_name_50_0= ruleValidID ) ) // InternalSARL.g:7077:6: (lv_name_50_0= ruleValidID ) { // InternalSARL.g:7077:6: (lv_name_50_0= ruleValidID ) // InternalSARL.g:7078:7: lv_name_50_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getNameValidIDParserRuleCall_2_3_3_0()); } pushFollow(FOLLOW_17); lv_name_50_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } set( current, "name", lv_name_50_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_51=(Token)match(input,29,FOLLOW_33); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_51, grammarAccess.getAnnotationFieldAccess().getLeftCurlyBracketKeyword_2_3_4()); } // InternalSARL.g:7099:5: ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? int alt206=2; int LA206_0 = input.LA(1); if ( (LA206_0==RULE_ID||LA206_0==44||(LA206_0>=83 && LA206_0<=86)) ) { alt206=1; } switch (alt206) { case 1 : // InternalSARL.g:7100:6: ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* { // InternalSARL.g:7100:6: ( (lv_members_52_0= ruleXtendEnumLiteral ) ) // InternalSARL.g:7101:7: (lv_members_52_0= ruleXtendEnumLiteral ) { // InternalSARL.g:7101:7: (lv_members_52_0= ruleXtendEnumLiteral ) // InternalSARL.g:7102:8: lv_members_52_0= ruleXtendEnumLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getMembersXtendEnumLiteralParserRuleCall_2_3_5_0_0()); } pushFollow(FOLLOW_34); lv_members_52_0=ruleXtendEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "members", lv_members_52_0, "io.sarl.lang.SARL.XtendEnumLiteral"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:7119:6: (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* loop205: do { int alt205=2; int LA205_0 = input.LA(1); if ( (LA205_0==32) ) { alt205=1; } switch (alt205) { case 1 : // InternalSARL.g:7120:7: otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) { otherlv_53=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_53, grammarAccess.getAnnotationFieldAccess().getCommaKeyword_2_3_5_1_0()); } // InternalSARL.g:7124:7: ( (lv_members_54_0= ruleXtendEnumLiteral ) ) // InternalSARL.g:7125:8: (lv_members_54_0= ruleXtendEnumLiteral ) { // InternalSARL.g:7125:8: (lv_members_54_0= ruleXtendEnumLiteral ) // InternalSARL.g:7126:9: lv_members_54_0= ruleXtendEnumLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getMembersXtendEnumLiteralParserRuleCall_2_3_5_1_1_0()); } pushFollow(FOLLOW_34); lv_members_54_0=ruleXtendEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "members", lv_members_54_0, "io.sarl.lang.SARL.XtendEnumLiteral"); afterParserOrEnumRuleCall(); } } } } break; default : break loop205; } } while (true); } break; } // InternalSARL.g:7145:5: (otherlv_55= ';' )? int alt207=2; int LA207_0 = input.LA(1); if ( (LA207_0==26) ) { alt207=1; } switch (alt207) { case 1 : // InternalSARL.g:7146:6: otherlv_55= ';' { otherlv_55=(Token)match(input,26,FOLLOW_24); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_55, grammarAccess.getAnnotationFieldAccess().getSemicolonKeyword_2_3_6()); } } break; } otherlv_56=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_56, grammarAccess.getAnnotationFieldAccess().getRightCurlyBracketKeyword_2_3_7()); } } } break; case 5 : // InternalSARL.g:7157:4: ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) { // InternalSARL.g:7157:4: ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) // InternalSARL.g:7158:5: () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' { // InternalSARL.g:7158:5: () // InternalSARL.g:7159:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getAnnotationFieldAccess().getSarlAnnotationTypeAnnotationInfoAction_2_4_0(), current); } } // InternalSARL.g:7165:5: ( (lv_modifiers_58_0= ruleCommonModifier ) )* loop208: do { int alt208=2; int LA208_0 = input.LA(1); if ( (LA208_0==25||(LA208_0>=69 && LA208_0<=80)) ) { alt208=1; } switch (alt208) { case 1 : // InternalSARL.g:7166:6: (lv_modifiers_58_0= ruleCommonModifier ) { // InternalSARL.g:7166:6: (lv_modifiers_58_0= ruleCommonModifier ) // InternalSARL.g:7167:7: lv_modifiers_58_0= ruleCommonModifier { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getModifiersCommonModifierParserRuleCall_2_4_1_0()); } pushFollow(FOLLOW_35); lv_modifiers_58_0=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "modifiers", lv_modifiers_58_0, "org.eclipse.xtend.core.Xtend.CommonModifier"); afterParserOrEnumRuleCall(); } } } break; default : break loop208; } } while (true); otherlv_59=(Token)match(input,44,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_59, grammarAccess.getAnnotationFieldAccess().getAnnotationKeyword_2_4_2()); } // InternalSARL.g:7188:5: ( (lv_name_60_0= ruleValidID ) ) // InternalSARL.g:7189:6: (lv_name_60_0= ruleValidID ) { // InternalSARL.g:7189:6: (lv_name_60_0= ruleValidID ) // InternalSARL.g:7190:7: lv_name_60_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getNameValidIDParserRuleCall_2_4_3_0()); } pushFollow(FOLLOW_17); lv_name_60_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } set( current, "name", lv_name_60_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_61=(Token)match(input,29,FOLLOW_36); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_61, grammarAccess.getAnnotationFieldAccess().getLeftCurlyBracketKeyword_2_4_4()); } // InternalSARL.g:7211:5: ( (lv_members_62_0= ruleAnnotationField ) )* loop209: do { int alt209=2; int LA209_0 = input.LA(1); if ( (LA209_0==25||LA209_0==39||(LA209_0>=42 && LA209_0<=44)||(LA209_0>=61 && LA209_0<=62)||(LA209_0>=69 && LA209_0<=80)||LA209_0==94) ) { alt209=1; } switch (alt209) { case 1 : // InternalSARL.g:7212:6: (lv_members_62_0= ruleAnnotationField ) { // InternalSARL.g:7212:6: (lv_members_62_0= ruleAnnotationField ) // InternalSARL.g:7213:7: lv_members_62_0= ruleAnnotationField { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getAnnotationFieldAccess().getMembersAnnotationFieldParserRuleCall_2_4_5_0()); } pushFollow(FOLLOW_36); lv_members_62_0=ruleAnnotationField(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getAnnotationFieldRule()); } add( current, "members", lv_members_62_0, "io.sarl.lang.SARL.AnnotationField"); afterParserOrEnumRuleCall(); } } } break; default : break loop209; } } while (true); otherlv_63=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_63, grammarAccess.getAnnotationFieldAccess().getRightCurlyBracketKeyword_2_4_6()); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleAnnotationField" // $ANTLR start "entryRuleParameter" // InternalSARL.g:7240:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; public final EObject entryRuleParameter() throws RecognitionException { EObject current = null; EObject iv_ruleParameter = null; try { // InternalSARL.g:7240:50: (iv_ruleParameter= ruleParameter EOF ) // InternalSARL.g:7241:2: iv_ruleParameter= ruleParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterRule()); } pushFollow(FOLLOW_1); iv_ruleParameter=ruleParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleParameter; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleParameter" // $ANTLR start "ruleParameter" // InternalSARL.g:7247:1: ruleParameter returns [EObject current=null] : ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? ( (lv_name_4_0= ruleValidID ) ) otherlv_5= ':' ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )? ) ; public final EObject ruleParameter() throws RecognitionException { EObject current = null; Token lv_extension_2_0=null; Token otherlv_5=null; Token lv_varArg_7_0=null; Token otherlv_8=null; EObject lv_annotations_1_0 = null; EObject lv_annotations_3_0 = null; AntlrDatatypeRuleToken lv_name_4_0 = null; EObject lv_parameterType_6_0 = null; EObject lv_defaultValue_9_0 = null; enterRule(); try { // InternalSARL.g:7253:2: ( ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? ( (lv_name_4_0= ruleValidID ) ) otherlv_5= ':' ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )? ) ) // InternalSARL.g:7254:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? ( (lv_name_4_0= ruleValidID ) ) otherlv_5= ':' ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )? ) { // InternalSARL.g:7254:2: ( () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? ( (lv_name_4_0= ruleValidID ) ) otherlv_5= ':' ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )? ) // InternalSARL.g:7255:3: () ( (lv_annotations_1_0= ruleXAnnotation ) )* ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? ( (lv_name_4_0= ruleValidID ) ) otherlv_5= ':' ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )? { // InternalSARL.g:7255:3: () // InternalSARL.g:7256:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getParameterAccess().getSarlFormalParameterAction_0(), current); } } // InternalSARL.g:7262:3: ( (lv_annotations_1_0= ruleXAnnotation ) )* loop211: do { int alt211=2; int LA211_0 = input.LA(1); if ( (LA211_0==94) ) { alt211=1; } switch (alt211) { case 1 : // InternalSARL.g:7263:4: (lv_annotations_1_0= ruleXAnnotation ) { // InternalSARL.g:7263:4: (lv_annotations_1_0= ruleXAnnotation ) // InternalSARL.g:7264:5: lv_annotations_1_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterAccess().getAnnotationsXAnnotationParserRuleCall_1_0()); } pushFollow(FOLLOW_52); lv_annotations_1_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getParameterRule()); } add( current, "annotations", lv_annotations_1_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop211; } } while (true); // InternalSARL.g:7281:3: ( ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* )? int alt213=2; int LA213_0 = input.LA(1); if ( (LA213_0==45) ) { alt213=1; } switch (alt213) { case 1 : // InternalSARL.g:7282:4: ( (lv_extension_2_0= 'extension' ) ) ( (lv_annotations_3_0= ruleXAnnotation ) )* { // InternalSARL.g:7282:4: ( (lv_extension_2_0= 'extension' ) ) // InternalSARL.g:7283:5: (lv_extension_2_0= 'extension' ) { // InternalSARL.g:7283:5: (lv_extension_2_0= 'extension' ) // InternalSARL.g:7284:6: lv_extension_2_0= 'extension' { lv_extension_2_0=(Token)match(input,45,FOLLOW_70); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_extension_2_0, grammarAccess.getParameterAccess().getExtensionExtensionKeyword_2_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getParameterRule()); } setWithLastConsumed(current, "extension", true, "extension"); } } } // InternalSARL.g:7296:4: ( (lv_annotations_3_0= ruleXAnnotation ) )* loop212: do { int alt212=2; int LA212_0 = input.LA(1); if ( (LA212_0==94) ) { alt212=1; } switch (alt212) { case 1 : // InternalSARL.g:7297:5: (lv_annotations_3_0= ruleXAnnotation ) { // InternalSARL.g:7297:5: (lv_annotations_3_0= ruleXAnnotation ) // InternalSARL.g:7298:6: lv_annotations_3_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterAccess().getAnnotationsXAnnotationParserRuleCall_2_1_0()); } pushFollow(FOLLOW_70); lv_annotations_3_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getParameterRule()); } add( current, "annotations", lv_annotations_3_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotation"); afterParserOrEnumRuleCall(); } } } break; default : break loop212; } } while (true); } break; } // InternalSARL.g:7316:3: ( (lv_name_4_0= ruleValidID ) ) // InternalSARL.g:7317:4: (lv_name_4_0= ruleValidID ) { // InternalSARL.g:7317:4: (lv_name_4_0= ruleValidID ) // InternalSARL.g:7318:5: lv_name_4_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterAccess().getNameValidIDParserRuleCall_3_0()); } pushFollow(FOLLOW_40); lv_name_4_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getParameterRule()); } set( current, "name", lv_name_4_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_5=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getParameterAccess().getColonKeyword_4()); } // InternalSARL.g:7339:3: ( (lv_parameterType_6_0= ruleJvmTypeReference ) ) // InternalSARL.g:7340:4: (lv_parameterType_6_0= ruleJvmTypeReference ) { // InternalSARL.g:7340:4: (lv_parameterType_6_0= ruleJvmTypeReference ) // InternalSARL.g:7341:5: lv_parameterType_6_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_5_0()); } pushFollow(FOLLOW_71); lv_parameterType_6_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getParameterRule()); } set( current, "parameterType", lv_parameterType_6_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:7358:3: ( ( (lv_varArg_7_0= '*' ) ) | (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) )? int alt214=3; int LA214_0 = input.LA(1); if ( (LA214_0==59) ) { alt214=1; } else if ( (LA214_0==47) ) { alt214=2; } switch (alt214) { case 1 : // InternalSARL.g:7359:4: ( (lv_varArg_7_0= '*' ) ) { // InternalSARL.g:7359:4: ( (lv_varArg_7_0= '*' ) ) // InternalSARL.g:7360:5: (lv_varArg_7_0= '*' ) { // InternalSARL.g:7360:5: (lv_varArg_7_0= '*' ) // InternalSARL.g:7361:6: lv_varArg_7_0= '*' { lv_varArg_7_0=(Token)match(input,59,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_varArg_7_0, grammarAccess.getParameterAccess().getVarArgAsteriskKeyword_6_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getParameterRule()); } setWithLastConsumed(current, "varArg", true, "*"); } } } } break; case 2 : // InternalSARL.g:7374:4: (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) { // InternalSARL.g:7374:4: (otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) ) // InternalSARL.g:7375:5: otherlv_8= '=' ( (lv_defaultValue_9_0= ruleXExpression ) ) { otherlv_8=(Token)match(input,47,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getParameterAccess().getEqualsSignKeyword_6_1_0()); } // InternalSARL.g:7379:5: ( (lv_defaultValue_9_0= ruleXExpression ) ) // InternalSARL.g:7380:6: (lv_defaultValue_9_0= ruleXExpression ) { // InternalSARL.g:7380:6: (lv_defaultValue_9_0= ruleXExpression ) // InternalSARL.g:7381:7: lv_defaultValue_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterAccess().getDefaultValueXExpressionParserRuleCall_6_1_1_0()); } pushFollow(FOLLOW_2); lv_defaultValue_9_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getParameterRule()); } set( current, "defaultValue", lv_defaultValue_9_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 "ruleParameter" // $ANTLR start "entryRuleXtendEnumLiteral" // InternalSARL.g:7404:1: entryRuleXtendEnumLiteral returns [EObject current=null] : iv_ruleXtendEnumLiteral= ruleXtendEnumLiteral EOF ; public final EObject entryRuleXtendEnumLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXtendEnumLiteral = null; try { // InternalSARL.g:7404:57: (iv_ruleXtendEnumLiteral= ruleXtendEnumLiteral EOF ) // InternalSARL.g:7405:2: iv_ruleXtendEnumLiteral= ruleXtendEnumLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXtendEnumLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleXtendEnumLiteral=ruleXtendEnumLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXtendEnumLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXtendEnumLiteral" // $ANTLR start "ruleXtendEnumLiteral" // InternalSARL.g:7411:1: ruleXtendEnumLiteral returns [EObject current=null] : ( () ( (lv_name_1_0= ruleValidID ) ) ) ; public final EObject ruleXtendEnumLiteral() throws RecognitionException { EObject current = null; AntlrDatatypeRuleToken lv_name_1_0 = null; enterRule(); try { // InternalSARL.g:7417:2: ( ( () ( (lv_name_1_0= ruleValidID ) ) ) ) // InternalSARL.g:7418:2: ( () ( (lv_name_1_0= ruleValidID ) ) ) { // InternalSARL.g:7418:2: ( () ( (lv_name_1_0= ruleValidID ) ) ) // InternalSARL.g:7419:3: () ( (lv_name_1_0= ruleValidID ) ) { // InternalSARL.g:7419:3: () // InternalSARL.g:7420:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXtendEnumLiteralAccess().getSarlEnumLiteralAction_0(), current); } } // InternalSARL.g:7426:3: ( (lv_name_1_0= ruleValidID ) ) // InternalSARL.g:7427:4: (lv_name_1_0= ruleValidID ) { // InternalSARL.g:7427:4: (lv_name_1_0= ruleValidID ) // InternalSARL.g:7428:5: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXtendEnumLiteralAccess().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.getXtendEnumLiteralRule()); } set( current, "name", lv_name_1_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXtendEnumLiteral" // $ANTLR start "entryRuleBreakExpression" // InternalSARL.g:7449:1: entryRuleBreakExpression returns [EObject current=null] : iv_ruleBreakExpression= ruleBreakExpression EOF ; public final EObject entryRuleBreakExpression() throws RecognitionException { EObject current = null; EObject iv_ruleBreakExpression = null; try { // InternalSARL.g:7449:56: (iv_ruleBreakExpression= ruleBreakExpression EOF ) // InternalSARL.g:7450:2: iv_ruleBreakExpression= ruleBreakExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBreakExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleBreakExpression=ruleBreakExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleBreakExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleBreakExpression" // $ANTLR start "ruleBreakExpression" // InternalSARL.g:7456:1: ruleBreakExpression returns [EObject current=null] : ( () otherlv_1= 'break' ) ; public final EObject ruleBreakExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; enterRule(); try { // InternalSARL.g:7462:2: ( ( () otherlv_1= 'break' ) ) // InternalSARL.g:7463:2: ( () otherlv_1= 'break' ) { // InternalSARL.g:7463:2: ( () otherlv_1= 'break' ) // InternalSARL.g:7464:3: () otherlv_1= 'break' { // InternalSARL.g:7464:3: () // InternalSARL.g:7465:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getBreakExpressionAccess().getSarlBreakExpressionAction_0(), current); } } otherlv_1=(Token)match(input,60,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getBreakExpressionAccess().getBreakKeyword_1()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleBreakExpression" // $ANTLR start "entryRuleXPrimaryExpression" // InternalSARL.g:7479:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ; public final EObject entryRuleXPrimaryExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXPrimaryExpression = null; try { // InternalSARL.g:7479:59: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ) // InternalSARL.g:7480: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" // InternalSARL.g:7486: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' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>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 | this_BreakExpression_15= ruleBreakExpression ) ; 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; EObject this_BreakExpression_15 = null; enterRule(); try { // InternalSARL.g:7492:2: ( (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' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>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 | this_BreakExpression_15= ruleBreakExpression ) ) // InternalSARL.g:7493:2: (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' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>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 | this_BreakExpression_15= ruleBreakExpression ) { // InternalSARL.g:7493:2: (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' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>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 | this_BreakExpression_15= ruleBreakExpression ) int alt215=16; alt215 = dfa215.predict(input); switch (alt215) { case 1 : // InternalSARL.g:7494:3: 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 : // InternalSARL.g:7503:3: 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 : // InternalSARL.g:7512:3: 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 : // InternalSARL.g:7521:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) { // InternalSARL.g:7521:3: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) // InternalSARL.g:7522:4: ( ( () '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 : // InternalSARL.g:7539:3: 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 : // InternalSARL.g:7548:3: 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 : // InternalSARL.g:7557:3: 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 : // InternalSARL.g:7566:3: ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) { // InternalSARL.g:7566:3: ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) // InternalSARL.g:7567:4: ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>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 : // InternalSARL.g:7590:3: 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 : // InternalSARL.g:7599:3: 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 : // InternalSARL.g:7608:3: 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 : // InternalSARL.g:7617:3: 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 : // InternalSARL.g:7626:3: 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 : // InternalSARL.g:7635:3: 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 : // InternalSARL.g:7644:3: 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; case 16 : // InternalSARL.g:7653:3: this_BreakExpression_15= ruleBreakExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getBreakExpressionParserRuleCall_15()); } pushFollow(FOLLOW_2); this_BreakExpression_15=ruleBreakExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_BreakExpression_15; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXPrimaryExpression" // $ANTLR start "entryRuleXVariableDeclaration" // InternalSARL.g:7665:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ; public final EObject entryRuleXVariableDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXVariableDeclaration = null; try { // InternalSARL.g:7665:61: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ) // InternalSARL.g:7666: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" // InternalSARL.g:7672:1: ruleXVariableDeclaration returns [EObject current=null] : ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) ( (lv_name_7_0= ruleValidID ) ) (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )? ) ; public final EObject ruleXVariableDeclaration() throws RecognitionException { EObject current = null; Token lv_writeable_1_0=null; Token otherlv_2=null; Token lv_extension_3_0=null; Token lv_extension_4_0=null; Token lv_writeable_5_0=null; Token otherlv_6=null; Token otherlv_8=null; Token otherlv_10=null; AntlrDatatypeRuleToken lv_name_7_0 = null; EObject lv_type_9_0 = null; EObject lv_right_11_0 = null; enterRule(); try { // InternalSARL.g:7678:2: ( ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) ( (lv_name_7_0= ruleValidID ) ) (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )? ) ) // InternalSARL.g:7679:2: ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) ( (lv_name_7_0= ruleValidID ) ) (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )? ) { // InternalSARL.g:7679:2: ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) ( (lv_name_7_0= ruleValidID ) ) (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )? ) // InternalSARL.g:7680:3: ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) ( (lv_name_7_0= ruleValidID ) ) (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )? { // InternalSARL.g:7680:3: ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) ) // InternalSARL.g:7681:4: ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=> ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) { // InternalSARL.g:7721:4: ( () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) ) // InternalSARL.g:7722:5: () ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) { // InternalSARL.g:7722:5: () // InternalSARL.g:7723:6: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXVariableDeclarationAccess().getXtendVariableDeclarationAction_0_0_0(), current); } } // InternalSARL.g:7729:5: ( ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) | ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) ) int alt219=2; int LA219_0 = input.LA(1); if ( ((LA219_0>=61 && LA219_0<=62)) ) { alt219=1; } else if ( (LA219_0==45) ) { alt219=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 219, 0, input); throw nvae; } switch (alt219) { case 1 : // InternalSARL.g:7730:6: ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) { // InternalSARL.g:7730:6: ( ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? ) // InternalSARL.g:7731:7: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( (lv_extension_3_0= 'extension' ) )? { // InternalSARL.g:7731:7: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) int alt216=2; int LA216_0 = input.LA(1); if ( (LA216_0==61) ) { alt216=1; } else if ( (LA216_0==62) ) { alt216=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 216, 0, input); throw nvae; } switch (alt216) { case 1 : // InternalSARL.g:7732:8: ( (lv_writeable_1_0= 'var' ) ) { // InternalSARL.g:7732:8: ( (lv_writeable_1_0= 'var' ) ) // InternalSARL.g:7733:9: (lv_writeable_1_0= 'var' ) { // InternalSARL.g:7733:9: (lv_writeable_1_0= 'var' ) // InternalSARL.g:7734:10: lv_writeable_1_0= 'var' { lv_writeable_1_0=(Token)match(input,61,FOLLOW_72); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_0_0_1_0_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXVariableDeclarationRule()); } setWithLastConsumed(current, "writeable", true, "var"); } } } } break; case 2 : // InternalSARL.g:7747:8: otherlv_2= 'val' { otherlv_2=(Token)match(input,62,FOLLOW_72); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_0_0_1_0_0_1()); } } break; } // InternalSARL.g:7752:7: ( (lv_extension_3_0= 'extension' ) )? int alt217=2; int LA217_0 = input.LA(1); if ( (LA217_0==45) ) { alt217=1; } switch (alt217) { case 1 : // InternalSARL.g:7753:8: (lv_extension_3_0= 'extension' ) { // InternalSARL.g:7753:8: (lv_extension_3_0= 'extension' ) // InternalSARL.g:7754:9: lv_extension_3_0= 'extension' { lv_extension_3_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_extension_3_0, grammarAccess.getXVariableDeclarationAccess().getExtensionExtensionKeyword_0_0_1_0_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXVariableDeclarationRule()); } setWithLastConsumed(current, "extension", true, "extension"); } } } break; } } } break; case 2 : // InternalSARL.g:7768:6: ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) { // InternalSARL.g:7768:6: ( ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) ) // InternalSARL.g:7769:7: ( (lv_extension_4_0= 'extension' ) ) ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) { // InternalSARL.g:7769:7: ( (lv_extension_4_0= 'extension' ) ) // InternalSARL.g:7770:8: (lv_extension_4_0= 'extension' ) { // InternalSARL.g:7770:8: (lv_extension_4_0= 'extension' ) // InternalSARL.g:7771:9: lv_extension_4_0= 'extension' { lv_extension_4_0=(Token)match(input,45,FOLLOW_73); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_extension_4_0, grammarAccess.getXVariableDeclarationAccess().getExtensionExtensionKeyword_0_0_1_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXVariableDeclarationRule()); } setWithLastConsumed(current, "extension", true, "extension"); } } } // InternalSARL.g:7783:7: ( ( (lv_writeable_5_0= 'var' ) ) | otherlv_6= 'val' ) int alt218=2; int LA218_0 = input.LA(1); if ( (LA218_0==61) ) { alt218=1; } else if ( (LA218_0==62) ) { alt218=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 218, 0, input); throw nvae; } switch (alt218) { case 1 : // InternalSARL.g:7784:8: ( (lv_writeable_5_0= 'var' ) ) { // InternalSARL.g:7784:8: ( (lv_writeable_5_0= 'var' ) ) // InternalSARL.g:7785:9: (lv_writeable_5_0= 'var' ) { // InternalSARL.g:7785:9: (lv_writeable_5_0= 'var' ) // InternalSARL.g:7786:10: lv_writeable_5_0= 'var' { lv_writeable_5_0=(Token)match(input,61,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_writeable_5_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_0_0_1_1_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXVariableDeclarationRule()); } setWithLastConsumed(current, "writeable", true, "var"); } } } } break; case 2 : // InternalSARL.g:7799:8: otherlv_6= 'val' { otherlv_6=(Token)match(input,62,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getValKeyword_0_0_1_1_1_1()); } } break; } } } break; } } } // InternalSARL.g:7808:3: ( (lv_name_7_0= ruleValidID ) ) // InternalSARL.g:7809:4: (lv_name_7_0= ruleValidID ) { // InternalSARL.g:7809:4: (lv_name_7_0= ruleValidID ) // InternalSARL.g:7810:5: lv_name_7_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FOLLOW_74); lv_name_7_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_7_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:7827:3: (otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) )? int alt220=2; int LA220_0 = input.LA(1); if ( (LA220_0==46) ) { alt220=1; } switch (alt220) { case 1 : // InternalSARL.g:7828:4: otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) { otherlv_8=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXVariableDeclarationAccess().getColonKeyword_2_0()); } // InternalSARL.g:7832:4: ( (lv_type_9_0= ruleJvmTypeReference ) ) // InternalSARL.g:7833:5: (lv_type_9_0= ruleJvmTypeReference ) { // InternalSARL.g:7833:5: (lv_type_9_0= ruleJvmTypeReference ) // InternalSARL.g:7834:6: lv_type_9_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_1_0()); } pushFollow(FOLLOW_75); lv_type_9_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_9_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } // InternalSARL.g:7852:3: (otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) )? int alt221=2; int LA221_0 = input.LA(1); if ( (LA221_0==47) ) { alt221=1; } switch (alt221) { case 1 : // InternalSARL.g:7853:4: otherlv_10= '=' ( (lv_right_11_0= ruleXExpression ) ) { otherlv_10=(Token)match(input,47,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); } // InternalSARL.g:7857:4: ( (lv_right_11_0= ruleXExpression ) ) // InternalSARL.g:7858:5: (lv_right_11_0= ruleXExpression ) { // InternalSARL.g:7858:5: (lv_right_11_0= ruleXExpression ) // InternalSARL.g:7859:6: lv_right_11_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); } pushFollow(FOLLOW_2); lv_right_11_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_11_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" // InternalSARL.g:7881:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ; public final EObject entryRuleJvmFormalParameter() throws RecognitionException { EObject current = null; EObject iv_ruleJvmFormalParameter = null; try { // InternalSARL.g:7881:59: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ) // InternalSARL.g:7882: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" // InternalSARL.g:7888:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )? ) ; public final EObject ruleJvmFormalParameter() throws RecognitionException { EObject current = null; Token lv_extension_0_0=null; Token otherlv_2=null; AntlrDatatypeRuleToken lv_name_1_0 = null; EObject lv_parameterType_3_0 = null; enterRule(); try { // InternalSARL.g:7894:2: ( ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )? ) ) // InternalSARL.g:7895:2: ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )? ) { // InternalSARL.g:7895:2: ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )? ) // InternalSARL.g:7896:3: ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )? { // InternalSARL.g:7896:3: ( (lv_extension_0_0= 'extension' ) )? int alt222=2; int LA222_0 = input.LA(1); if ( (LA222_0==45) ) { alt222=1; } switch (alt222) { case 1 : // InternalSARL.g:7897:4: (lv_extension_0_0= 'extension' ) { // InternalSARL.g:7897:4: (lv_extension_0_0= 'extension' ) // InternalSARL.g:7898:5: lv_extension_0_0= 'extension' { lv_extension_0_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_extension_0_0, grammarAccess.getJvmFormalParameterAccess().getExtensionExtensionKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getJvmFormalParameterRule()); } setWithLastConsumed(current, "extension", true, "extension"); } } } break; } // InternalSARL.g:7910:3: ( (lv_name_1_0= ruleValidID ) ) // InternalSARL.g:7911:4: (lv_name_1_0= ruleValidID ) { // InternalSARL.g:7911:4: (lv_name_1_0= ruleValidID ) // InternalSARL.g:7912:5: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FOLLOW_76); 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.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:7929:3: ( ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) )? int alt223=2; int LA223_0 = input.LA(1); if ( (LA223_0==46) ) { int LA223_1 = input.LA(2); if ( (synpred4_InternalSARL()) ) { alt223=1; } } switch (alt223) { case 1 : // InternalSARL.g:7930:4: ( ( ':' )=>otherlv_2= ':' ) ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) { // InternalSARL.g:7930:4: ( ( ':' )=>otherlv_2= ':' ) // InternalSARL.g:7931:5: ( ':' )=>otherlv_2= ':' { otherlv_2=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getJvmFormalParameterAccess().getColonKeyword_2_0()); } } // InternalSARL.g:7937:4: ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) // InternalSARL.g:7938:5: (lv_parameterType_3_0= ruleJvmTypeReference ) { // InternalSARL.g:7938:5: (lv_parameterType_3_0= ruleJvmTypeReference ) // InternalSARL.g:7939:6: lv_parameterType_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_2_1_0()); } pushFollow(FOLLOW_2); lv_parameterType_3_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_3_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmFormalParameter" // $ANTLR start "entryRuleFullJvmFormalParameter" // InternalSARL.g:7961:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ; public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException { EObject current = null; EObject iv_ruleFullJvmFormalParameter = null; try { // InternalSARL.g:7961:63: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ) // InternalSARL.g:7962: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" // InternalSARL.g:7968:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) otherlv_2= ':' ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) ) ; public final EObject ruleFullJvmFormalParameter() throws RecognitionException { EObject current = null; Token lv_extension_0_0=null; Token otherlv_2=null; AntlrDatatypeRuleToken lv_name_1_0 = null; EObject lv_parameterType_3_0 = null; enterRule(); try { // InternalSARL.g:7974:2: ( ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) otherlv_2= ':' ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) ) ) // InternalSARL.g:7975:2: ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) otherlv_2= ':' ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:7975:2: ( ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) otherlv_2= ':' ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:7976:3: ( (lv_extension_0_0= 'extension' ) )? ( (lv_name_1_0= ruleValidID ) ) otherlv_2= ':' ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) { // InternalSARL.g:7976:3: ( (lv_extension_0_0= 'extension' ) )? int alt224=2; int LA224_0 = input.LA(1); if ( (LA224_0==45) ) { alt224=1; } switch (alt224) { case 1 : // InternalSARL.g:7977:4: (lv_extension_0_0= 'extension' ) { // InternalSARL.g:7977:4: (lv_extension_0_0= 'extension' ) // InternalSARL.g:7978:5: lv_extension_0_0= 'extension' { lv_extension_0_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_extension_0_0, grammarAccess.getFullJvmFormalParameterAccess().getExtensionExtensionKeyword_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getFullJvmFormalParameterRule()); } setWithLastConsumed(current, "extension", true, "extension"); } } } break; } // InternalSARL.g:7990:3: ( (lv_name_1_0= ruleValidID ) ) // InternalSARL.g:7991:4: (lv_name_1_0= ruleValidID ) { // InternalSARL.g:7991:4: (lv_name_1_0= ruleValidID ) // InternalSARL.g:7992:5: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FOLLOW_40); 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.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,46,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getFullJvmFormalParameterAccess().getColonKeyword_2()); } // InternalSARL.g:8013:3: ( (lv_parameterType_3_0= ruleJvmTypeReference ) ) // InternalSARL.g:8014:4: (lv_parameterType_3_0= ruleJvmTypeReference ) { // InternalSARL.g:8014:4: (lv_parameterType_3_0= ruleJvmTypeReference ) // InternalSARL.g:8015:5: lv_parameterType_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_3_0()); } pushFollow(FOLLOW_2); lv_parameterType_3_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_3_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 "ruleFullJvmFormalParameter" // $ANTLR start "entryRuleXForLoopExpression" // InternalSARL.g:8036:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ; public final EObject entryRuleXForLoopExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXForLoopExpression = null; try { // InternalSARL.g:8036:59: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ) // InternalSARL.g:8037: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" // InternalSARL.g:8043:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' ) ) ; 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; Token otherlv_8=null; EObject lv_declaredParam_3_0 = null; EObject lv_forExpression_5_0 = null; EObject lv_eachExpression_7_0 = null; enterRule(); try { // InternalSARL.g:8049:2: ( ( ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' ) ) ) // InternalSARL.g:8050:2: ( ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' ) ) { // InternalSARL.g:8050:2: ( ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' ) ) // InternalSARL.g:8051:3: ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' ) { // InternalSARL.g:8051:3: ( ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) ) // InternalSARL.g:8052:4: ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) { // InternalSARL.g:8065:4: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' ) // InternalSARL.g:8066:5: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) otherlv_4= ':' { // InternalSARL.g:8066:5: () // InternalSARL.g:8067:6: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(), current); } } otherlv_1=(Token)match(input,63,FOLLOW_77); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); } otherlv_2=(Token)match(input,49,FOLLOW_72); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } // InternalSARL.g:8081:5: ( (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) ) // InternalSARL.g:8082:6: (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) { // InternalSARL.g:8082:6: (lv_declaredParam_3_0= ruleSarlXLoopFormalParameter ) // InternalSARL.g:8083:7: lv_declaredParam_3_0= ruleSarlXLoopFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamSarlXLoopFormalParameterParserRuleCall_0_0_3_0()); } pushFollow(FOLLOW_40); lv_declaredParam_3_0=ruleSarlXLoopFormalParameter(); 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, "io.sarl.lang.SARL.SarlXLoopFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,46,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); } } } // InternalSARL.g:8106:3: ( (lv_forExpression_5_0= ruleXExpression ) ) // InternalSARL.g:8107:4: (lv_forExpression_5_0= ruleXExpression ) { // InternalSARL.g:8107:4: (lv_forExpression_5_0= ruleXExpression ) // InternalSARL.g:8108:5: lv_forExpression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); } pushFollow(FOLLOW_78); 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,50,FOLLOW_79); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); } // InternalSARL.g:8129:3: ( ( (lv_eachExpression_7_0= ruleXExpression ) ) | otherlv_8= ';' ) int alt225=2; int LA225_0 = input.LA(1); if ( ((LA225_0>=RULE_ID && LA225_0<=RULE_RICH_TEXT_START)||(LA225_0>=RULE_HEX && LA225_0<=RULE_DECIMAL)||LA225_0==25||(LA225_0>=28 && LA225_0<=29)||LA225_0==36||(LA225_0>=39 && LA225_0<=40)||(LA225_0>=42 && LA225_0<=45)||(LA225_0>=48 && LA225_0<=49)||LA225_0==51||LA225_0==55||LA225_0==60||LA225_0==63||LA225_0==65||(LA225_0>=69 && LA225_0<=87)||LA225_0==95||(LA225_0>=114 && LA225_0<=115)||LA225_0==119||LA225_0==125||(LA225_0>=128 && LA225_0<=137)) ) { alt225=1; } else if ( (LA225_0==26) ) { alt225=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 225, 0, input); throw nvae; } switch (alt225) { case 1 : // InternalSARL.g:8130:4: ( (lv_eachExpression_7_0= ruleXExpression ) ) { // InternalSARL.g:8130:4: ( (lv_eachExpression_7_0= ruleXExpression ) ) // InternalSARL.g:8131:5: (lv_eachExpression_7_0= ruleXExpression ) { // InternalSARL.g:8131:5: (lv_eachExpression_7_0= ruleXExpression ) // InternalSARL.g:8132:6: lv_eachExpression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0_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(); } } } } break; case 2 : // InternalSARL.g:8150:4: otherlv_8= ';' { otherlv_8=(Token)match(input,26,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXForLoopExpressionAccess().getSemicolonKeyword_3_1()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXForLoopExpression" // $ANTLR start "entryRuleSarlXLoopFormalParameter" // InternalSARL.g:8159:1: entryRuleSarlXLoopFormalParameter returns [EObject current=null] : iv_ruleSarlXLoopFormalParameter= ruleSarlXLoopFormalParameter EOF ; public final EObject entryRuleSarlXLoopFormalParameter() throws RecognitionException { EObject current = null; EObject iv_ruleSarlXLoopFormalParameter = null; try { // InternalSARL.g:8159:65: (iv_ruleSarlXLoopFormalParameter= ruleSarlXLoopFormalParameter EOF ) // InternalSARL.g:8160:2: iv_ruleSarlXLoopFormalParameter= ruleSarlXLoopFormalParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSarlXLoopFormalParameterRule()); } pushFollow(FOLLOW_1); iv_ruleSarlXLoopFormalParameter=ruleSarlXLoopFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSarlXLoopFormalParameter; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSarlXLoopFormalParameter" // $ANTLR start "ruleSarlXLoopFormalParameter" // InternalSARL.g:8166:1: ruleSarlXLoopFormalParameter returns [EObject current=null] : ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? ) ; public final EObject ruleSarlXLoopFormalParameter() throws RecognitionException { EObject current = null; Token lv_extension_1_0=null; Token otherlv_3=null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_parameterType_4_0 = null; enterRule(); try { // InternalSARL.g:8172:2: ( ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? ) ) // InternalSARL.g:8173:2: ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? ) { // InternalSARL.g:8173:2: ( () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? ) // InternalSARL.g:8174:3: () ( (lv_extension_1_0= 'extension' ) )? ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? { // InternalSARL.g:8174:3: () // InternalSARL.g:8175:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSarlXLoopFormalParameterAccess().getXtendFormalParameterAction_0(), current); } } // InternalSARL.g:8181:3: ( (lv_extension_1_0= 'extension' ) )? int alt226=2; int LA226_0 = input.LA(1); if ( (LA226_0==45) ) { alt226=1; } switch (alt226) { case 1 : // InternalSARL.g:8182:4: (lv_extension_1_0= 'extension' ) { // InternalSARL.g:8182:4: (lv_extension_1_0= 'extension' ) // InternalSARL.g:8183:5: lv_extension_1_0= 'extension' { lv_extension_1_0=(Token)match(input,45,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_extension_1_0, grammarAccess.getSarlXLoopFormalParameterAccess().getExtensionExtensionKeyword_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSarlXLoopFormalParameterRule()); } setWithLastConsumed(current, "extension", true, "extension"); } } } break; } // InternalSARL.g:8195:3: ( (lv_name_2_0= ruleValidID ) ) // InternalSARL.g:8196:4: (lv_name_2_0= ruleValidID ) { // InternalSARL.g:8196:4: (lv_name_2_0= ruleValidID ) // InternalSARL.g:8197:5: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSarlXLoopFormalParameterAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FOLLOW_80); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSarlXLoopFormalParameterRule()); } set( current, "name", lv_name_2_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:8214:3: (otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) )? int alt227=2; int LA227_0 = input.LA(1); if ( (LA227_0==64) ) { alt227=1; } switch (alt227) { case 1 : // InternalSARL.g:8215:4: otherlv_3= 'as' ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) { otherlv_3=(Token)match(input,64,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getSarlXLoopFormalParameterAccess().getAsKeyword_3_0()); } // InternalSARL.g:8219:4: ( (lv_parameterType_4_0= ruleJvmTypeReference ) ) // InternalSARL.g:8220:5: (lv_parameterType_4_0= ruleJvmTypeReference ) { // InternalSARL.g:8220:5: (lv_parameterType_4_0= ruleJvmTypeReference ) // InternalSARL.g:8221:6: lv_parameterType_4_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSarlXLoopFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_3_1_0()); } pushFollow(FOLLOW_2); lv_parameterType_4_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSarlXLoopFormalParameterRule()); } set( current, "parameterType", lv_parameterType_4_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSarlXLoopFormalParameter" // $ANTLR start "entryRuleXSwitchExpression" // InternalSARL.g:8243:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ; public final EObject entryRuleXSwitchExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXSwitchExpression = null; try { // InternalSARL.g:8243:58: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ) // InternalSARL.g:8244: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" // InternalSARL.g:8250: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 { // InternalSARL.g:8256: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= '}' ) ) // InternalSARL.g:8257: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= '}' ) { // InternalSARL.g:8257: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= '}' ) // InternalSARL.g:8258:3: () 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= '}' { // InternalSARL.g:8258:3: () // InternalSARL.g:8259:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(), current); } } otherlv_1=(Token)match(input,65,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); } // InternalSARL.g:8269:3: ( ( ( ( ( '(' ( ( 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 alt229=2; alt229 = dfa229.predict(input); switch (alt229) { case 1 : // InternalSARL.g:8270:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) { // InternalSARL.g:8270:4: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) // InternalSARL.g:8271:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' { // InternalSARL.g:8271:5: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) ) // InternalSARL.g:8272:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) { // InternalSARL.g:8282:6: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' ) // InternalSARL.g:8283:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= '=' { otherlv_2=(Token)match(input,49,FOLLOW_72); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); } // InternalSARL.g:8287:7: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) // InternalSARL.g:8288:8: (lv_declaredParam_3_0= ruleJvmFormalParameter ) { // InternalSARL.g:8288:8: (lv_declaredParam_3_0= ruleJvmFormalParameter ) // InternalSARL.g:8289:9: lv_declaredParam_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); } pushFollow(FOLLOW_81); 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, "io.sarl.lang.SARL.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,47,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getEqualsSignKeyword_2_0_0_0_2()); } } } // InternalSARL.g:8312:5: ( (lv_switch_5_0= ruleXExpression ) ) // InternalSARL.g:8313:6: (lv_switch_5_0= ruleXExpression ) { // InternalSARL.g:8313:6: (lv_switch_5_0= ruleXExpression ) // InternalSARL.g:8314:7: lv_switch_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); } pushFollow(FOLLOW_78); 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,50,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); } } } break; case 2 : // InternalSARL.g:8337:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) { // InternalSARL.g:8337:4: ( ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) // InternalSARL.g:8338:5: ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? ( (lv_switch_9_0= ruleXExpression ) ) { // InternalSARL.g:8338:5: ( ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) )? int alt228=2; alt228 = dfa228.predict(input); switch (alt228) { case 1 : // InternalSARL.g:8339:6: ( ( ( ( ruleJvmFormalParameter ) ) '=' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) { // InternalSARL.g:8348:6: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' ) // InternalSARL.g:8349:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= '=' { // InternalSARL.g:8349:7: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) // InternalSARL.g:8350:8: (lv_declaredParam_7_0= ruleJvmFormalParameter ) { // InternalSARL.g:8350:8: (lv_declaredParam_7_0= ruleJvmFormalParameter ) // InternalSARL.g:8351:9: lv_declaredParam_7_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); } pushFollow(FOLLOW_81); 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, "io.sarl.lang.SARL.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_8=(Token)match(input,47,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getEqualsSignKeyword_2_1_0_0_1()); } } } break; } // InternalSARL.g:8374:5: ( (lv_switch_9_0= ruleXExpression ) ) // InternalSARL.g:8375:6: (lv_switch_9_0= ruleXExpression ) { // InternalSARL.g:8375:6: (lv_switch_9_0= ruleXExpression ) // InternalSARL.g:8376:7: lv_switch_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); } pushFollow(FOLLOW_17); lv_switch_9_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXSwitchExpressionRule()); } set( current, "switch", lv_switch_9_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } } break; } otherlv_10=(Token)match(input,29,FOLLOW_82); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); } // InternalSARL.g:8399:3: ( (lv_cases_11_0= ruleXCasePart ) )* loop230: do { int alt230=2; int LA230_0 = input.LA(1); if ( (LA230_0==RULE_ID||LA230_0==32||LA230_0==44||LA230_0==46||LA230_0==49||LA230_0==67||(LA230_0>=83 && LA230_0<=86)||LA230_0==127) ) { alt230=1; } switch (alt230) { case 1 : // InternalSARL.g:8400:4: (lv_cases_11_0= ruleXCasePart ) { // InternalSARL.g:8400:4: (lv_cases_11_0= ruleXCasePart ) // InternalSARL.g:8401:5: lv_cases_11_0= ruleXCasePart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); } pushFollow(FOLLOW_82); 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 loop230; } } while (true); // InternalSARL.g:8418:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? int alt231=2; int LA231_0 = input.LA(1); if ( (LA231_0==66) ) { alt231=1; } switch (alt231) { case 1 : // InternalSARL.g:8419:4: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) { otherlv_12=(Token)match(input,66,FOLLOW_40); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); } otherlv_13=(Token)match(input,46,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); } // InternalSARL.g:8427:4: ( (lv_default_14_0= ruleXExpression ) ) // InternalSARL.g:8428:5: (lv_default_14_0= ruleXExpression ) { // InternalSARL.g:8428:5: (lv_default_14_0= ruleXExpression ) // InternalSARL.g:8429:6: lv_default_14_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); } pushFollow(FOLLOW_24); 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 "entryRuleXFunctionSuperTypeRef" // InternalSARL.g:8455:1: entryRuleXFunctionSuperTypeRef returns [EObject current=null] : iv_ruleXFunctionSuperTypeRef= ruleXFunctionSuperTypeRef EOF ; public final EObject entryRuleXFunctionSuperTypeRef() throws RecognitionException { EObject current = null; EObject iv_ruleXFunctionSuperTypeRef = null; try { // InternalSARL.g:8455:62: (iv_ruleXFunctionSuperTypeRef= ruleXFunctionSuperTypeRef EOF ) // InternalSARL.g:8456:2: iv_ruleXFunctionSuperTypeRef= ruleXFunctionSuperTypeRef EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionSuperTypeRefRule()); } pushFollow(FOLLOW_1); iv_ruleXFunctionSuperTypeRef=ruleXFunctionSuperTypeRef(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXFunctionSuperTypeRef; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXFunctionSuperTypeRef" // $ANTLR start "ruleXFunctionSuperTypeRef" // InternalSARL.g:8462:1: ruleXFunctionSuperTypeRef returns [EObject current=null] : ( ( ( (lv_instanceContext_0_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 ruleXFunctionSuperTypeRef() throws RecognitionException { EObject current = null; Token lv_instanceContext_0_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 { // InternalSARL.g:8468:2: ( ( ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ) // InternalSARL.g:8469:2: ( ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:8469:2: ( ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:8470:3: ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) { // InternalSARL.g:8470:3: ( ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? int alt234=2; int LA234_0 = input.LA(1); if ( (LA234_0==49) ) { alt234=1; } switch (alt234) { case 1 : // InternalSARL.g:8471:4: ( (lv_instanceContext_0_0= '(' ) ) ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' { // InternalSARL.g:8471:4: ( (lv_instanceContext_0_0= '(' ) ) // InternalSARL.g:8472:5: (lv_instanceContext_0_0= '(' ) { // InternalSARL.g:8472:5: (lv_instanceContext_0_0= '(' ) // InternalSARL.g:8473:6: lv_instanceContext_0_0= '(' { lv_instanceContext_0_0=(Token)match(input,49,FOLLOW_83); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_instanceContext_0_0, grammarAccess.getXFunctionSuperTypeRefAccess().getInstanceContextLeftParenthesisKeyword_0_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXFunctionSuperTypeRefRule()); } setWithLastConsumed(current, "instanceContext", true, "("); } } } // InternalSARL.g:8485:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? int alt233=2; int LA233_0 = input.LA(1); if ( (LA233_0==RULE_ID||LA233_0==44||LA233_0==49||LA233_0==67||(LA233_0>=83 && LA233_0<=86)) ) { alt233=1; } switch (alt233) { case 1 : // InternalSARL.g:8486:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* { // InternalSARL.g:8486:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) // InternalSARL.g:8487:6: (lv_paramTypes_1_0= ruleJvmTypeReference ) { // InternalSARL.g:8487:6: (lv_paramTypes_1_0= ruleJvmTypeReference ) // InternalSARL.g:8488:7: lv_paramTypes_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionSuperTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } pushFollow(FOLLOW_51); lv_paramTypes_1_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFunctionSuperTypeRefRule()); } add( current, "paramTypes", lv_paramTypes_1_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:8505:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* loop232: do { int alt232=2; int LA232_0 = input.LA(1); if ( (LA232_0==32) ) { alt232=1; } switch (alt232) { case 1 : // InternalSARL.g:8506:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) { otherlv_2=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXFunctionSuperTypeRefAccess().getCommaKeyword_0_1_1_0()); } // InternalSARL.g:8510:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) // InternalSARL.g:8511:7: (lv_paramTypes_3_0= ruleJvmTypeReference ) { // InternalSARL.g:8511:7: (lv_paramTypes_3_0= ruleJvmTypeReference ) // InternalSARL.g:8512:8: lv_paramTypes_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionSuperTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } pushFollow(FOLLOW_51); lv_paramTypes_3_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXFunctionSuperTypeRefRule()); } add( current, "paramTypes", lv_paramTypes_3_0, "org.eclipse.xtext.xbase.Xtype.JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop232; } } while (true); } break; } otherlv_4=(Token)match(input,50,FOLLOW_84); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXFunctionSuperTypeRefAccess().getRightParenthesisKeyword_0_2()); } } break; } otherlv_5=(Token)match(input,67,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXFunctionSuperTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } // InternalSARL.g:8540:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) ) // InternalSARL.g:8541:4: (lv_returnType_6_0= ruleJvmTypeReference ) { // InternalSARL.g:8541:4: (lv_returnType_6_0= ruleJvmTypeReference ) // InternalSARL.g:8542:5: lv_returnType_6_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionSuperTypeRefAccess().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.getXFunctionSuperTypeRefRule()); } 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 "ruleXFunctionSuperTypeRef" // $ANTLR start "entryRuleTypeReferenceNoTypeArgs" // InternalSARL.g:8563:1: entryRuleTypeReferenceNoTypeArgs returns [EObject current=null] : iv_ruleTypeReferenceNoTypeArgs= ruleTypeReferenceNoTypeArgs EOF ; public final EObject entryRuleTypeReferenceNoTypeArgs() throws RecognitionException { EObject current = null; EObject iv_ruleTypeReferenceNoTypeArgs = null; try { // InternalSARL.g:8563:64: (iv_ruleTypeReferenceNoTypeArgs= ruleTypeReferenceNoTypeArgs EOF ) // InternalSARL.g:8564:2: iv_ruleTypeReferenceNoTypeArgs= ruleTypeReferenceNoTypeArgs EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeReferenceNoTypeArgsRule()); } pushFollow(FOLLOW_1); iv_ruleTypeReferenceNoTypeArgs=ruleTypeReferenceNoTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypeReferenceNoTypeArgs; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypeReferenceNoTypeArgs" // $ANTLR start "ruleTypeReferenceNoTypeArgs" // InternalSARL.g:8570:1: ruleTypeReferenceNoTypeArgs returns [EObject current=null] : ( ( ruleQualifiedName ) ) ; public final EObject ruleTypeReferenceNoTypeArgs() throws RecognitionException { EObject current = null; enterRule(); try { // InternalSARL.g:8576:2: ( ( ( ruleQualifiedName ) ) ) // InternalSARL.g:8577:2: ( ( ruleQualifiedName ) ) { // InternalSARL.g:8577:2: ( ( ruleQualifiedName ) ) // InternalSARL.g:8578:3: ( ruleQualifiedName ) { // InternalSARL.g:8578:3: ( ruleQualifiedName ) // InternalSARL.g:8579:4: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getTypeReferenceNoTypeArgsRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeReferenceNoTypeArgsAccess().getTypeJvmTypeCrossReference_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 "ruleTypeReferenceNoTypeArgs" // $ANTLR start "entryRuleTypeReferenceWithTypeArgs" // InternalSARL.g:8596:1: entryRuleTypeReferenceWithTypeArgs returns [EObject current=null] : iv_ruleTypeReferenceWithTypeArgs= ruleTypeReferenceWithTypeArgs EOF ; public final EObject entryRuleTypeReferenceWithTypeArgs() throws RecognitionException { EObject current = null; EObject iv_ruleTypeReferenceWithTypeArgs = null; try { // InternalSARL.g:8596:66: (iv_ruleTypeReferenceWithTypeArgs= ruleTypeReferenceWithTypeArgs EOF ) // InternalSARL.g:8597:2: iv_ruleTypeReferenceWithTypeArgs= ruleTypeReferenceWithTypeArgs EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsRule()); } pushFollow(FOLLOW_1); iv_ruleTypeReferenceWithTypeArgs=ruleTypeReferenceWithTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleTypeReferenceWithTypeArgs; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleTypeReferenceWithTypeArgs" // $ANTLR start "ruleTypeReferenceWithTypeArgs" // InternalSARL.g:8603:1: ruleTypeReferenceWithTypeArgs returns [EObject current=null] : ( (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) | this_XFunctionTypeRef_6= ruleXFunctionTypeRef ) ; public final EObject ruleTypeReferenceWithTypeArgs() throws RecognitionException { EObject current = null; EObject this_ParameterizedTypeReferenceWithTypeArgs_0 = null; EObject this_TypeReferenceNoTypeArgs_3 = null; EObject this_XFunctionTypeRef_6 = null; enterRule(); try { // InternalSARL.g:8609:2: ( ( (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) | this_XFunctionTypeRef_6= ruleXFunctionTypeRef ) ) // InternalSARL.g:8610:2: ( (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) | this_XFunctionTypeRef_6= ruleXFunctionTypeRef ) { // InternalSARL.g:8610:2: ( (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) | this_XFunctionTypeRef_6= ruleXFunctionTypeRef ) int alt237=3; alt237 = dfa237.predict(input); switch (alt237) { case 1 : // InternalSARL.g:8611:3: (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) { // InternalSARL.g:8611:3: (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) // InternalSARL.g:8612:4: this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsAccess().getParameterizedTypeReferenceWithTypeArgsParserRuleCall_0_0()); } pushFollow(FOLLOW_85); this_ParameterizedTypeReferenceWithTypeArgs_0=ruleParameterizedTypeReferenceWithTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_ParameterizedTypeReferenceWithTypeArgs_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:8620:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* loop235: do { int alt235=2; int LA235_0 = input.LA(1); if ( (LA235_0==55) && (synpred8_InternalSARL())) { alt235=1; } switch (alt235) { case 1 : // InternalSARL.g:8621:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) { // InternalSARL.g:8627:5: ( () ruleArrayBrackets ) // InternalSARL.g:8628:6: () ruleArrayBrackets { // InternalSARL.g:8628:6: () // InternalSARL.g:8629:7: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeReferenceWithTypeArgsAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(), current); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsAccess().getArrayBracketsParserRuleCall_0_1_0_1()); } pushFollow(FOLLOW_85); ruleArrayBrackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } break; default : break loop235; } } while (true); } } break; case 2 : // InternalSARL.g:8646:3: (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) { // InternalSARL.g:8646:3: (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) // InternalSARL.g:8647:4: this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsAccess().getTypeReferenceNoTypeArgsParserRuleCall_1_0()); } pushFollow(FOLLOW_86); this_TypeReferenceNoTypeArgs_3=ruleTypeReferenceNoTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_TypeReferenceNoTypeArgs_3; afterParserOrEnumRuleCall(); } // InternalSARL.g:8655:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ int cnt236=0; loop236: do { int alt236=2; int LA236_0 = input.LA(1); if ( (LA236_0==55) && (synpred9_InternalSARL())) { alt236=1; } switch (alt236) { case 1 : // InternalSARL.g:8656:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) { // InternalSARL.g:8662:5: ( () ruleArrayBrackets ) // InternalSARL.g:8663:6: () ruleArrayBrackets { // InternalSARL.g:8663:6: () // InternalSARL.g:8664:7: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getTypeReferenceWithTypeArgsAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_1_1_0_0(), current); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsAccess().getArrayBracketsParserRuleCall_1_1_0_1()); } pushFollow(FOLLOW_85); ruleArrayBrackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } break; default : if ( cnt236 >= 1 ) break loop236; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(236, input); throw eee; } cnt236++; } while (true); } } break; case 3 : // InternalSARL.g:8681:3: this_XFunctionTypeRef_6= ruleXFunctionTypeRef { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getTypeReferenceWithTypeArgsAccess().getXFunctionTypeRefParserRuleCall_2()); } pushFollow(FOLLOW_2); this_XFunctionTypeRef_6=ruleXFunctionTypeRef(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XFunctionTypeRef_6; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleTypeReferenceWithTypeArgs" // $ANTLR start "entryRuleParameterizedTypeReferenceWithTypeArgs" // InternalSARL.g:8693:1: entryRuleParameterizedTypeReferenceWithTypeArgs returns [EObject current=null] : iv_ruleParameterizedTypeReferenceWithTypeArgs= ruleParameterizedTypeReferenceWithTypeArgs EOF ; public final EObject entryRuleParameterizedTypeReferenceWithTypeArgs() throws RecognitionException { EObject current = null; EObject iv_ruleParameterizedTypeReferenceWithTypeArgs = null; try { // InternalSARL.g:8693:79: (iv_ruleParameterizedTypeReferenceWithTypeArgs= ruleParameterizedTypeReferenceWithTypeArgs EOF ) // InternalSARL.g:8694:2: iv_ruleParameterizedTypeReferenceWithTypeArgs= ruleParameterizedTypeReferenceWithTypeArgs EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule()); } pushFollow(FOLLOW_1); iv_ruleParameterizedTypeReferenceWithTypeArgs=ruleParameterizedTypeReferenceWithTypeArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleParameterizedTypeReferenceWithTypeArgs; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleParameterizedTypeReferenceWithTypeArgs" // $ANTLR start "ruleParameterizedTypeReferenceWithTypeArgs" // InternalSARL.g:8700:1: ruleParameterizedTypeReferenceWithTypeArgs 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 ruleParameterizedTypeReferenceWithTypeArgs() 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 { // InternalSARL.g:8706: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= '>' )? )* ) ) ) // InternalSARL.g:8707: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= '>' )? )* ) ) { // InternalSARL.g:8707: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= '>' )? )* ) ) // InternalSARL.g:8708:3: ( ( 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= '>' )? )* ) { // InternalSARL.g:8708:3: ( ( ruleQualifiedName ) ) // InternalSARL.g:8709:4: ( ruleQualifiedName ) { // InternalSARL.g:8709:4: ( ruleQualifiedName ) // InternalSARL.g:8710:5: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getTypeJvmTypeCrossReference_0_0()); } pushFollow(FOLLOW_87); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:8724: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= '>' )? )* ) // InternalSARL.g:8725:4: 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= '>' )? )* { otherlv_1=(Token)match(input,40,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getLessThanSignKeyword_1_0()); } // InternalSARL.g:8729:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:8730:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:8730:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:8731:6: lv_arguments_2_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FOLLOW_28); lv_arguments_2_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule()); } add( current, "arguments", lv_arguments_2_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:8748:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* loop238: do { int alt238=2; int LA238_0 = input.LA(1); if ( (LA238_0==32) ) { alt238=1; } switch (alt238) { case 1 : // InternalSARL.g:8749:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) { otherlv_3=(Token)match(input,32,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getCommaKeyword_1_2_0()); } // InternalSARL.g:8753:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:8754:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:8754:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:8755:7: lv_arguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } pushFollow(FOLLOW_28); lv_arguments_4_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule()); } add( current, "arguments", lv_arguments_4_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop238; } } while (true); otherlv_5=(Token)match(input,41,FOLLOW_89); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getGreaterThanSignKeyword_1_3()); } // InternalSARL.g:8777:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* loop241: do { int alt241=2; int LA241_0 = input.LA(1); if ( (LA241_0==68) && (synpred10_InternalSARL())) { alt241=1; } switch (alt241) { case 1 : // InternalSARL.g:8778:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? { // InternalSARL.g:8778:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) // InternalSARL.g:8779:6: ( ( () '.' ) )=> ( () otherlv_7= '.' ) { // InternalSARL.g:8785:6: ( () otherlv_7= '.' ) // InternalSARL.g:8786:7: () otherlv_7= '.' { // InternalSARL.g:8786:7: () // InternalSARL.g:8787:8: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), current); } } otherlv_7=(Token)match(input,68,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getFullStopKeyword_1_4_0_0_1()); } } } // InternalSARL.g:8799:5: ( ( ruleValidID ) ) // InternalSARL.g:8800:6: ( ruleValidID ) { // InternalSARL.g:8800:6: ( ruleValidID ) // InternalSARL.g:8801:7: ruleValidID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getTypeJvmTypeCrossReference_1_4_1_0()); } pushFollow(FOLLOW_90); ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:8815:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? int alt240=2; int LA240_0 = input.LA(1); if ( (LA240_0==40) && (synpred11_InternalSARL())) { alt240=1; } switch (alt240) { case 1 : // InternalSARL.g:8816:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' { // InternalSARL.g:8816:6: ( ( '<' )=>otherlv_9= '<' ) // InternalSARL.g:8817:7: ( '<' )=>otherlv_9= '<' { otherlv_9=(Token)match(input,40,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getLessThanSignKeyword_1_4_2_0()); } } // InternalSARL.g:8823:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:8824:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:8824:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:8825:8: lv_arguments_10_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } pushFollow(FOLLOW_28); lv_arguments_10_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule()); } add( current, "arguments", lv_arguments_10_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:8842:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* loop239: do { int alt239=2; int LA239_0 = input.LA(1); if ( (LA239_0==32) ) { alt239=1; } switch (alt239) { case 1 : // InternalSARL.g:8843:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) { otherlv_11=(Token)match(input,32,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getCommaKeyword_1_4_2_2_0()); } // InternalSARL.g:8847:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:8848:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:8848:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:8849:9: lv_arguments_12_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } pushFollow(FOLLOW_28); lv_arguments_12_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule()); } add( current, "arguments", lv_arguments_12_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop239; } } while (true); otherlv_13=(Token)match(input,41,FOLLOW_89); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getGreaterThanSignKeyword_1_4_2_3()); } } break; } } break; default : break loop241; } } while (true); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleParameterizedTypeReferenceWithTypeArgs" // $ANTLR start "entryRuleFunctionID" // InternalSARL.g:8878:1: entryRuleFunctionID returns [String current=null] : iv_ruleFunctionID= ruleFunctionID EOF ; public final String entryRuleFunctionID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleFunctionID = null; try { // InternalSARL.g:8878:50: (iv_ruleFunctionID= ruleFunctionID EOF ) // InternalSARL.g:8879:2: iv_ruleFunctionID= ruleFunctionID EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctionIDRule()); } pushFollow(FOLLOW_1); iv_ruleFunctionID=ruleFunctionID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFunctionID.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFunctionID" // $ANTLR start "ruleFunctionID" // InternalSARL.g:8885:1: ruleFunctionID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | this_Operators_1= ruleOperators ) ; public final AntlrDatatypeRuleToken ruleFunctionID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); AntlrDatatypeRuleToken this_ValidID_0 = null; AntlrDatatypeRuleToken this_Operators_1 = null; enterRule(); try { // InternalSARL.g:8891:2: ( (this_ValidID_0= ruleValidID | this_Operators_1= ruleOperators ) ) // InternalSARL.g:8892:2: (this_ValidID_0= ruleValidID | this_Operators_1= ruleOperators ) { // InternalSARL.g:8892:2: (this_ValidID_0= ruleValidID | this_Operators_1= ruleOperators ) int alt242=2; int LA242_0 = input.LA(1); if ( (LA242_0==RULE_ID||LA242_0==44||(LA242_0>=83 && LA242_0<=86)) ) { alt242=1; } else if ( ((LA242_0>=40 && LA242_0<=41)||LA242_0==59||LA242_0==67||(LA242_0>=96 && LA242_0<=107)||(LA242_0>=109 && LA242_0<=121)) ) { alt242=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 242, 0, input); throw nvae; } switch (alt242) { case 1 : // InternalSARL.g:8893:3: this_ValidID_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctionIDAccess().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 : // InternalSARL.g:8904:3: this_Operators_1= ruleOperators { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctionIDAccess().getOperatorsParserRuleCall_1()); } pushFollow(FOLLOW_2); this_Operators_1=ruleOperators(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_Operators_1); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFunctionID" // $ANTLR start "entryRuleOperators" // InternalSARL.g:8918:1: entryRuleOperators returns [String current=null] : iv_ruleOperators= ruleOperators EOF ; public final String entryRuleOperators() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOperators = null; try { // InternalSARL.g:8918:49: (iv_ruleOperators= ruleOperators EOF ) // InternalSARL.g:8919:2: iv_ruleOperators= ruleOperators EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorsRule()); } pushFollow(FOLLOW_1); iv_ruleOperators=ruleOperators(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOperators.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOperators" // $ANTLR start "ruleOperators" // InternalSARL.g:8925:1: ruleOperators returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix ) ; public final AntlrDatatypeRuleToken ruleOperators() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); AntlrDatatypeRuleToken this_OpMultiAssign_0 = null; AntlrDatatypeRuleToken this_OpOr_1 = null; AntlrDatatypeRuleToken this_OpAnd_2 = null; AntlrDatatypeRuleToken this_OpEquality_3 = null; AntlrDatatypeRuleToken this_OpCompare_4 = null; AntlrDatatypeRuleToken this_OpOther_5 = null; AntlrDatatypeRuleToken this_OpMulti_6 = null; AntlrDatatypeRuleToken this_OpUnary_7 = null; AntlrDatatypeRuleToken this_OpPostfix_8 = null; enterRule(); try { // InternalSARL.g:8931:2: ( (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix ) ) // InternalSARL.g:8932:2: (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix ) { // InternalSARL.g:8932:2: (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix ) int alt243=9; alt243 = dfa243.predict(input); switch (alt243) { case 1 : // InternalSARL.g:8933:3: this_OpMultiAssign_0= ruleOpMultiAssign { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorsAccess().getOpMultiAssignParserRuleCall_0()); } pushFollow(FOLLOW_2); this_OpMultiAssign_0=ruleOpMultiAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_OpMultiAssign_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 2 : // InternalSARL.g:8944:3: this_OpOr_1= ruleOpOr { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorsAccess().getOpOrParserRuleCall_1()); } pushFollow(FOLLOW_2); this_OpOr_1=ruleOpOr(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_OpOr_1); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 3 : // InternalSARL.g:8955:3: this_OpAnd_2= ruleOpAnd { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorsAccess().getOpAndParserRuleCall_2()); } pushFollow(FOLLOW_2); this_OpAnd_2=ruleOpAnd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_OpAnd_2); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 4 : // InternalSARL.g:8966:3: this_OpEquality_3= ruleOpEquality { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorsAccess().getOpEqualityParserRuleCall_3()); } pushFollow(FOLLOW_2); this_OpEquality_3=ruleOpEquality(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_OpEquality_3); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 5 : // InternalSARL.g:8977:3: this_OpCompare_4= ruleOpCompare { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorsAccess().getOpCompareParserRuleCall_4()); } pushFollow(FOLLOW_2); this_OpCompare_4=ruleOpCompare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_OpCompare_4); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 6 : // InternalSARL.g:8988:3: this_OpOther_5= ruleOpOther { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorsAccess().getOpOtherParserRuleCall_5()); } pushFollow(FOLLOW_2); this_OpOther_5=ruleOpOther(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_OpOther_5); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 7 : // InternalSARL.g:8999:3: this_OpMulti_6= ruleOpMulti { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorsAccess().getOpMultiParserRuleCall_6()); } pushFollow(FOLLOW_2); this_OpMulti_6=ruleOpMulti(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_OpMulti_6); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 8 : // InternalSARL.g:9010:3: this_OpUnary_7= ruleOpUnary { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorsAccess().getOpUnaryParserRuleCall_7()); } pushFollow(FOLLOW_2); this_OpUnary_7=ruleOpUnary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_OpUnary_7); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 9 : // InternalSARL.g:9021:3: this_OpPostfix_8= ruleOpPostfix { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOperatorsAccess().getOpPostfixParserRuleCall_8()); } pushFollow(FOLLOW_2); this_OpPostfix_8=ruleOpPostfix(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_OpPostfix_8); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOperators" // $ANTLR start "entryRuleCommonModifier" // InternalSARL.g:9035:1: entryRuleCommonModifier returns [String current=null] : iv_ruleCommonModifier= ruleCommonModifier EOF ; public final String entryRuleCommonModifier() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleCommonModifier = null; try { // InternalSARL.g:9035:54: (iv_ruleCommonModifier= ruleCommonModifier EOF ) // InternalSARL.g:9036:2: iv_ruleCommonModifier= ruleCommonModifier EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getCommonModifierRule()); } pushFollow(FOLLOW_1); iv_ruleCommonModifier=ruleCommonModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleCommonModifier.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleCommonModifier" // $ANTLR start "ruleCommonModifier" // InternalSARL.g:9042:1: ruleCommonModifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'package' | kw= 'abstract' | kw= 'static' | kw= 'dispatch' | kw= 'final' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' ) ; public final AntlrDatatypeRuleToken ruleCommonModifier() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalSARL.g:9048:2: ( (kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'package' | kw= 'abstract' | kw= 'static' | kw= 'dispatch' | kw= 'final' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' ) ) // InternalSARL.g:9049:2: (kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'package' | kw= 'abstract' | kw= 'static' | kw= 'dispatch' | kw= 'final' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' ) { // InternalSARL.g:9049:2: (kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'package' | kw= 'abstract' | kw= 'static' | kw= 'dispatch' | kw= 'final' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' ) int alt244=13; switch ( input.LA(1) ) { case 69: { alt244=1; } break; case 70: { alt244=2; } break; case 71: { alt244=3; } break; case 25: { alt244=4; } break; case 72: { alt244=5; } break; case 73: { alt244=6; } break; case 74: { alt244=7; } break; case 75: { alt244=8; } break; case 76: { alt244=9; } break; case 77: { alt244=10; } break; case 78: { alt244=11; } break; case 79: { alt244=12; } break; case 80: { alt244=13; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 244, 0, input); throw nvae; } switch (alt244) { case 1 : // InternalSARL.g:9050:3: kw= 'public' { kw=(Token)match(input,69,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getPublicKeyword_0()); } } break; case 2 : // InternalSARL.g:9056:3: kw= 'private' { kw=(Token)match(input,70,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getPrivateKeyword_1()); } } break; case 3 : // InternalSARL.g:9062:3: kw= 'protected' { kw=(Token)match(input,71,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getProtectedKeyword_2()); } } break; case 4 : // InternalSARL.g:9068:3: kw= 'package' { kw=(Token)match(input,25,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getPackageKeyword_3()); } } break; case 5 : // InternalSARL.g:9074:3: kw= 'abstract' { kw=(Token)match(input,72,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getAbstractKeyword_4()); } } break; case 6 : // InternalSARL.g:9080:3: kw= 'static' { kw=(Token)match(input,73,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getStaticKeyword_5()); } } break; case 7 : // InternalSARL.g:9086:3: kw= 'dispatch' { kw=(Token)match(input,74,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getDispatchKeyword_6()); } } break; case 8 : // InternalSARL.g:9092:3: kw= 'final' { kw=(Token)match(input,75,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getFinalKeyword_7()); } } break; case 9 : // InternalSARL.g:9098:3: kw= 'strictfp' { kw=(Token)match(input,76,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getStrictfpKeyword_8()); } } break; case 10 : // InternalSARL.g:9104:3: kw= 'native' { kw=(Token)match(input,77,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getNativeKeyword_9()); } } break; case 11 : // InternalSARL.g:9110:3: kw= 'volatile' { kw=(Token)match(input,78,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getVolatileKeyword_10()); } } break; case 12 : // InternalSARL.g:9116:3: kw= 'synchronized' { kw=(Token)match(input,79,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getSynchronizedKeyword_11()); } } break; case 13 : // InternalSARL.g:9122:3: kw= 'transient' { kw=(Token)match(input,80,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getCommonModifierAccess().getTransientKeyword_12()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleCommonModifier" // $ANTLR start "entryRuleFieldModifier" // InternalSARL.g:9131:1: entryRuleFieldModifier returns [String current=null] : iv_ruleFieldModifier= ruleFieldModifier EOF ; public final String entryRuleFieldModifier() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleFieldModifier = null; try { // InternalSARL.g:9131:53: (iv_ruleFieldModifier= ruleFieldModifier EOF ) // InternalSARL.g:9132:2: iv_ruleFieldModifier= ruleFieldModifier EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFieldModifierRule()); } pushFollow(FOLLOW_1); iv_ruleFieldModifier=ruleFieldModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFieldModifier.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFieldModifier" // $ANTLR start "ruleFieldModifier" // InternalSARL.g:9138:1: ruleFieldModifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'val' | kw= 'var' ) ; public final AntlrDatatypeRuleToken ruleFieldModifier() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalSARL.g:9144:2: ( (kw= 'val' | kw= 'var' ) ) // InternalSARL.g:9145:2: (kw= 'val' | kw= 'var' ) { // InternalSARL.g:9145:2: (kw= 'val' | kw= 'var' ) int alt245=2; int LA245_0 = input.LA(1); if ( (LA245_0==62) ) { alt245=1; } else if ( (LA245_0==61) ) { alt245=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 245, 0, input); throw nvae; } switch (alt245) { case 1 : // InternalSARL.g:9146:3: kw= 'val' { kw=(Token)match(input,62,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFieldModifierAccess().getValKeyword_0()); } } break; case 2 : // InternalSARL.g:9152:3: kw= 'var' { kw=(Token)match(input,61,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFieldModifierAccess().getVarKeyword_1()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFieldModifier" // $ANTLR start "entryRuleMethodModifier" // InternalSARL.g:9161:1: entryRuleMethodModifier returns [String current=null] : iv_ruleMethodModifier= ruleMethodModifier EOF ; public final String entryRuleMethodModifier() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleMethodModifier = null; try { // InternalSARL.g:9161:54: (iv_ruleMethodModifier= ruleMethodModifier EOF ) // InternalSARL.g:9162:2: iv_ruleMethodModifier= ruleMethodModifier EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMethodModifierRule()); } pushFollow(FOLLOW_1); iv_ruleMethodModifier=ruleMethodModifier(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMethodModifier.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMethodModifier" // $ANTLR start "ruleMethodModifier" // InternalSARL.g:9168:1: ruleMethodModifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'def' | kw= 'override' ) ; public final AntlrDatatypeRuleToken ruleMethodModifier() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalSARL.g:9174:2: ( (kw= 'def' | kw= 'override' ) ) // InternalSARL.g:9175:2: (kw= 'def' | kw= 'override' ) { // InternalSARL.g:9175:2: (kw= 'def' | kw= 'override' ) int alt246=2; int LA246_0 = input.LA(1); if ( (LA246_0==81) ) { alt246=1; } else if ( (LA246_0==82) ) { alt246=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 246, 0, input); throw nvae; } switch (alt246) { case 1 : // InternalSARL.g:9176:3: kw= 'def' { kw=(Token)match(input,81,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getMethodModifierAccess().getDefKeyword_0()); } } break; case 2 : // InternalSARL.g:9182:3: kw= 'override' { kw=(Token)match(input,82,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getMethodModifierAccess().getOverrideKeyword_1()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleMethodModifier" // $ANTLR start "entryRuleValidID" // InternalSARL.g:9191:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ; public final String entryRuleValidID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleValidID = null; try { // InternalSARL.g:9191:47: (iv_ruleValidID= ruleValidID EOF ) // InternalSARL.g:9192: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" // InternalSARL.g:9198:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | kw= 'create' | kw= 'annotation' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) ; public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_ID_0=null; Token kw=null; enterRule(); try { // InternalSARL.g:9204:2: ( (this_ID_0= RULE_ID | kw= 'create' | kw= 'annotation' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) ) // InternalSARL.g:9205:2: (this_ID_0= RULE_ID | kw= 'create' | kw= 'annotation' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) { // InternalSARL.g:9205:2: (this_ID_0= RULE_ID | kw= 'create' | kw= 'annotation' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) int alt247=6; switch ( input.LA(1) ) { case RULE_ID: { alt247=1; } break; case 83: { alt247=2; } break; case 44: { alt247=3; } break; case 84: { alt247=4; } break; case 85: { alt247=5; } break; case 86: { alt247=6; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 247, 0, input); throw nvae; } switch (alt247) { case 1 : // InternalSARL.g:9206:3: 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_0()); } } break; case 2 : // InternalSARL.g:9214:3: kw= 'create' { kw=(Token)match(input,83,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getValidIDAccess().getCreateKeyword_1()); } } break; case 3 : // InternalSARL.g:9220:3: kw= 'annotation' { kw=(Token)match(input,44,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getValidIDAccess().getAnnotationKeyword_2()); } } break; case 4 : // InternalSARL.g:9226:3: kw= 'AFTER' { kw=(Token)match(input,84,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getValidIDAccess().getAFTERKeyword_3()); } } break; case 5 : // InternalSARL.g:9232:3: kw= 'BEFORE' { kw=(Token)match(input,85,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getValidIDAccess().getBEFOREKeyword_4()); } } break; case 6 : // InternalSARL.g:9238:3: kw= 'SEPARATOR' { kw=(Token)match(input,86,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getValidIDAccess().getSEPARATORKeyword_5()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleValidID" // $ANTLR start "entryRuleFeatureCallID" // InternalSARL.g:9247:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ; public final String entryRuleFeatureCallID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleFeatureCallID = null; try { // InternalSARL.g:9247:53: (iv_ruleFeatureCallID= ruleFeatureCallID EOF ) // InternalSARL.g:9248: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" // InternalSARL.g:9254:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_InnerVarID_0= ruleInnerVarID | kw= 'extension' ) ; public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_InnerVarID_0 = null; enterRule(); try { // InternalSARL.g:9260:2: ( (this_InnerVarID_0= ruleInnerVarID | kw= 'extension' ) ) // InternalSARL.g:9261:2: (this_InnerVarID_0= ruleInnerVarID | kw= 'extension' ) { // InternalSARL.g:9261:2: (this_InnerVarID_0= ruleInnerVarID | kw= 'extension' ) int alt248=2; int LA248_0 = input.LA(1); if ( (LA248_0==RULE_ID||LA248_0==25||LA248_0==28||LA248_0==36||LA248_0==39||(LA248_0>=42 && LA248_0<=44)||LA248_0==51||(LA248_0>=69 && LA248_0<=87)) ) { alt248=1; } else if ( (LA248_0==45) ) { alt248=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 248, 0, input); throw nvae; } switch (alt248) { case 1 : // InternalSARL.g:9262:3: this_InnerVarID_0= ruleInnerVarID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFeatureCallIDAccess().getInnerVarIDParserRuleCall_0()); } pushFollow(FOLLOW_2); this_InnerVarID_0=ruleInnerVarID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_InnerVarID_0); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; case 2 : // InternalSARL.g:9273:3: kw= 'extension' { kw=(Token)match(input,45,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_1()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFeatureCallID" // $ANTLR start "entryRuleInnerVarID" // InternalSARL.g:9282:1: entryRuleInnerVarID returns [String current=null] : iv_ruleInnerVarID= ruleInnerVarID EOF ; public final String entryRuleInnerVarID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleInnerVarID = null; try { // InternalSARL.g:9282:50: (iv_ruleInnerVarID= ruleInnerVarID EOF ) // InternalSARL.g:9283:2: iv_ruleInnerVarID= ruleInnerVarID EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInnerVarIDRule()); } pushFollow(FOLLOW_1); iv_ruleInnerVarID=ruleInnerVarID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleInnerVarID.getText(); } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleInnerVarID" // $ANTLR start "ruleInnerVarID" // InternalSARL.g:9289:1: ruleInnerVarID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID | kw= 'abstract' | kw= 'annotation' | kw= 'class' | kw= 'create' | kw= 'def' | kw= 'dispatch' | kw= 'enum' | kw= 'extends' | kw= 'final' | kw= 'implements' | kw= 'import' | kw= 'interface' | kw= 'override' | kw= 'package' | kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'static' | kw= 'throws' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) ; public final AntlrDatatypeRuleToken ruleInnerVarID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_ID_0=null; Token kw=null; enterRule(); try { // InternalSARL.g:9295:2: ( (this_ID_0= RULE_ID | kw= 'abstract' | kw= 'annotation' | kw= 'class' | kw= 'create' | kw= 'def' | kw= 'dispatch' | kw= 'enum' | kw= 'extends' | kw= 'final' | kw= 'implements' | kw= 'import' | kw= 'interface' | kw= 'override' | kw= 'package' | kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'static' | kw= 'throws' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) ) // InternalSARL.g:9296:2: (this_ID_0= RULE_ID | kw= 'abstract' | kw= 'annotation' | kw= 'class' | kw= 'create' | kw= 'def' | kw= 'dispatch' | kw= 'enum' | kw= 'extends' | kw= 'final' | kw= 'implements' | kw= 'import' | kw= 'interface' | kw= 'override' | kw= 'package' | kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'static' | kw= 'throws' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) { // InternalSARL.g:9296:2: (this_ID_0= RULE_ID | kw= 'abstract' | kw= 'annotation' | kw= 'class' | kw= 'create' | kw= 'def' | kw= 'dispatch' | kw= 'enum' | kw= 'extends' | kw= 'final' | kw= 'implements' | kw= 'import' | kw= 'interface' | kw= 'override' | kw= 'package' | kw= 'public' | kw= 'private' | kw= 'protected' | kw= 'static' | kw= 'throws' | kw= 'strictfp' | kw= 'native' | kw= 'volatile' | kw= 'synchronized' | kw= 'transient' | kw= 'AFTER' | kw= 'BEFORE' | kw= 'SEPARATOR' ) int alt249=28; switch ( input.LA(1) ) { case RULE_ID: { alt249=1; } break; case 72: { alt249=2; } break; case 44: { alt249=3; } break; case 39: { alt249=4; } break; case 83: { alt249=5; } break; case 81: { alt249=6; } break; case 74: { alt249=7; } break; case 43: { alt249=8; } break; case 28: { alt249=9; } break; case 75: { alt249=10; } break; case 36: { alt249=11; } break; case 87: { alt249=12; } break; case 42: { alt249=13; } break; case 82: { alt249=14; } break; case 25: { alt249=15; } break; case 69: { alt249=16; } break; case 70: { alt249=17; } break; case 71: { alt249=18; } break; case 73: { alt249=19; } break; case 51: { alt249=20; } break; case 76: { alt249=21; } break; case 77: { alt249=22; } break; case 78: { alt249=23; } break; case 79: { alt249=24; } break; case 80: { alt249=25; } break; case 84: { alt249=26; } break; case 85: { alt249=27; } break; case 86: { alt249=28; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 249, 0, input); throw nvae; } switch (alt249) { case 1 : // InternalSARL.g:9297:3: 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.getInnerVarIDAccess().getIDTerminalRuleCall_0()); } } break; case 2 : // InternalSARL.g:9305:3: kw= 'abstract' { kw=(Token)match(input,72,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getAbstractKeyword_1()); } } break; case 3 : // InternalSARL.g:9311:3: kw= 'annotation' { kw=(Token)match(input,44,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getAnnotationKeyword_2()); } } break; case 4 : // InternalSARL.g:9317:3: kw= 'class' { kw=(Token)match(input,39,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getClassKeyword_3()); } } break; case 5 : // InternalSARL.g:9323:3: kw= 'create' { kw=(Token)match(input,83,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getCreateKeyword_4()); } } break; case 6 : // InternalSARL.g:9329:3: kw= 'def' { kw=(Token)match(input,81,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getDefKeyword_5()); } } break; case 7 : // InternalSARL.g:9335:3: kw= 'dispatch' { kw=(Token)match(input,74,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getDispatchKeyword_6()); } } break; case 8 : // InternalSARL.g:9341:3: kw= 'enum' { kw=(Token)match(input,43,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getEnumKeyword_7()); } } break; case 9 : // InternalSARL.g:9347:3: kw= 'extends' { kw=(Token)match(input,28,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getExtendsKeyword_8()); } } break; case 10 : // InternalSARL.g:9353:3: kw= 'final' { kw=(Token)match(input,75,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getFinalKeyword_9()); } } break; case 11 : // InternalSARL.g:9359:3: kw= 'implements' { kw=(Token)match(input,36,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getImplementsKeyword_10()); } } break; case 12 : // InternalSARL.g:9365:3: kw= 'import' { kw=(Token)match(input,87,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getImportKeyword_11()); } } break; case 13 : // InternalSARL.g:9371:3: kw= 'interface' { kw=(Token)match(input,42,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getInterfaceKeyword_12()); } } break; case 14 : // InternalSARL.g:9377:3: kw= 'override' { kw=(Token)match(input,82,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getOverrideKeyword_13()); } } break; case 15 : // InternalSARL.g:9383:3: kw= 'package' { kw=(Token)match(input,25,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getPackageKeyword_14()); } } break; case 16 : // InternalSARL.g:9389:3: kw= 'public' { kw=(Token)match(input,69,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getPublicKeyword_15()); } } break; case 17 : // InternalSARL.g:9395:3: kw= 'private' { kw=(Token)match(input,70,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getPrivateKeyword_16()); } } break; case 18 : // InternalSARL.g:9401:3: kw= 'protected' { kw=(Token)match(input,71,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getProtectedKeyword_17()); } } break; case 19 : // InternalSARL.g:9407:3: kw= 'static' { kw=(Token)match(input,73,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getStaticKeyword_18()); } } break; case 20 : // InternalSARL.g:9413:3: kw= 'throws' { kw=(Token)match(input,51,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getThrowsKeyword_19()); } } break; case 21 : // InternalSARL.g:9419:3: kw= 'strictfp' { kw=(Token)match(input,76,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getStrictfpKeyword_20()); } } break; case 22 : // InternalSARL.g:9425:3: kw= 'native' { kw=(Token)match(input,77,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getNativeKeyword_21()); } } break; case 23 : // InternalSARL.g:9431:3: kw= 'volatile' { kw=(Token)match(input,78,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getVolatileKeyword_22()); } } break; case 24 : // InternalSARL.g:9437:3: kw= 'synchronized' { kw=(Token)match(input,79,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getSynchronizedKeyword_23()); } } break; case 25 : // InternalSARL.g:9443:3: kw= 'transient' { kw=(Token)match(input,80,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getTransientKeyword_24()); } } break; case 26 : // InternalSARL.g:9449:3: kw= 'AFTER' { kw=(Token)match(input,84,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getAFTERKeyword_25()); } } break; case 27 : // InternalSARL.g:9455:3: kw= 'BEFORE' { kw=(Token)match(input,85,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getBEFOREKeyword_26()); } } break; case 28 : // InternalSARL.g:9461:3: kw= 'SEPARATOR' { kw=(Token)match(input,86,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getInnerVarIDAccess().getSEPARATORKeyword_27()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleInnerVarID" // $ANTLR start "entryRuleXConstructorCall" // InternalSARL.g:9470:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ; public final EObject entryRuleXConstructorCall() throws RecognitionException { EObject current = null; EObject iv_ruleXConstructorCall = null; try { // InternalSARL.g:9470:57: (iv_ruleXConstructorCall= ruleXConstructorCall EOF ) // InternalSARL.g:9471: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" // InternalSARL.g:9477:1: ruleXConstructorCall returns [EObject current=null] : (this_XbaseConstructorCall_0= ruleXbaseConstructorCall ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )? ) ; public final EObject ruleXConstructorCall() throws RecognitionException { EObject current = null; Token otherlv_2=null; Token otherlv_4=null; EObject this_XbaseConstructorCall_0 = null; EObject lv_members_3_0 = null; enterRule(); try { // InternalSARL.g:9483:2: ( (this_XbaseConstructorCall_0= ruleXbaseConstructorCall ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )? ) ) // InternalSARL.g:9484:2: (this_XbaseConstructorCall_0= ruleXbaseConstructorCall ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )? ) { // InternalSARL.g:9484:2: (this_XbaseConstructorCall_0= ruleXbaseConstructorCall ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )? ) // InternalSARL.g:9485:3: this_XbaseConstructorCall_0= ruleXbaseConstructorCall ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getXbaseConstructorCallParserRuleCall_0()); } pushFollow(FOLLOW_10); this_XbaseConstructorCall_0=ruleXbaseConstructorCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XbaseConstructorCall_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:9493:3: ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )? int alt251=2; alt251 = dfa251.predict(input); switch (alt251) { case 1 : // InternalSARL.g:9494:4: ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' { // InternalSARL.g:9494:4: ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) // InternalSARL.g:9495:5: ( ( () '{' ) )=> ( () otherlv_2= '{' ) { // InternalSARL.g:9501:5: ( () otherlv_2= '{' ) // InternalSARL.g:9502:6: () otherlv_2= '{' { // InternalSARL.g:9502:6: () // InternalSARL.g:9503:7: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXConstructorCallAccess().getAnonymousClassConstructorCallAction_1_0_0_0(), current); } } otherlv_2=(Token)match(input,29,FOLLOW_29); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXConstructorCallAccess().getLeftCurlyBracketKeyword_1_0_0_1()); } } } // InternalSARL.g:9515:4: ( (lv_members_3_0= ruleMember ) )* loop250: do { int alt250=2; int LA250_0 = input.LA(1); if ( (LA250_0==25||LA250_0==39||(LA250_0>=42 && LA250_0<=45)||LA250_0==48||(LA250_0>=61 && LA250_0<=62)||(LA250_0>=69 && LA250_0<=82)||LA250_0==94) ) { alt250=1; } switch (alt250) { case 1 : // InternalSARL.g:9516:5: (lv_members_3_0= ruleMember ) { // InternalSARL.g:9516:5: (lv_members_3_0= ruleMember ) // InternalSARL.g:9517:6: lv_members_3_0= ruleMember { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getMembersMemberParserRuleCall_1_1_0()); } pushFollow(FOLLOW_29); lv_members_3_0=ruleMember(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "members", lv_members_3_0, "io.sarl.lang.SARL.Member"); afterParserOrEnumRuleCall(); } } } break; default : break loop250; } } while (true); otherlv_4=(Token)match(input,30,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXConstructorCallAccess().getRightCurlyBracketKeyword_1_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXConstructorCall" // $ANTLR start "entryRuleXbaseConstructorCall" // InternalSARL.g:9543:1: entryRuleXbaseConstructorCall returns [EObject current=null] : iv_ruleXbaseConstructorCall= ruleXbaseConstructorCall EOF ; public final EObject entryRuleXbaseConstructorCall() throws RecognitionException { EObject current = null; EObject iv_ruleXbaseConstructorCall = null; try { // InternalSARL.g:9543:61: (iv_ruleXbaseConstructorCall= ruleXbaseConstructorCall EOF ) // InternalSARL.g:9544:2: iv_ruleXbaseConstructorCall= ruleXbaseConstructorCall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseConstructorCallRule()); } pushFollow(FOLLOW_1); iv_ruleXbaseConstructorCall=ruleXbaseConstructorCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXbaseConstructorCall; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXbaseConstructorCall" // $ANTLR start "ruleXbaseConstructorCall" // InternalSARL.g:9550:1: ruleXbaseConstructorCall 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 ruleXbaseConstructorCall() 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 { // InternalSARL.g:9556: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 ) )? ) ) // InternalSARL.g:9557: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 ) )? ) { // InternalSARL.g:9557: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 ) )? ) // InternalSARL.g:9558:3: () 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 ) )? { // InternalSARL.g:9558:3: () // InternalSARL.g:9559:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXbaseConstructorCallAccess().getXConstructorCallAction_0(), current); } } otherlv_1=(Token)match(input,48,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXbaseConstructorCallAccess().getNewKeyword_1()); } // InternalSARL.g:9569:3: ( ( ruleQualifiedName ) ) // InternalSARL.g:9570:4: ( ruleQualifiedName ) { // InternalSARL.g:9570:4: ( ruleQualifiedName ) // InternalSARL.g:9571:5: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXbaseConstructorCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); } pushFollow(FOLLOW_91); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:9585:3: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? int alt253=2; alt253 = dfa253.predict(input); switch (alt253) { case 1 : // InternalSARL.g:9586:4: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' { // InternalSARL.g:9586:4: ( ( '<' )=>otherlv_3= '<' ) // InternalSARL.g:9587:5: ( '<' )=>otherlv_3= '<' { otherlv_3=(Token)match(input,40,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXbaseConstructorCallAccess().getLessThanSignKeyword_3_0()); } } // InternalSARL.g:9593:4: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:9594:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:9594:5: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:9595:6: lv_typeArguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); } pushFollow(FOLLOW_28); lv_typeArguments_4_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule()); } add( current, "typeArguments", lv_typeArguments_4_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:9612:4: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* loop252: do { int alt252=2; int LA252_0 = input.LA(1); if ( (LA252_0==32) ) { alt252=1; } switch (alt252) { case 1 : // InternalSARL.g:9613:5: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) { otherlv_5=(Token)match(input,32,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXbaseConstructorCallAccess().getCommaKeyword_3_2_0()); } // InternalSARL.g:9617:5: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:9618:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:9618:6: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:9619:7: lv_typeArguments_6_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); } pushFollow(FOLLOW_28); lv_typeArguments_6_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule()); } add( current, "typeArguments", lv_typeArguments_6_0, "org.eclipse.xtext.xbase.Xtype.JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop252; } } while (true); otherlv_7=(Token)match(input,41,FOLLOW_92); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getXbaseConstructorCallAccess().getGreaterThanSignKeyword_3_3()); } } break; } // InternalSARL.g:9642: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 alt256=2; alt256 = dfa256.predict(input); switch (alt256) { case 1 : // InternalSARL.g:9643: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= ')' { // InternalSARL.g:9643:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) // InternalSARL.g:9644:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) { // InternalSARL.g:9648:5: (lv_explicitConstructorCall_8_0= '(' ) // InternalSARL.g:9649:6: lv_explicitConstructorCall_8_0= '(' { lv_explicitConstructorCall_8_0=(Token)match(input,49,FOLLOW_93); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXbaseConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXbaseConstructorCallRule()); } setWithLastConsumed(current, "explicitConstructorCall", true, "("); } } } // InternalSARL.g:9661:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? int alt255=3; alt255 = dfa255.predict(input); switch (alt255) { case 1 : // InternalSARL.g:9662:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) { // InternalSARL.g:9662:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) // InternalSARL.g:9663:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) { // InternalSARL.g:9688:6: (lv_arguments_9_0= ruleXShortClosure ) // InternalSARL.g:9689:7: lv_arguments_9_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); } pushFollow(FOLLOW_78); lv_arguments_9_0=ruleXShortClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule()); } add( current, "arguments", lv_arguments_9_0, "org.eclipse.xtext.xbase.Xbase.XShortClosure"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:9707:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) { // InternalSARL.g:9707:5: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) // InternalSARL.g:9708:6: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* { // InternalSARL.g:9708:6: ( (lv_arguments_10_0= ruleXExpression ) ) // InternalSARL.g:9709:7: (lv_arguments_10_0= ruleXExpression ) { // InternalSARL.g:9709:7: (lv_arguments_10_0= ruleXExpression ) // InternalSARL.g:9710:8: lv_arguments_10_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); } pushFollow(FOLLOW_51); lv_arguments_10_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule()); } add( current, "arguments", lv_arguments_10_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:9727:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* loop254: do { int alt254=2; int LA254_0 = input.LA(1); if ( (LA254_0==32) ) { alt254=1; } switch (alt254) { case 1 : // InternalSARL.g:9728:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) { otherlv_11=(Token)match(input,32,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getXbaseConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); } // InternalSARL.g:9732:7: ( (lv_arguments_12_0= ruleXExpression ) ) // InternalSARL.g:9733:8: (lv_arguments_12_0= ruleXExpression ) { // InternalSARL.g:9733:8: (lv_arguments_12_0= ruleXExpression ) // InternalSARL.g:9734:9: lv_arguments_12_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); } pushFollow(FOLLOW_51); lv_arguments_12_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXbaseConstructorCallRule()); } add( current, "arguments", lv_arguments_12_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop254; } } while (true); } } break; } otherlv_13=(Token)match(input,50,FOLLOW_85); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXbaseConstructorCallAccess().getRightParenthesisKeyword_4_2()); } } break; } // InternalSARL.g:9759:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? int alt257=2; alt257 = dfa257.predict(input); switch (alt257) { case 1 : // InternalSARL.g:9760:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) { // InternalSARL.g:9766:4: (lv_arguments_14_0= ruleXClosure ) // InternalSARL.g:9767:5: lv_arguments_14_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXbaseConstructorCallAccess().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.getXbaseConstructorCallRule()); } 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 "ruleXbaseConstructorCall" // $ANTLR start "entryRuleXStringLiteral" // InternalSARL.g:9788:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ; public final EObject entryRuleXStringLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXStringLiteral = null; try { // InternalSARL.g:9788:55: (iv_ruleXStringLiteral= ruleXStringLiteral EOF ) // InternalSARL.g:9789: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" // InternalSARL.g:9795:1: ruleXStringLiteral returns [EObject current=null] : (this_SimpleStringLiteral_0= ruleSimpleStringLiteral | this_RichString_1= ruleRichString ) ; public final EObject ruleXStringLiteral() throws RecognitionException { EObject current = null; EObject this_SimpleStringLiteral_0 = null; EObject this_RichString_1 = null; enterRule(); try { // InternalSARL.g:9801:2: ( (this_SimpleStringLiteral_0= ruleSimpleStringLiteral | this_RichString_1= ruleRichString ) ) // InternalSARL.g:9802:2: (this_SimpleStringLiteral_0= ruleSimpleStringLiteral | this_RichString_1= ruleRichString ) { // InternalSARL.g:9802:2: (this_SimpleStringLiteral_0= ruleSimpleStringLiteral | this_RichString_1= ruleRichString ) int alt258=2; int LA258_0 = input.LA(1); if ( (LA258_0==RULE_STRING) ) { alt258=1; } else if ( ((LA258_0>=RULE_RICH_TEXT && LA258_0<=RULE_RICH_TEXT_START)) ) { alt258=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 258, 0, input); throw nvae; } switch (alt258) { case 1 : // InternalSARL.g:9803:3: this_SimpleStringLiteral_0= ruleSimpleStringLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXStringLiteralAccess().getSimpleStringLiteralParserRuleCall_0()); } pushFollow(FOLLOW_2); this_SimpleStringLiteral_0=ruleSimpleStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_SimpleStringLiteral_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalSARL.g:9812:3: this_RichString_1= ruleRichString { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXStringLiteralAccess().getRichStringParserRuleCall_1()); } pushFollow(FOLLOW_2); this_RichString_1=ruleRichString(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_RichString_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXStringLiteral" // $ANTLR start "entryRuleSimpleStringLiteral" // InternalSARL.g:9824:1: entryRuleSimpleStringLiteral returns [EObject current=null] : iv_ruleSimpleStringLiteral= ruleSimpleStringLiteral EOF ; public final EObject entryRuleSimpleStringLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleSimpleStringLiteral = null; try { // InternalSARL.g:9824:60: (iv_ruleSimpleStringLiteral= ruleSimpleStringLiteral EOF ) // InternalSARL.g:9825:2: iv_ruleSimpleStringLiteral= ruleSimpleStringLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSimpleStringLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleSimpleStringLiteral=ruleSimpleStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSimpleStringLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSimpleStringLiteral" // $ANTLR start "ruleSimpleStringLiteral" // InternalSARL.g:9831:1: ruleSimpleStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ; public final EObject ruleSimpleStringLiteral() throws RecognitionException { EObject current = null; Token lv_value_1_0=null; enterRule(); try { // InternalSARL.g:9837:2: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) ) // InternalSARL.g:9838:2: ( () ( (lv_value_1_0= RULE_STRING ) ) ) { // InternalSARL.g:9838:2: ( () ( (lv_value_1_0= RULE_STRING ) ) ) // InternalSARL.g:9839:3: () ( (lv_value_1_0= RULE_STRING ) ) { // InternalSARL.g:9839:3: () // InternalSARL.g:9840:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getSimpleStringLiteralAccess().getXStringLiteralAction_0(), current); } } // InternalSARL.g:9846:3: ( (lv_value_1_0= RULE_STRING ) ) // InternalSARL.g:9847:4: (lv_value_1_0= RULE_STRING ) { // InternalSARL.g:9847:4: (lv_value_1_0= RULE_STRING ) // InternalSARL.g:9848:5: 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.getSimpleStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getSimpleStringLiteralRule()); } 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 "ruleSimpleStringLiteral" // $ANTLR start "entryRuleRichString" // InternalSARL.g:9868:1: entryRuleRichString returns [EObject current=null] : iv_ruleRichString= ruleRichString EOF ; public final EObject entryRuleRichString() throws RecognitionException { EObject current = null; EObject iv_ruleRichString = null; try { // InternalSARL.g:9868:51: (iv_ruleRichString= ruleRichString EOF ) // InternalSARL.g:9869:2: iv_ruleRichString= ruleRichString EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringRule()); } pushFollow(FOLLOW_1); iv_ruleRichString=ruleRichString(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRichString; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleRichString" // $ANTLR start "ruleRichString" // InternalSARL.g:9875:1: ruleRichString returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) ) ) ; public final EObject ruleRichString() throws RecognitionException { EObject current = null; EObject lv_expressions_1_0 = null; EObject lv_expressions_2_0 = null; EObject lv_expressions_3_0 = null; EObject lv_expressions_4_0 = null; EObject lv_expressions_5_0 = null; EObject lv_expressions_6_0 = null; enterRule(); try { // InternalSARL.g:9881:2: ( ( () ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) ) ) ) // InternalSARL.g:9882:2: ( () ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) ) ) { // InternalSARL.g:9882:2: ( () ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) ) ) // InternalSARL.g:9883:3: () ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) ) { // InternalSARL.g:9883:3: () // InternalSARL.g:9884:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getRichStringAccess().getRichStringAction_0(), current); } } // InternalSARL.g:9890:3: ( ( (lv_expressions_1_0= ruleRichStringLiteral ) ) | ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) ) int alt262=2; int LA262_0 = input.LA(1); if ( (LA262_0==RULE_RICH_TEXT) ) { alt262=1; } else if ( (LA262_0==RULE_RICH_TEXT_START) ) { alt262=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 262, 0, input); throw nvae; } switch (alt262) { case 1 : // InternalSARL.g:9891:4: ( (lv_expressions_1_0= ruleRichStringLiteral ) ) { // InternalSARL.g:9891:4: ( (lv_expressions_1_0= ruleRichStringLiteral ) ) // InternalSARL.g:9892:5: (lv_expressions_1_0= ruleRichStringLiteral ) { // InternalSARL.g:9892:5: (lv_expressions_1_0= ruleRichStringLiteral ) // InternalSARL.g:9893:6: lv_expressions_1_0= ruleRichStringLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralParserRuleCall_1_0_0()); } pushFollow(FOLLOW_2); lv_expressions_1_0=ruleRichStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringRule()); } add( current, "expressions", lv_expressions_1_0, "org.eclipse.xtend.core.Xtend.RichStringLiteral"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // InternalSARL.g:9911:4: ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) { // InternalSARL.g:9911:4: ( ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) ) // InternalSARL.g:9912:5: ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) ( (lv_expressions_3_0= ruleRichStringPart ) )? ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) { // InternalSARL.g:9912:5: ( (lv_expressions_2_0= ruleRichStringLiteralStart ) ) // InternalSARL.g:9913:6: (lv_expressions_2_0= ruleRichStringLiteralStart ) { // InternalSARL.g:9913:6: (lv_expressions_2_0= ruleRichStringLiteralStart ) // InternalSARL.g:9914:7: lv_expressions_2_0= ruleRichStringLiteralStart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralStartParserRuleCall_1_1_0_0()); } pushFollow(FOLLOW_94); lv_expressions_2_0=ruleRichStringLiteralStart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringRule()); } add( current, "expressions", lv_expressions_2_0, "org.eclipse.xtend.core.Xtend.RichStringLiteralStart"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:9931:5: ( (lv_expressions_3_0= ruleRichStringPart ) )? int alt259=2; int LA259_0 = input.LA(1); if ( ((LA259_0>=RULE_ID && LA259_0<=RULE_RICH_TEXT_START)||(LA259_0>=RULE_HEX && LA259_0<=RULE_DECIMAL)||LA259_0==25||(LA259_0>=28 && LA259_0<=29)||LA259_0==36||(LA259_0>=39 && LA259_0<=40)||(LA259_0>=42 && LA259_0<=45)||(LA259_0>=48 && LA259_0<=49)||LA259_0==51||LA259_0==55||(LA259_0>=60 && LA259_0<=63)||LA259_0==65||(LA259_0>=69 && LA259_0<=88)||LA259_0==90||LA259_0==95||(LA259_0>=114 && LA259_0<=115)||LA259_0==119||LA259_0==125||(LA259_0>=128 && LA259_0<=137)) ) { alt259=1; } switch (alt259) { case 1 : // InternalSARL.g:9932:6: (lv_expressions_3_0= ruleRichStringPart ) { // InternalSARL.g:9932:6: (lv_expressions_3_0= ruleRichStringPart ) // InternalSARL.g:9933:7: lv_expressions_3_0= ruleRichStringPart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringPartParserRuleCall_1_1_1_0()); } pushFollow(FOLLOW_94); lv_expressions_3_0=ruleRichStringPart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringRule()); } add( current, "expressions", lv_expressions_3_0, "org.eclipse.xtend.core.Xtend.RichStringPart"); afterParserOrEnumRuleCall(); } } } break; } // InternalSARL.g:9950:5: ( ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? )* loop261: do { int alt261=2; int LA261_0 = input.LA(1); if ( ((LA261_0>=RULE_RICH_TEXT_INBETWEEN && LA261_0<=RULE_COMMENT_RICH_TEXT_INBETWEEN)) ) { alt261=1; } switch (alt261) { case 1 : // InternalSARL.g:9951:6: ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) ( (lv_expressions_5_0= ruleRichStringPart ) )? { // InternalSARL.g:9951:6: ( (lv_expressions_4_0= ruleRichStringLiteralInbetween ) ) // InternalSARL.g:9952:7: (lv_expressions_4_0= ruleRichStringLiteralInbetween ) { // InternalSARL.g:9952:7: (lv_expressions_4_0= ruleRichStringLiteralInbetween ) // InternalSARL.g:9953:8: lv_expressions_4_0= ruleRichStringLiteralInbetween { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_1_2_0_0()); } pushFollow(FOLLOW_94); lv_expressions_4_0=ruleRichStringLiteralInbetween(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringRule()); } add( current, "expressions", lv_expressions_4_0, "org.eclipse.xtend.core.Xtend.RichStringLiteralInbetween"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:9970:6: ( (lv_expressions_5_0= ruleRichStringPart ) )? int alt260=2; int LA260_0 = input.LA(1); if ( ((LA260_0>=RULE_ID && LA260_0<=RULE_RICH_TEXT_START)||(LA260_0>=RULE_HEX && LA260_0<=RULE_DECIMAL)||LA260_0==25||(LA260_0>=28 && LA260_0<=29)||LA260_0==36||(LA260_0>=39 && LA260_0<=40)||(LA260_0>=42 && LA260_0<=45)||(LA260_0>=48 && LA260_0<=49)||LA260_0==51||LA260_0==55||(LA260_0>=60 && LA260_0<=63)||LA260_0==65||(LA260_0>=69 && LA260_0<=88)||LA260_0==90||LA260_0==95||(LA260_0>=114 && LA260_0<=115)||LA260_0==119||LA260_0==125||(LA260_0>=128 && LA260_0<=137)) ) { alt260=1; } switch (alt260) { case 1 : // InternalSARL.g:9971:7: (lv_expressions_5_0= ruleRichStringPart ) { // InternalSARL.g:9971:7: (lv_expressions_5_0= ruleRichStringPart ) // InternalSARL.g:9972:8: lv_expressions_5_0= ruleRichStringPart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringPartParserRuleCall_1_1_2_1_0()); } pushFollow(FOLLOW_94); lv_expressions_5_0=ruleRichStringPart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringRule()); } add( current, "expressions", lv_expressions_5_0, "org.eclipse.xtend.core.Xtend.RichStringPart"); afterParserOrEnumRuleCall(); } } } break; } } break; default : break loop261; } } while (true); // InternalSARL.g:9990:5: ( (lv_expressions_6_0= ruleRichStringLiteralEnd ) ) // InternalSARL.g:9991:6: (lv_expressions_6_0= ruleRichStringLiteralEnd ) { // InternalSARL.g:9991:6: (lv_expressions_6_0= ruleRichStringLiteralEnd ) // InternalSARL.g:9992:7: lv_expressions_6_0= ruleRichStringLiteralEnd { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringAccess().getExpressionsRichStringLiteralEndParserRuleCall_1_1_3_0()); } pushFollow(FOLLOW_2); lv_expressions_6_0=ruleRichStringLiteralEnd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringRule()); } add( current, "expressions", lv_expressions_6_0, "org.eclipse.xtend.core.Xtend.RichStringLiteralEnd"); afterParserOrEnumRuleCall(); } } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleRichString" // $ANTLR start "entryRuleRichStringLiteral" // InternalSARL.g:10015:1: entryRuleRichStringLiteral returns [EObject current=null] : iv_ruleRichStringLiteral= ruleRichStringLiteral EOF ; public final EObject entryRuleRichStringLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleRichStringLiteral = null; try { // InternalSARL.g:10015:58: (iv_ruleRichStringLiteral= ruleRichStringLiteral EOF ) // InternalSARL.g:10016:2: iv_ruleRichStringLiteral= ruleRichStringLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringLiteralRule()); } pushFollow(FOLLOW_1); iv_ruleRichStringLiteral=ruleRichStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRichStringLiteral; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleRichStringLiteral" // $ANTLR start "ruleRichStringLiteral" // InternalSARL.g:10022:1: ruleRichStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_RICH_TEXT ) ) ) ; public final EObject ruleRichStringLiteral() throws RecognitionException { EObject current = null; Token lv_value_1_0=null; enterRule(); try { // InternalSARL.g:10028:2: ( ( () ( (lv_value_1_0= RULE_RICH_TEXT ) ) ) ) // InternalSARL.g:10029:2: ( () ( (lv_value_1_0= RULE_RICH_TEXT ) ) ) { // InternalSARL.g:10029:2: ( () ( (lv_value_1_0= RULE_RICH_TEXT ) ) ) // InternalSARL.g:10030:3: () ( (lv_value_1_0= RULE_RICH_TEXT ) ) { // InternalSARL.g:10030:3: () // InternalSARL.g:10031:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getRichStringLiteralAccess().getRichStringLiteralAction_0(), current); } } // InternalSARL.g:10037:3: ( (lv_value_1_0= RULE_RICH_TEXT ) ) // InternalSARL.g:10038:4: (lv_value_1_0= RULE_RICH_TEXT ) { // InternalSARL.g:10038:4: (lv_value_1_0= RULE_RICH_TEXT ) // InternalSARL.g:10039:5: lv_value_1_0= RULE_RICH_TEXT { lv_value_1_0=(Token)match(input,RULE_RICH_TEXT,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_1_0, grammarAccess.getRichStringLiteralAccess().getValueRICH_TEXTTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRichStringLiteralRule()); } setWithLastConsumed( current, "value", lv_value_1_0, "org.eclipse.xtend.core.Xtend.RICH_TEXT"); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleRichStringLiteral" // $ANTLR start "entryRuleRichStringLiteralStart" // InternalSARL.g:10059:1: entryRuleRichStringLiteralStart returns [EObject current=null] : iv_ruleRichStringLiteralStart= ruleRichStringLiteralStart EOF ; public final EObject entryRuleRichStringLiteralStart() throws RecognitionException { EObject current = null; EObject iv_ruleRichStringLiteralStart = null; try { // InternalSARL.g:10059:63: (iv_ruleRichStringLiteralStart= ruleRichStringLiteralStart EOF ) // InternalSARL.g:10060:2: iv_ruleRichStringLiteralStart= ruleRichStringLiteralStart EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringLiteralStartRule()); } pushFollow(FOLLOW_1); iv_ruleRichStringLiteralStart=ruleRichStringLiteralStart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRichStringLiteralStart; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleRichStringLiteralStart" // $ANTLR start "ruleRichStringLiteralStart" // InternalSARL.g:10066:1: ruleRichStringLiteralStart returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_RICH_TEXT_START ) ) ) ; public final EObject ruleRichStringLiteralStart() throws RecognitionException { EObject current = null; Token lv_value_1_0=null; enterRule(); try { // InternalSARL.g:10072:2: ( ( () ( (lv_value_1_0= RULE_RICH_TEXT_START ) ) ) ) // InternalSARL.g:10073:2: ( () ( (lv_value_1_0= RULE_RICH_TEXT_START ) ) ) { // InternalSARL.g:10073:2: ( () ( (lv_value_1_0= RULE_RICH_TEXT_START ) ) ) // InternalSARL.g:10074:3: () ( (lv_value_1_0= RULE_RICH_TEXT_START ) ) { // InternalSARL.g:10074:3: () // InternalSARL.g:10075:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getRichStringLiteralStartAccess().getRichStringLiteralAction_0(), current); } } // InternalSARL.g:10081:3: ( (lv_value_1_0= RULE_RICH_TEXT_START ) ) // InternalSARL.g:10082:4: (lv_value_1_0= RULE_RICH_TEXT_START ) { // InternalSARL.g:10082:4: (lv_value_1_0= RULE_RICH_TEXT_START ) // InternalSARL.g:10083:5: lv_value_1_0= RULE_RICH_TEXT_START { lv_value_1_0=(Token)match(input,RULE_RICH_TEXT_START,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_1_0, grammarAccess.getRichStringLiteralStartAccess().getValueRICH_TEXT_STARTTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRichStringLiteralStartRule()); } setWithLastConsumed( current, "value", lv_value_1_0, "org.eclipse.xtend.core.Xtend.RICH_TEXT_START"); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleRichStringLiteralStart" // $ANTLR start "entryRuleRichStringLiteralInbetween" // InternalSARL.g:10103:1: entryRuleRichStringLiteralInbetween returns [EObject current=null] : iv_ruleRichStringLiteralInbetween= ruleRichStringLiteralInbetween EOF ; public final EObject entryRuleRichStringLiteralInbetween() throws RecognitionException { EObject current = null; EObject iv_ruleRichStringLiteralInbetween = null; try { // InternalSARL.g:10103:67: (iv_ruleRichStringLiteralInbetween= ruleRichStringLiteralInbetween EOF ) // InternalSARL.g:10104:2: iv_ruleRichStringLiteralInbetween= ruleRichStringLiteralInbetween EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringLiteralInbetweenRule()); } pushFollow(FOLLOW_1); iv_ruleRichStringLiteralInbetween=ruleRichStringLiteralInbetween(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRichStringLiteralInbetween; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleRichStringLiteralInbetween" // $ANTLR start "ruleRichStringLiteralInbetween" // InternalSARL.g:10110:1: ruleRichStringLiteralInbetween returns [EObject current=null] : ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) ) ; public final EObject ruleRichStringLiteralInbetween() throws RecognitionException { EObject current = null; Token lv_value_1_0=null; Token lv_value_2_0=null; enterRule(); try { // InternalSARL.g:10116:2: ( ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) ) ) // InternalSARL.g:10117:2: ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) ) { // InternalSARL.g:10117:2: ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) ) // InternalSARL.g:10118:3: () ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) { // InternalSARL.g:10118:3: () // InternalSARL.g:10119:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getRichStringLiteralInbetweenAccess().getRichStringLiteralAction_0(), current); } } // InternalSARL.g:10125:3: ( ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) ) int alt263=2; int LA263_0 = input.LA(1); if ( (LA263_0==RULE_RICH_TEXT_INBETWEEN) ) { alt263=1; } else if ( (LA263_0==RULE_COMMENT_RICH_TEXT_INBETWEEN) ) { alt263=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 263, 0, input); throw nvae; } switch (alt263) { case 1 : // InternalSARL.g:10126:4: ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) { // InternalSARL.g:10126:4: ( (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) ) // InternalSARL.g:10127:5: (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) { // InternalSARL.g:10127:5: (lv_value_1_0= RULE_RICH_TEXT_INBETWEEN ) // InternalSARL.g:10128:6: lv_value_1_0= RULE_RICH_TEXT_INBETWEEN { lv_value_1_0=(Token)match(input,RULE_RICH_TEXT_INBETWEEN,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_1_0, grammarAccess.getRichStringLiteralInbetweenAccess().getValueRICH_TEXT_INBETWEENTerminalRuleCall_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRichStringLiteralInbetweenRule()); } setWithLastConsumed( current, "value", lv_value_1_0, "org.eclipse.xtend.core.Xtend.RICH_TEXT_INBETWEEN"); } } } } break; case 2 : // InternalSARL.g:10145:4: ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) { // InternalSARL.g:10145:4: ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) ) // InternalSARL.g:10146:5: (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) { // InternalSARL.g:10146:5: (lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN ) // InternalSARL.g:10147:6: lv_value_2_0= RULE_COMMENT_RICH_TEXT_INBETWEEN { lv_value_2_0=(Token)match(input,RULE_COMMENT_RICH_TEXT_INBETWEEN,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_2_0, grammarAccess.getRichStringLiteralInbetweenAccess().getValueCOMMENT_RICH_TEXT_INBETWEENTerminalRuleCall_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRichStringLiteralInbetweenRule()); } setWithLastConsumed( current, "value", lv_value_2_0, "org.eclipse.xtend.core.Xtend.COMMENT_RICH_TEXT_INBETWEEN"); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleRichStringLiteralInbetween" // $ANTLR start "entryRuleRichStringLiteralEnd" // InternalSARL.g:10168:1: entryRuleRichStringLiteralEnd returns [EObject current=null] : iv_ruleRichStringLiteralEnd= ruleRichStringLiteralEnd EOF ; public final EObject entryRuleRichStringLiteralEnd() throws RecognitionException { EObject current = null; EObject iv_ruleRichStringLiteralEnd = null; try { // InternalSARL.g:10168:61: (iv_ruleRichStringLiteralEnd= ruleRichStringLiteralEnd EOF ) // InternalSARL.g:10169:2: iv_ruleRichStringLiteralEnd= ruleRichStringLiteralEnd EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringLiteralEndRule()); } pushFollow(FOLLOW_1); iv_ruleRichStringLiteralEnd=ruleRichStringLiteralEnd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRichStringLiteralEnd; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleRichStringLiteralEnd" // $ANTLR start "ruleRichStringLiteralEnd" // InternalSARL.g:10175:1: ruleRichStringLiteralEnd returns [EObject current=null] : ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) ) ) ; public final EObject ruleRichStringLiteralEnd() throws RecognitionException { EObject current = null; Token lv_value_1_0=null; Token lv_value_2_0=null; enterRule(); try { // InternalSARL.g:10181:2: ( ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) ) ) ) // InternalSARL.g:10182:2: ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) ) ) { // InternalSARL.g:10182:2: ( () ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) ) ) // InternalSARL.g:10183:3: () ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) ) { // InternalSARL.g:10183:3: () // InternalSARL.g:10184:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getRichStringLiteralEndAccess().getRichStringLiteralAction_0(), current); } } // InternalSARL.g:10190:3: ( ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) | ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) ) int alt264=2; int LA264_0 = input.LA(1); if ( (LA264_0==RULE_RICH_TEXT_END) ) { alt264=1; } else if ( (LA264_0==RULE_COMMENT_RICH_TEXT_END) ) { alt264=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 264, 0, input); throw nvae; } switch (alt264) { case 1 : // InternalSARL.g:10191:4: ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) { // InternalSARL.g:10191:4: ( (lv_value_1_0= RULE_RICH_TEXT_END ) ) // InternalSARL.g:10192:5: (lv_value_1_0= RULE_RICH_TEXT_END ) { // InternalSARL.g:10192:5: (lv_value_1_0= RULE_RICH_TEXT_END ) // InternalSARL.g:10193:6: lv_value_1_0= RULE_RICH_TEXT_END { lv_value_1_0=(Token)match(input,RULE_RICH_TEXT_END,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_1_0, grammarAccess.getRichStringLiteralEndAccess().getValueRICH_TEXT_ENDTerminalRuleCall_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRichStringLiteralEndRule()); } setWithLastConsumed( current, "value", lv_value_1_0, "org.eclipse.xtend.core.Xtend.RICH_TEXT_END"); } } } } break; case 2 : // InternalSARL.g:10210:4: ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) { // InternalSARL.g:10210:4: ( (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) ) // InternalSARL.g:10211:5: (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) { // InternalSARL.g:10211:5: (lv_value_2_0= RULE_COMMENT_RICH_TEXT_END ) // InternalSARL.g:10212:6: lv_value_2_0= RULE_COMMENT_RICH_TEXT_END { lv_value_2_0=(Token)match(input,RULE_COMMENT_RICH_TEXT_END,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_2_0, grammarAccess.getRichStringLiteralEndAccess().getValueCOMMENT_RICH_TEXT_ENDTerminalRuleCall_1_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getRichStringLiteralEndRule()); } setWithLastConsumed( current, "value", lv_value_2_0, "org.eclipse.xtend.core.Xtend.COMMENT_RICH_TEXT_END"); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleRichStringLiteralEnd" // $ANTLR start "entryRuleInternalRichString" // InternalSARL.g:10233:1: entryRuleInternalRichString returns [EObject current=null] : iv_ruleInternalRichString= ruleInternalRichString EOF ; public final EObject entryRuleInternalRichString() throws RecognitionException { EObject current = null; EObject iv_ruleInternalRichString = null; try { // InternalSARL.g:10233:59: (iv_ruleInternalRichString= ruleInternalRichString EOF ) // InternalSARL.g:10234:2: iv_ruleInternalRichString= ruleInternalRichString EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInternalRichStringRule()); } pushFollow(FOLLOW_1); iv_ruleInternalRichString=ruleInternalRichString(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleInternalRichString; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleInternalRichString" // $ANTLR start "ruleInternalRichString" // InternalSARL.g:10240:1: ruleInternalRichString returns [EObject current=null] : ( () ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* ) ) ; public final EObject ruleInternalRichString() throws RecognitionException { EObject current = null; EObject lv_expressions_1_0 = null; EObject lv_expressions_2_0 = null; EObject lv_expressions_3_0 = null; enterRule(); try { // InternalSARL.g:10246:2: ( ( () ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* ) ) ) // InternalSARL.g:10247:2: ( () ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* ) ) { // InternalSARL.g:10247:2: ( () ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* ) ) // InternalSARL.g:10248:3: () ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* ) { // InternalSARL.g:10248:3: () // InternalSARL.g:10249:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getInternalRichStringAccess().getRichStringAction_0(), current); } } // InternalSARL.g:10255:3: ( ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* ) // InternalSARL.g:10256:4: ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* { // InternalSARL.g:10256:4: ( (lv_expressions_1_0= ruleRichStringLiteralInbetween ) ) // InternalSARL.g:10257:5: (lv_expressions_1_0= ruleRichStringLiteralInbetween ) { // InternalSARL.g:10257:5: (lv_expressions_1_0= ruleRichStringLiteralInbetween ) // InternalSARL.g:10258:6: lv_expressions_1_0= ruleRichStringLiteralInbetween { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInternalRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_0_0()); } pushFollow(FOLLOW_95); lv_expressions_1_0=ruleRichStringLiteralInbetween(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getInternalRichStringRule()); } add( current, "expressions", lv_expressions_1_0, "org.eclipse.xtend.core.Xtend.RichStringLiteralInbetween"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:10275:4: ( ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) )* loop266: do { int alt266=2; int LA266_0 = input.LA(1); if ( ((LA266_0>=RULE_ID && LA266_0<=RULE_COMMENT_RICH_TEXT_INBETWEEN)||(LA266_0>=RULE_HEX && LA266_0<=RULE_DECIMAL)||LA266_0==25||(LA266_0>=28 && LA266_0<=29)||LA266_0==36||(LA266_0>=39 && LA266_0<=40)||(LA266_0>=42 && LA266_0<=45)||(LA266_0>=48 && LA266_0<=49)||LA266_0==51||LA266_0==55||(LA266_0>=60 && LA266_0<=63)||LA266_0==65||(LA266_0>=69 && LA266_0<=88)||LA266_0==90||LA266_0==95||(LA266_0>=114 && LA266_0<=115)||LA266_0==119||LA266_0==125||(LA266_0>=128 && LA266_0<=137)) ) { alt266=1; } switch (alt266) { case 1 : // InternalSARL.g:10276:5: ( (lv_expressions_2_0= ruleRichStringPart ) )? ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) { // InternalSARL.g:10276:5: ( (lv_expressions_2_0= ruleRichStringPart ) )? int alt265=2; int LA265_0 = input.LA(1); if ( ((LA265_0>=RULE_ID && LA265_0<=RULE_RICH_TEXT_START)||(LA265_0>=RULE_HEX && LA265_0<=RULE_DECIMAL)||LA265_0==25||(LA265_0>=28 && LA265_0<=29)||LA265_0==36||(LA265_0>=39 && LA265_0<=40)||(LA265_0>=42 && LA265_0<=45)||(LA265_0>=48 && LA265_0<=49)||LA265_0==51||LA265_0==55||(LA265_0>=60 && LA265_0<=63)||LA265_0==65||(LA265_0>=69 && LA265_0<=88)||LA265_0==90||LA265_0==95||(LA265_0>=114 && LA265_0<=115)||LA265_0==119||LA265_0==125||(LA265_0>=128 && LA265_0<=137)) ) { alt265=1; } switch (alt265) { case 1 : // InternalSARL.g:10277:6: (lv_expressions_2_0= ruleRichStringPart ) { // InternalSARL.g:10277:6: (lv_expressions_2_0= ruleRichStringPart ) // InternalSARL.g:10278:7: lv_expressions_2_0= ruleRichStringPart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInternalRichStringAccess().getExpressionsRichStringPartParserRuleCall_1_1_0_0()); } pushFollow(FOLLOW_96); lv_expressions_2_0=ruleRichStringPart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getInternalRichStringRule()); } add( current, "expressions", lv_expressions_2_0, "org.eclipse.xtend.core.Xtend.RichStringPart"); afterParserOrEnumRuleCall(); } } } break; } // InternalSARL.g:10295:5: ( (lv_expressions_3_0= ruleRichStringLiteralInbetween ) ) // InternalSARL.g:10296:6: (lv_expressions_3_0= ruleRichStringLiteralInbetween ) { // InternalSARL.g:10296:6: (lv_expressions_3_0= ruleRichStringLiteralInbetween ) // InternalSARL.g:10297:7: lv_expressions_3_0= ruleRichStringLiteralInbetween { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInternalRichStringAccess().getExpressionsRichStringLiteralInbetweenParserRuleCall_1_1_1_0()); } pushFollow(FOLLOW_95); lv_expressions_3_0=ruleRichStringLiteralInbetween(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getInternalRichStringRule()); } add( current, "expressions", lv_expressions_3_0, "org.eclipse.xtend.core.Xtend.RichStringLiteralInbetween"); afterParserOrEnumRuleCall(); } } } } break; default : break loop266; } } while (true); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleInternalRichString" // $ANTLR start "entryRuleRichStringPart" // InternalSARL.g:10320:1: entryRuleRichStringPart returns [EObject current=null] : iv_ruleRichStringPart= ruleRichStringPart EOF ; public final EObject entryRuleRichStringPart() throws RecognitionException { EObject current = null; EObject iv_ruleRichStringPart = null; try { // InternalSARL.g:10320:55: (iv_ruleRichStringPart= ruleRichStringPart EOF ) // InternalSARL.g:10321:2: iv_ruleRichStringPart= ruleRichStringPart EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringPartRule()); } pushFollow(FOLLOW_1); iv_ruleRichStringPart=ruleRichStringPart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRichStringPart; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleRichStringPart" // $ANTLR start "ruleRichStringPart" // InternalSARL.g:10327:1: ruleRichStringPart returns [EObject current=null] : (this_XExpressionOrVarDeclaration_0= ruleXExpressionOrVarDeclaration | this_RichStringForLoop_1= ruleRichStringForLoop | this_RichStringIf_2= ruleRichStringIf ) ; public final EObject ruleRichStringPart() throws RecognitionException { EObject current = null; EObject this_XExpressionOrVarDeclaration_0 = null; EObject this_RichStringForLoop_1 = null; EObject this_RichStringIf_2 = null; enterRule(); try { // InternalSARL.g:10333:2: ( (this_XExpressionOrVarDeclaration_0= ruleXExpressionOrVarDeclaration | this_RichStringForLoop_1= ruleRichStringForLoop | this_RichStringIf_2= ruleRichStringIf ) ) // InternalSARL.g:10334:2: (this_XExpressionOrVarDeclaration_0= ruleXExpressionOrVarDeclaration | this_RichStringForLoop_1= ruleRichStringForLoop | this_RichStringIf_2= ruleRichStringIf ) { // InternalSARL.g:10334:2: (this_XExpressionOrVarDeclaration_0= ruleXExpressionOrVarDeclaration | this_RichStringForLoop_1= ruleRichStringForLoop | this_RichStringIf_2= ruleRichStringIf ) int alt267=3; switch ( input.LA(1) ) { case RULE_ID: case RULE_STRING: case RULE_RICH_TEXT: case RULE_RICH_TEXT_START: case RULE_HEX: case RULE_INT: case RULE_DECIMAL: case 25: case 28: case 29: case 36: case 39: case 40: case 42: case 43: case 44: case 45: case 48: case 49: case 51: case 55: case 60: case 61: case 62: case 63: case 65: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 95: case 114: case 115: case 119: case 125: case 128: case 129: case 130: case 131: case 132: case 133: case 134: case 135: case 136: case 137: { alt267=1; } break; case 88: { alt267=2; } break; case 90: { alt267=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 267, 0, input); throw nvae; } switch (alt267) { case 1 : // InternalSARL.g:10335:3: this_XExpressionOrVarDeclaration_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringPartAccess().getXExpressionOrVarDeclarationParserRuleCall_0()); } pushFollow(FOLLOW_2); this_XExpressionOrVarDeclaration_0=ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XExpressionOrVarDeclaration_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalSARL.g:10344:3: this_RichStringForLoop_1= ruleRichStringForLoop { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringPartAccess().getRichStringForLoopParserRuleCall_1()); } pushFollow(FOLLOW_2); this_RichStringForLoop_1=ruleRichStringForLoop(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_RichStringForLoop_1; afterParserOrEnumRuleCall(); } } break; case 3 : // InternalSARL.g:10353:3: this_RichStringIf_2= ruleRichStringIf { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringPartAccess().getRichStringIfParserRuleCall_2()); } pushFollow(FOLLOW_2); this_RichStringIf_2=ruleRichStringIf(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_RichStringIf_2; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleRichStringPart" // $ANTLR start "entryRuleRichStringForLoop" // InternalSARL.g:10365:1: entryRuleRichStringForLoop returns [EObject current=null] : iv_ruleRichStringForLoop= ruleRichStringForLoop EOF ; public final EObject entryRuleRichStringForLoop() throws RecognitionException { EObject current = null; EObject iv_ruleRichStringForLoop = null; try { // InternalSARL.g:10365:58: (iv_ruleRichStringForLoop= ruleRichStringForLoop EOF ) // InternalSARL.g:10366:2: iv_ruleRichStringForLoop= ruleRichStringForLoop EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringForLoopRule()); } pushFollow(FOLLOW_1); iv_ruleRichStringForLoop=ruleRichStringForLoop(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRichStringForLoop; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleRichStringForLoop" // $ANTLR start "ruleRichStringForLoop" // InternalSARL.g:10372:1: ruleRichStringForLoop returns [EObject current=null] : ( () otherlv_1= 'FOR' ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) otherlv_3= ':' ( (lv_forExpression_4_0= ruleXExpression ) ) (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? ( (lv_eachExpression_11_0= ruleInternalRichString ) ) otherlv_12= 'ENDFOR' ) ; public final EObject ruleRichStringForLoop() 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_12=null; EObject lv_declaredParam_2_0 = null; EObject lv_forExpression_4_0 = null; EObject lv_before_6_0 = null; EObject lv_separator_8_0 = null; EObject lv_after_10_0 = null; EObject lv_eachExpression_11_0 = null; enterRule(); try { // InternalSARL.g:10378:2: ( ( () otherlv_1= 'FOR' ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) otherlv_3= ':' ( (lv_forExpression_4_0= ruleXExpression ) ) (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? ( (lv_eachExpression_11_0= ruleInternalRichString ) ) otherlv_12= 'ENDFOR' ) ) // InternalSARL.g:10379:2: ( () otherlv_1= 'FOR' ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) otherlv_3= ':' ( (lv_forExpression_4_0= ruleXExpression ) ) (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? ( (lv_eachExpression_11_0= ruleInternalRichString ) ) otherlv_12= 'ENDFOR' ) { // InternalSARL.g:10379:2: ( () otherlv_1= 'FOR' ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) otherlv_3= ':' ( (lv_forExpression_4_0= ruleXExpression ) ) (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? ( (lv_eachExpression_11_0= ruleInternalRichString ) ) otherlv_12= 'ENDFOR' ) // InternalSARL.g:10380:3: () otherlv_1= 'FOR' ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) otherlv_3= ':' ( (lv_forExpression_4_0= ruleXExpression ) ) (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? ( (lv_eachExpression_11_0= ruleInternalRichString ) ) otherlv_12= 'ENDFOR' { // InternalSARL.g:10380:3: () // InternalSARL.g:10381:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getRichStringForLoopAccess().getRichStringForLoopAction_0(), current); } } otherlv_1=(Token)match(input,88,FOLLOW_72); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getRichStringForLoopAccess().getFORKeyword_1()); } // InternalSARL.g:10391:3: ( (lv_declaredParam_2_0= ruleJvmFormalParameter ) ) // InternalSARL.g:10392:4: (lv_declaredParam_2_0= ruleJvmFormalParameter ) { // InternalSARL.g:10392:4: (lv_declaredParam_2_0= ruleJvmFormalParameter ) // InternalSARL.g:10393:5: lv_declaredParam_2_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringForLoopAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0()); } pushFollow(FOLLOW_40); lv_declaredParam_2_0=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringForLoopRule()); } set( current, "declaredParam", lv_declaredParam_2_0, "io.sarl.lang.SARL.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,46,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getRichStringForLoopAccess().getColonKeyword_3()); } // InternalSARL.g:10414:3: ( (lv_forExpression_4_0= ruleXExpression ) ) // InternalSARL.g:10415:4: (lv_forExpression_4_0= ruleXExpression ) { // InternalSARL.g:10415:4: (lv_forExpression_4_0= ruleXExpression ) // InternalSARL.g:10416:5: lv_forExpression_4_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringForLoopAccess().getForExpressionXExpressionParserRuleCall_4_0()); } pushFollow(FOLLOW_97); lv_forExpression_4_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringForLoopRule()); } set( current, "forExpression", lv_forExpression_4_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:10433:3: (otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) )? int alt268=2; int LA268_0 = input.LA(1); if ( (LA268_0==85) ) { alt268=1; } switch (alt268) { case 1 : // InternalSARL.g:10434:4: otherlv_5= 'BEFORE' ( (lv_before_6_0= ruleXExpression ) ) { otherlv_5=(Token)match(input,85,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getRichStringForLoopAccess().getBEFOREKeyword_5_0()); } // InternalSARL.g:10438:4: ( (lv_before_6_0= ruleXExpression ) ) // InternalSARL.g:10439:5: (lv_before_6_0= ruleXExpression ) { // InternalSARL.g:10439:5: (lv_before_6_0= ruleXExpression ) // InternalSARL.g:10440:6: lv_before_6_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringForLoopAccess().getBeforeXExpressionParserRuleCall_5_1_0()); } pushFollow(FOLLOW_97); lv_before_6_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringForLoopRule()); } set( current, "before", lv_before_6_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } // InternalSARL.g:10458:3: (otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) )? int alt269=2; int LA269_0 = input.LA(1); if ( (LA269_0==86) ) { alt269=1; } switch (alt269) { case 1 : // InternalSARL.g:10459:4: otherlv_7= 'SEPARATOR' ( (lv_separator_8_0= ruleXExpression ) ) { otherlv_7=(Token)match(input,86,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getRichStringForLoopAccess().getSEPARATORKeyword_6_0()); } // InternalSARL.g:10463:4: ( (lv_separator_8_0= ruleXExpression ) ) // InternalSARL.g:10464:5: (lv_separator_8_0= ruleXExpression ) { // InternalSARL.g:10464:5: (lv_separator_8_0= ruleXExpression ) // InternalSARL.g:10465:6: lv_separator_8_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringForLoopAccess().getSeparatorXExpressionParserRuleCall_6_1_0()); } pushFollow(FOLLOW_97); lv_separator_8_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringForLoopRule()); } set( current, "separator", lv_separator_8_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } // InternalSARL.g:10483:3: (otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) )? int alt270=2; int LA270_0 = input.LA(1); if ( (LA270_0==84) ) { alt270=1; } switch (alt270) { case 1 : // InternalSARL.g:10484:4: otherlv_9= 'AFTER' ( (lv_after_10_0= ruleXExpression ) ) { otherlv_9=(Token)match(input,84,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getRichStringForLoopAccess().getAFTERKeyword_7_0()); } // InternalSARL.g:10488:4: ( (lv_after_10_0= ruleXExpression ) ) // InternalSARL.g:10489:5: (lv_after_10_0= ruleXExpression ) { // InternalSARL.g:10489:5: (lv_after_10_0= ruleXExpression ) // InternalSARL.g:10490:6: lv_after_10_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringForLoopAccess().getAfterXExpressionParserRuleCall_7_1_0()); } pushFollow(FOLLOW_97); lv_after_10_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringForLoopRule()); } set( current, "after", lv_after_10_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } } break; } // InternalSARL.g:10508:3: ( (lv_eachExpression_11_0= ruleInternalRichString ) ) // InternalSARL.g:10509:4: (lv_eachExpression_11_0= ruleInternalRichString ) { // InternalSARL.g:10509:4: (lv_eachExpression_11_0= ruleInternalRichString ) // InternalSARL.g:10510:5: lv_eachExpression_11_0= ruleInternalRichString { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringForLoopAccess().getEachExpressionInternalRichStringParserRuleCall_8_0()); } pushFollow(FOLLOW_98); lv_eachExpression_11_0=ruleInternalRichString(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringForLoopRule()); } set( current, "eachExpression", lv_eachExpression_11_0, "org.eclipse.xtend.core.Xtend.InternalRichString"); afterParserOrEnumRuleCall(); } } } otherlv_12=(Token)match(input,89,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getRichStringForLoopAccess().getENDFORKeyword_9()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleRichStringForLoop" // $ANTLR start "entryRuleRichStringIf" // InternalSARL.g:10535:1: entryRuleRichStringIf returns [EObject current=null] : iv_ruleRichStringIf= ruleRichStringIf EOF ; public final EObject entryRuleRichStringIf() throws RecognitionException { EObject current = null; EObject iv_ruleRichStringIf = null; try { // InternalSARL.g:10535:53: (iv_ruleRichStringIf= ruleRichStringIf EOF ) // InternalSARL.g:10536:2: iv_ruleRichStringIf= ruleRichStringIf EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringIfRule()); } pushFollow(FOLLOW_1); iv_ruleRichStringIf=ruleRichStringIf(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRichStringIf; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleRichStringIf" // $ANTLR start "ruleRichStringIf" // InternalSARL.g:10542:1: ruleRichStringIf returns [EObject current=null] : ( () otherlv_1= 'IF' ( (lv_if_2_0= ruleXExpression ) ) ( (lv_then_3_0= ruleInternalRichString ) ) ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? otherlv_7= 'ENDIF' ) ; public final EObject ruleRichStringIf() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_5=null; Token otherlv_7=null; EObject lv_if_2_0 = null; EObject lv_then_3_0 = null; EObject lv_elseIfs_4_0 = null; EObject lv_else_6_0 = null; enterRule(); try { // InternalSARL.g:10548:2: ( ( () otherlv_1= 'IF' ( (lv_if_2_0= ruleXExpression ) ) ( (lv_then_3_0= ruleInternalRichString ) ) ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? otherlv_7= 'ENDIF' ) ) // InternalSARL.g:10549:2: ( () otherlv_1= 'IF' ( (lv_if_2_0= ruleXExpression ) ) ( (lv_then_3_0= ruleInternalRichString ) ) ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? otherlv_7= 'ENDIF' ) { // InternalSARL.g:10549:2: ( () otherlv_1= 'IF' ( (lv_if_2_0= ruleXExpression ) ) ( (lv_then_3_0= ruleInternalRichString ) ) ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? otherlv_7= 'ENDIF' ) // InternalSARL.g:10550:3: () otherlv_1= 'IF' ( (lv_if_2_0= ruleXExpression ) ) ( (lv_then_3_0= ruleInternalRichString ) ) ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? otherlv_7= 'ENDIF' { // InternalSARL.g:10550:3: () // InternalSARL.g:10551:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getRichStringIfAccess().getRichStringIfAction_0(), current); } } otherlv_1=(Token)match(input,90,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getRichStringIfAccess().getIFKeyword_1()); } // InternalSARL.g:10561:3: ( (lv_if_2_0= ruleXExpression ) ) // InternalSARL.g:10562:4: (lv_if_2_0= ruleXExpression ) { // InternalSARL.g:10562:4: (lv_if_2_0= ruleXExpression ) // InternalSARL.g:10563:5: lv_if_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringIfAccess().getIfXExpressionParserRuleCall_2_0()); } pushFollow(FOLLOW_97); lv_if_2_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringIfRule()); } set( current, "if", lv_if_2_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:10580:3: ( (lv_then_3_0= ruleInternalRichString ) ) // InternalSARL.g:10581:4: (lv_then_3_0= ruleInternalRichString ) { // InternalSARL.g:10581:4: (lv_then_3_0= ruleInternalRichString ) // InternalSARL.g:10582:5: lv_then_3_0= ruleInternalRichString { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringIfAccess().getThenInternalRichStringParserRuleCall_3_0()); } pushFollow(FOLLOW_99); lv_then_3_0=ruleInternalRichString(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringIfRule()); } set( current, "then", lv_then_3_0, "org.eclipse.xtend.core.Xtend.InternalRichString"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:10599:3: ( (lv_elseIfs_4_0= ruleRichStringElseIf ) )* loop271: do { int alt271=2; int LA271_0 = input.LA(1); if ( (LA271_0==93) ) { alt271=1; } switch (alt271) { case 1 : // InternalSARL.g:10600:4: (lv_elseIfs_4_0= ruleRichStringElseIf ) { // InternalSARL.g:10600:4: (lv_elseIfs_4_0= ruleRichStringElseIf ) // InternalSARL.g:10601:5: lv_elseIfs_4_0= ruleRichStringElseIf { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringIfAccess().getElseIfsRichStringElseIfParserRuleCall_4_0()); } pushFollow(FOLLOW_99); lv_elseIfs_4_0=ruleRichStringElseIf(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringIfRule()); } add( current, "elseIfs", lv_elseIfs_4_0, "org.eclipse.xtend.core.Xtend.RichStringElseIf"); afterParserOrEnumRuleCall(); } } } break; default : break loop271; } } while (true); // InternalSARL.g:10618:3: (otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) )? int alt272=2; int LA272_0 = input.LA(1); if ( (LA272_0==91) ) { alt272=1; } switch (alt272) { case 1 : // InternalSARL.g:10619:4: otherlv_5= 'ELSE' ( (lv_else_6_0= ruleInternalRichString ) ) { otherlv_5=(Token)match(input,91,FOLLOW_97); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getRichStringIfAccess().getELSEKeyword_5_0()); } // InternalSARL.g:10623:4: ( (lv_else_6_0= ruleInternalRichString ) ) // InternalSARL.g:10624:5: (lv_else_6_0= ruleInternalRichString ) { // InternalSARL.g:10624:5: (lv_else_6_0= ruleInternalRichString ) // InternalSARL.g:10625:6: lv_else_6_0= ruleInternalRichString { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringIfAccess().getElseInternalRichStringParserRuleCall_5_1_0()); } pushFollow(FOLLOW_100); lv_else_6_0=ruleInternalRichString(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringIfRule()); } set( current, "else", lv_else_6_0, "org.eclipse.xtend.core.Xtend.InternalRichString"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_7=(Token)match(input,92,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getRichStringIfAccess().getENDIFKeyword_6()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleRichStringIf" // $ANTLR start "entryRuleRichStringElseIf" // InternalSARL.g:10651:1: entryRuleRichStringElseIf returns [EObject current=null] : iv_ruleRichStringElseIf= ruleRichStringElseIf EOF ; public final EObject entryRuleRichStringElseIf() throws RecognitionException { EObject current = null; EObject iv_ruleRichStringElseIf = null; try { // InternalSARL.g:10651:57: (iv_ruleRichStringElseIf= ruleRichStringElseIf EOF ) // InternalSARL.g:10652:2: iv_ruleRichStringElseIf= ruleRichStringElseIf EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringElseIfRule()); } pushFollow(FOLLOW_1); iv_ruleRichStringElseIf=ruleRichStringElseIf(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleRichStringElseIf; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleRichStringElseIf" // $ANTLR start "ruleRichStringElseIf" // InternalSARL.g:10658:1: ruleRichStringElseIf returns [EObject current=null] : (otherlv_0= 'ELSEIF' ( (lv_if_1_0= ruleXExpression ) ) ( (lv_then_2_0= ruleInternalRichString ) ) ) ; public final EObject ruleRichStringElseIf() throws RecognitionException { EObject current = null; Token otherlv_0=null; EObject lv_if_1_0 = null; EObject lv_then_2_0 = null; enterRule(); try { // InternalSARL.g:10664:2: ( (otherlv_0= 'ELSEIF' ( (lv_if_1_0= ruleXExpression ) ) ( (lv_then_2_0= ruleInternalRichString ) ) ) ) // InternalSARL.g:10665:2: (otherlv_0= 'ELSEIF' ( (lv_if_1_0= ruleXExpression ) ) ( (lv_then_2_0= ruleInternalRichString ) ) ) { // InternalSARL.g:10665:2: (otherlv_0= 'ELSEIF' ( (lv_if_1_0= ruleXExpression ) ) ( (lv_then_2_0= ruleInternalRichString ) ) ) // InternalSARL.g:10666:3: otherlv_0= 'ELSEIF' ( (lv_if_1_0= ruleXExpression ) ) ( (lv_then_2_0= ruleInternalRichString ) ) { otherlv_0=(Token)match(input,93,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getRichStringElseIfAccess().getELSEIFKeyword_0()); } // InternalSARL.g:10670:3: ( (lv_if_1_0= ruleXExpression ) ) // InternalSARL.g:10671:4: (lv_if_1_0= ruleXExpression ) { // InternalSARL.g:10671:4: (lv_if_1_0= ruleXExpression ) // InternalSARL.g:10672:5: lv_if_1_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringElseIfAccess().getIfXExpressionParserRuleCall_1_0()); } pushFollow(FOLLOW_97); lv_if_1_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringElseIfRule()); } set( current, "if", lv_if_1_0, "org.eclipse.xtext.xbase.Xbase.XExpression"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:10689:3: ( (lv_then_2_0= ruleInternalRichString ) ) // InternalSARL.g:10690:4: (lv_then_2_0= ruleInternalRichString ) { // InternalSARL.g:10690:4: (lv_then_2_0= ruleInternalRichString ) // InternalSARL.g:10691:5: lv_then_2_0= ruleInternalRichString { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getRichStringElseIfAccess().getThenInternalRichStringParserRuleCall_2_0()); } pushFollow(FOLLOW_2); lv_then_2_0=ruleInternalRichString(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getRichStringElseIfRule()); } set( current, "then", lv_then_2_0, "org.eclipse.xtend.core.Xtend.InternalRichString"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleRichStringElseIf" // $ANTLR start "entryRuleXAnnotation" // InternalSARL.g:10712:1: entryRuleXAnnotation returns [EObject current=null] : iv_ruleXAnnotation= ruleXAnnotation EOF ; public final EObject entryRuleXAnnotation() throws RecognitionException { EObject current = null; EObject iv_ruleXAnnotation = null; try { // InternalSARL.g:10712:52: (iv_ruleXAnnotation= ruleXAnnotation EOF ) // InternalSARL.g:10713:2: iv_ruleXAnnotation= ruleXAnnotation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationRule()); } pushFollow(FOLLOW_1); iv_ruleXAnnotation=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAnnotation; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAnnotation" // $ANTLR start "ruleXAnnotation" // InternalSARL.g:10719:1: ruleXAnnotation returns [EObject current=null] : ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) ; public final EObject ruleXAnnotation() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_8=null; EObject lv_elementValuePairs_4_0 = null; EObject lv_elementValuePairs_6_0 = null; EObject lv_value_7_0 = null; enterRule(); try { // InternalSARL.g:10725:2: ( ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) ) // InternalSARL.g:10726:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) { // InternalSARL.g:10726:2: ( () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? ) // InternalSARL.g:10727:3: () otherlv_1= '@' ( ( ruleQualifiedName ) ) ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? { // InternalSARL.g:10727:3: () // InternalSARL.g:10728:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXAnnotationAccess().getXAnnotationAction_0(), current); } } otherlv_1=(Token)match(input,94,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXAnnotationAccess().getCommercialAtKeyword_1()); } // InternalSARL.g:10738:3: ( ( ruleQualifiedName ) ) // InternalSARL.g:10739:4: ( ruleQualifiedName ) { // InternalSARL.g:10739:4: ( ruleQualifiedName ) // InternalSARL.g:10740:5: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAnnotationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationAccess().getAnnotationTypeJvmAnnotationTypeCrossReference_2_0()); } pushFollow(FOLLOW_101); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:10754:3: ( ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' )? int alt275=2; int LA275_0 = input.LA(1); if ( (LA275_0==49) && (synpred17_InternalSARL())) { alt275=1; } switch (alt275) { case 1 : // InternalSARL.g:10755:4: ( ( '(' )=>otherlv_3= '(' ) ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? otherlv_8= ')' { // InternalSARL.g:10755:4: ( ( '(' )=>otherlv_3= '(' ) // InternalSARL.g:10756:5: ( '(' )=>otherlv_3= '(' { otherlv_3=(Token)match(input,49,FOLLOW_102); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXAnnotationAccess().getLeftParenthesisKeyword_3_0()); } } // InternalSARL.g:10762:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )? int alt274=3; alt274 = dfa274.predict(input); switch (alt274) { case 1 : // InternalSARL.g:10763:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) { // InternalSARL.g:10763:5: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) // InternalSARL.g:10764:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* { // InternalSARL.g:10764:6: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) // InternalSARL.g:10765:7: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) { // InternalSARL.g:10774:7: (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) // InternalSARL.g:10775:8: lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_0_0()); } pushFollow(FOLLOW_51); lv_elementValuePairs_4_0=ruleXAnnotationElementValuePair(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationRule()); } add( current, "elementValuePairs", lv_elementValuePairs_4_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValuePair"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:10792:6: (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* loop273: do { int alt273=2; int LA273_0 = input.LA(1); if ( (LA273_0==32) ) { alt273=1; } switch (alt273) { case 1 : // InternalSARL.g:10793:7: otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) { otherlv_5=(Token)match(input,32,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXAnnotationAccess().getCommaKeyword_3_1_0_1_0()); } // InternalSARL.g:10797:7: ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) // InternalSARL.g:10798:8: ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) { // InternalSARL.g:10807:8: (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) // InternalSARL.g:10808:9: lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationAccess().getElementValuePairsXAnnotationElementValuePairParserRuleCall_3_1_0_1_1_0()); } pushFollow(FOLLOW_51); lv_elementValuePairs_6_0=ruleXAnnotationElementValuePair(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationRule()); } add( current, "elementValuePairs", lv_elementValuePairs_6_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValuePair"); afterParserOrEnumRuleCall(); } } } } break; default : break loop273; } } while (true); } } break; case 2 : // InternalSARL.g:10828:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) { // InternalSARL.g:10828:5: ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) // InternalSARL.g:10829:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) { // InternalSARL.g:10829:6: (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) // InternalSARL.g:10830:7: lv_value_7_0= ruleXAnnotationElementValueOrCommaList { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationAccess().getValueXAnnotationElementValueOrCommaListParserRuleCall_3_1_1_0()); } pushFollow(FOLLOW_78); lv_value_7_0=ruleXAnnotationElementValueOrCommaList(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationRule()); } set( current, "value", lv_value_7_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValueOrCommaList"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_8=(Token)match(input,50,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXAnnotationAccess().getRightParenthesisKeyword_3_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAnnotation" // $ANTLR start "entryRuleXAnnotationElementValuePair" // InternalSARL.g:10857:1: entryRuleXAnnotationElementValuePair returns [EObject current=null] : iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF ; public final EObject entryRuleXAnnotationElementValuePair() throws RecognitionException { EObject current = null; EObject iv_ruleXAnnotationElementValuePair = null; try { // InternalSARL.g:10857:68: (iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF ) // InternalSARL.g:10858:2: iv_ruleXAnnotationElementValuePair= ruleXAnnotationElementValuePair EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValuePairRule()); } pushFollow(FOLLOW_1); iv_ruleXAnnotationElementValuePair=ruleXAnnotationElementValuePair(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAnnotationElementValuePair; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAnnotationElementValuePair" // $ANTLR start "ruleXAnnotationElementValuePair" // InternalSARL.g:10864:1: ruleXAnnotationElementValuePair returns [EObject current=null] : ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) ; public final EObject ruleXAnnotationElementValuePair() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject lv_value_2_0 = null; enterRule(); try { // InternalSARL.g:10870:2: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) ) // InternalSARL.g:10871:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) { // InternalSARL.g:10871:2: ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) ) // InternalSARL.g:10872:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) ( (lv_value_2_0= ruleXAnnotationElementValue ) ) { // InternalSARL.g:10872:3: ( ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) ) // InternalSARL.g:10873:4: ( ( ( ( ruleValidID ) ) '=' ) )=> ( ( ( ruleValidID ) ) otherlv_1= '=' ) { // InternalSARL.g:10882:4: ( ( ( ruleValidID ) ) otherlv_1= '=' ) // InternalSARL.g:10883:5: ( ( ruleValidID ) ) otherlv_1= '=' { // InternalSARL.g:10883:5: ( ( ruleValidID ) ) // InternalSARL.g:10884:6: ( ruleValidID ) { // InternalSARL.g:10884:6: ( ruleValidID ) // InternalSARL.g:10885:7: ruleValidID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAnnotationElementValuePairRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getElementJvmOperationCrossReference_0_0_0_0()); } pushFollow(FOLLOW_81); ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } otherlv_1=(Token)match(input,47,FOLLOW_69); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValuePairAccess().getEqualsSignKeyword_0_0_1()); } } } // InternalSARL.g:10905:3: ( (lv_value_2_0= ruleXAnnotationElementValue ) ) // InternalSARL.g:10906:4: (lv_value_2_0= ruleXAnnotationElementValue ) { // InternalSARL.g:10906:4: (lv_value_2_0= ruleXAnnotationElementValue ) // InternalSARL.g:10907:5: lv_value_2_0= ruleXAnnotationElementValue { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValuePairAccess().getValueXAnnotationElementValueParserRuleCall_1_0()); } pushFollow(FOLLOW_2); lv_value_2_0=ruleXAnnotationElementValue(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationElementValuePairRule()); } set( current, "value", lv_value_2_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationElementValue"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAnnotationElementValuePair" // $ANTLR start "entryRuleXAnnotationElementValueOrCommaList" // InternalSARL.g:10928:1: entryRuleXAnnotationElementValueOrCommaList returns [EObject current=null] : iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF ; public final EObject entryRuleXAnnotationElementValueOrCommaList() throws RecognitionException { EObject current = null; EObject iv_ruleXAnnotationElementValueOrCommaList = null; try { // InternalSARL.g:10928:75: (iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF ) // InternalSARL.g:10929:2: iv_ruleXAnnotationElementValueOrCommaList= ruleXAnnotationElementValueOrCommaList EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListRule()); } pushFollow(FOLLOW_1); iv_ruleXAnnotationElementValueOrCommaList=ruleXAnnotationElementValueOrCommaList(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAnnotationElementValueOrCommaList; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAnnotationElementValueOrCommaList" // $ANTLR start "ruleXAnnotationElementValueOrCommaList" // InternalSARL.g:10935:1: ruleXAnnotationElementValueOrCommaList returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) ; public final EObject ruleXAnnotationElementValueOrCommaList() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_9=null; EObject lv_elements_3_0 = null; EObject lv_elements_5_0 = null; EObject this_XAnnotationOrExpression_7 = null; EObject lv_elements_10_0 = null; enterRule(); try { // InternalSARL.g:10941:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) ) // InternalSARL.g:10942:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) { // InternalSARL.g:10942:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) ) int alt280=2; alt280 = dfa280.predict(input); switch (alt280) { case 1 : // InternalSARL.g:10943:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) { // InternalSARL.g:10943:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) // InternalSARL.g:10944:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' { // InternalSARL.g:10944:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) // InternalSARL.g:10945:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) { // InternalSARL.g:10952:5: ( () otherlv_1= '#' otherlv_2= '[' ) // InternalSARL.g:10953:6: () otherlv_1= '#' otherlv_2= '[' { // InternalSARL.g:10953:6: () // InternalSARL.g:10954:7: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralAction_0_0_0_0(), current); } } otherlv_1=(Token)match(input,95,FOLLOW_86); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getNumberSignKeyword_0_0_0_1()); } otherlv_2=(Token)match(input,55,FOLLOW_103); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getLeftSquareBracketKeyword_0_0_0_2()); } } } // InternalSARL.g:10970:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? int alt277=2; int LA277_0 = input.LA(1); if ( ((LA277_0>=RULE_ID && LA277_0<=RULE_RICH_TEXT_START)||(LA277_0>=RULE_HEX && LA277_0<=RULE_DECIMAL)||LA277_0==25||(LA277_0>=28 && LA277_0<=29)||LA277_0==36||(LA277_0>=39 && LA277_0<=40)||(LA277_0>=42 && LA277_0<=45)||(LA277_0>=48 && LA277_0<=49)||LA277_0==51||LA277_0==55||LA277_0==60||LA277_0==63||LA277_0==65||(LA277_0>=69 && LA277_0<=87)||(LA277_0>=94 && LA277_0<=95)||(LA277_0>=114 && LA277_0<=115)||LA277_0==119||LA277_0==125||(LA277_0>=128 && LA277_0<=137)) ) { alt277=1; } switch (alt277) { case 1 : // InternalSARL.g:10971:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* { // InternalSARL.g:10971:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) // InternalSARL.g:10972:6: (lv_elements_3_0= ruleXAnnotationOrExpression ) { // InternalSARL.g:10972:6: (lv_elements_3_0= ruleXAnnotationOrExpression ) // InternalSARL.g:10973:7: lv_elements_3_0= ruleXAnnotationOrExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0()); } pushFollow(FOLLOW_104); lv_elements_3_0=ruleXAnnotationOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule()); } add( current, "elements", lv_elements_3_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:10990:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* loop276: do { int alt276=2; int LA276_0 = input.LA(1); if ( (LA276_0==32) ) { alt276=1; } switch (alt276) { case 1 : // InternalSARL.g:10991:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) { otherlv_4=(Token)match(input,32,FOLLOW_69); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_0_1_1_0()); } // InternalSARL.g:10995:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) // InternalSARL.g:10996:7: (lv_elements_5_0= ruleXAnnotationOrExpression ) { // InternalSARL.g:10996:7: (lv_elements_5_0= ruleXAnnotationOrExpression ) // InternalSARL.g:10997:8: lv_elements_5_0= ruleXAnnotationOrExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0()); } pushFollow(FOLLOW_104); lv_elements_5_0=ruleXAnnotationOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule()); } add( current, "elements", lv_elements_5_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop276; } } while (true); } break; } otherlv_6=(Token)match(input,56,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getRightSquareBracketKeyword_0_2()); } } } break; case 2 : // InternalSARL.g:11022:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) { // InternalSARL.g:11022:3: (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) // InternalSARL.g:11023:4: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXAnnotationOrExpressionParserRuleCall_1_0()); } pushFollow(FOLLOW_105); this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAnnotationOrExpression_7; afterParserOrEnumRuleCall(); } // InternalSARL.g:11031:4: ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? int alt279=2; int LA279_0 = input.LA(1); if ( (LA279_0==32) ) { alt279=1; } switch (alt279) { case 1 : // InternalSARL.g:11032:5: () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ { // InternalSARL.g:11032:5: () // InternalSARL.g:11033:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndAdd( grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0(), current); } } // InternalSARL.g:11039:5: (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ int cnt278=0; loop278: do { int alt278=2; int LA278_0 = input.LA(1); if ( (LA278_0==32) ) { alt278=1; } switch (alt278) { case 1 : // InternalSARL.g:11040:6: otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) { otherlv_9=(Token)match(input,32,FOLLOW_69); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getXAnnotationElementValueOrCommaListAccess().getCommaKeyword_1_1_1_0()); } // InternalSARL.g:11044:6: ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) // InternalSARL.g:11045:7: (lv_elements_10_0= ruleXAnnotationOrExpression ) { // InternalSARL.g:11045:7: (lv_elements_10_0= ruleXAnnotationOrExpression ) // InternalSARL.g:11046:8: lv_elements_10_0= ruleXAnnotationOrExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsXAnnotationOrExpressionParserRuleCall_1_1_1_1_0()); } pushFollow(FOLLOW_105); lv_elements_10_0=ruleXAnnotationOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationElementValueOrCommaListRule()); } add( current, "elements", lv_elements_10_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression"); afterParserOrEnumRuleCall(); } } } } break; default : if ( cnt278 >= 1 ) break loop278; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(278, input); throw eee; } cnt278++; } while (true); } break; } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAnnotationElementValueOrCommaList" // $ANTLR start "entryRuleXAnnotationElementValue" // InternalSARL.g:11070:1: entryRuleXAnnotationElementValue returns [EObject current=null] : iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF ; public final EObject entryRuleXAnnotationElementValue() throws RecognitionException { EObject current = null; EObject iv_ruleXAnnotationElementValue = null; try { // InternalSARL.g:11070:64: (iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF ) // InternalSARL.g:11071:2: iv_ruleXAnnotationElementValue= ruleXAnnotationElementValue EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValueRule()); } pushFollow(FOLLOW_1); iv_ruleXAnnotationElementValue=ruleXAnnotationElementValue(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAnnotationElementValue; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAnnotationElementValue" // $ANTLR start "ruleXAnnotationElementValue" // InternalSARL.g:11077:1: ruleXAnnotationElementValue returns [EObject current=null] : ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) ; public final EObject ruleXAnnotationElementValue() 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; EObject this_XAnnotationOrExpression_7 = null; enterRule(); try { // InternalSARL.g:11083:2: ( ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) ) // InternalSARL.g:11084:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) { // InternalSARL.g:11084:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ) int alt283=2; alt283 = dfa283.predict(input); switch (alt283) { case 1 : // InternalSARL.g:11085:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) { // InternalSARL.g:11085:3: ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) // InternalSARL.g:11086:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' { // InternalSARL.g:11086:4: ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) // InternalSARL.g:11087:5: ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) { // InternalSARL.g:11094:5: ( () otherlv_1= '#' otherlv_2= '[' ) // InternalSARL.g:11095:6: () otherlv_1= '#' otherlv_2= '[' { // InternalSARL.g:11095:6: () // InternalSARL.g:11096:7: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXAnnotationElementValueAccess().getXListLiteralAction_0_0_0_0(), current); } } otherlv_1=(Token)match(input,95,FOLLOW_86); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXAnnotationElementValueAccess().getNumberSignKeyword_0_0_0_1()); } otherlv_2=(Token)match(input,55,FOLLOW_103); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXAnnotationElementValueAccess().getLeftSquareBracketKeyword_0_0_0_2()); } } } // InternalSARL.g:11112:4: ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? int alt282=2; int LA282_0 = input.LA(1); if ( ((LA282_0>=RULE_ID && LA282_0<=RULE_RICH_TEXT_START)||(LA282_0>=RULE_HEX && LA282_0<=RULE_DECIMAL)||LA282_0==25||(LA282_0>=28 && LA282_0<=29)||LA282_0==36||(LA282_0>=39 && LA282_0<=40)||(LA282_0>=42 && LA282_0<=45)||(LA282_0>=48 && LA282_0<=49)||LA282_0==51||LA282_0==55||LA282_0==60||LA282_0==63||LA282_0==65||(LA282_0>=69 && LA282_0<=87)||(LA282_0>=94 && LA282_0<=95)||(LA282_0>=114 && LA282_0<=115)||LA282_0==119||LA282_0==125||(LA282_0>=128 && LA282_0<=137)) ) { alt282=1; } switch (alt282) { case 1 : // InternalSARL.g:11113:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* { // InternalSARL.g:11113:5: ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) // InternalSARL.g:11114:6: (lv_elements_3_0= ruleXAnnotationOrExpression ) { // InternalSARL.g:11114:6: (lv_elements_3_0= ruleXAnnotationOrExpression ) // InternalSARL.g:11115:7: lv_elements_3_0= ruleXAnnotationOrExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_0_0()); } pushFollow(FOLLOW_104); lv_elements_3_0=ruleXAnnotationOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule()); } add( current, "elements", lv_elements_3_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:11132:5: (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* loop281: do { int alt281=2; int LA281_0 = input.LA(1); if ( (LA281_0==32) ) { alt281=1; } switch (alt281) { case 1 : // InternalSARL.g:11133:6: otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) { otherlv_4=(Token)match(input,32,FOLLOW_69); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXAnnotationElementValueAccess().getCommaKeyword_0_1_1_0()); } // InternalSARL.g:11137:6: ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) // InternalSARL.g:11138:7: (lv_elements_5_0= ruleXAnnotationOrExpression ) { // InternalSARL.g:11138:7: (lv_elements_5_0= ruleXAnnotationOrExpression ) // InternalSARL.g:11139:8: lv_elements_5_0= ruleXAnnotationOrExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getElementsXAnnotationOrExpressionParserRuleCall_0_1_1_1_0()); } pushFollow(FOLLOW_104); lv_elements_5_0=ruleXAnnotationOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXAnnotationElementValueRule()); } add( current, "elements", lv_elements_5_0, "org.eclipse.xtext.xbase.annotations.XbaseWithAnnotations.XAnnotationOrExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop281; } } while (true); } break; } otherlv_6=(Token)match(input,56,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXAnnotationElementValueAccess().getRightSquareBracketKeyword_0_2()); } } } break; case 2 : // InternalSARL.g:11164:3: this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationElementValueAccess().getXAnnotationOrExpressionParserRuleCall_1()); } pushFollow(FOLLOW_2); this_XAnnotationOrExpression_7=ruleXAnnotationOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAnnotationOrExpression_7; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAnnotationElementValue" // $ANTLR start "entryRuleXAnnotationOrExpression" // InternalSARL.g:11176:1: entryRuleXAnnotationOrExpression returns [EObject current=null] : iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF ; public final EObject entryRuleXAnnotationOrExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXAnnotationOrExpression = null; try { // InternalSARL.g:11176:64: (iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF ) // InternalSARL.g:11177:2: iv_ruleXAnnotationOrExpression= ruleXAnnotationOrExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationOrExpressionRule()); } pushFollow(FOLLOW_1); iv_ruleXAnnotationOrExpression=ruleXAnnotationOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAnnotationOrExpression; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAnnotationOrExpression" // $ANTLR start "ruleXAnnotationOrExpression" // InternalSARL.g:11183:1: ruleXAnnotationOrExpression returns [EObject current=null] : (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) ; public final EObject ruleXAnnotationOrExpression() throws RecognitionException { EObject current = null; EObject this_XAnnotation_0 = null; EObject this_XExpression_1 = null; enterRule(); try { // InternalSARL.g:11189:2: ( (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) ) // InternalSARL.g:11190:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) { // InternalSARL.g:11190:2: (this_XAnnotation_0= ruleXAnnotation | this_XExpression_1= ruleXExpression ) int alt284=2; int LA284_0 = input.LA(1); if ( (LA284_0==94) ) { alt284=1; } else if ( ((LA284_0>=RULE_ID && LA284_0<=RULE_RICH_TEXT_START)||(LA284_0>=RULE_HEX && LA284_0<=RULE_DECIMAL)||LA284_0==25||(LA284_0>=28 && LA284_0<=29)||LA284_0==36||(LA284_0>=39 && LA284_0<=40)||(LA284_0>=42 && LA284_0<=45)||(LA284_0>=48 && LA284_0<=49)||LA284_0==51||LA284_0==55||LA284_0==60||LA284_0==63||LA284_0==65||(LA284_0>=69 && LA284_0<=87)||LA284_0==95||(LA284_0>=114 && LA284_0<=115)||LA284_0==119||LA284_0==125||(LA284_0>=128 && LA284_0<=137)) ) { alt284=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 284, 0, input); throw nvae; } switch (alt284) { case 1 : // InternalSARL.g:11191:3: this_XAnnotation_0= ruleXAnnotation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().getXAnnotationParserRuleCall_0()); } pushFollow(FOLLOW_2); this_XAnnotation_0=ruleXAnnotation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAnnotation_0; afterParserOrEnumRuleCall(); } } break; case 2 : // InternalSARL.g:11200:3: this_XExpression_1= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAnnotationOrExpressionAccess().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 "ruleXAnnotationOrExpression" // $ANTLR start "entryRuleXExpression" // InternalSARL.g:11212:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ; public final EObject entryRuleXExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXExpression = null; try { // InternalSARL.g:11212:52: (iv_ruleXExpression= ruleXExpression EOF ) // InternalSARL.g:11213: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" // InternalSARL.g:11219: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 { // InternalSARL.g:11225:2: (this_XAssignment_0= ruleXAssignment ) // InternalSARL.g:11226:2: 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" // InternalSARL.g:11237:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ; public final EObject entryRuleXAssignment() throws RecognitionException { EObject current = null; EObject iv_ruleXAssignment = null; try { // InternalSARL.g:11237:52: (iv_ruleXAssignment= ruleXAssignment EOF ) // InternalSARL.g:11238: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" // InternalSARL.g:11244: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 { // InternalSARL.g:11250:2: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ) // InternalSARL.g:11251:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) { // InternalSARL.g:11251:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) int alt286=2; alt286 = dfa286.predict(input); switch (alt286) { case 1 : // InternalSARL.g:11252:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) { // InternalSARL.g:11252:3: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) // InternalSARL.g:11253:4: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) { // InternalSARL.g:11253:4: () // InternalSARL.g:11254:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), current); } } // InternalSARL.g:11260:4: ( ( ruleFeatureCallID ) ) // InternalSARL.g:11261:5: ( ruleFeatureCallID ) { // InternalSARL.g:11261:5: ( ruleFeatureCallID ) // InternalSARL.g:11262:6: 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_81); 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_45); ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } // InternalSARL.g:11283:4: ( (lv_value_3_0= ruleXAssignment ) ) // InternalSARL.g:11284:5: (lv_value_3_0= ruleXAssignment ) { // InternalSARL.g:11284:5: (lv_value_3_0= ruleXAssignment ) // InternalSARL.g:11285:6: 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 : // InternalSARL.g:11304:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) { // InternalSARL.g:11304:3: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) // InternalSARL.g:11305:4: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); } pushFollow(FOLLOW_106); this_XOrExpression_4=ruleXOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XOrExpression_4; afterParserOrEnumRuleCall(); } // InternalSARL.g:11313:4: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? int alt285=2; alt285 = dfa285.predict(input); switch (alt285) { case 1 : // InternalSARL.g:11314:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) { // InternalSARL.g:11314:5: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) // InternalSARL.g:11315:6: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) { // InternalSARL.g:11325:6: ( () ( ( ruleOpMultiAssign ) ) ) // InternalSARL.g:11326:7: () ( ( ruleOpMultiAssign ) ) { // InternalSARL.g:11326:7: () // InternalSARL.g:11327:8: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), current); } } // InternalSARL.g:11333:7: ( ( ruleOpMultiAssign ) ) // InternalSARL.g:11334:8: ( ruleOpMultiAssign ) { // InternalSARL.g:11334:8: ( ruleOpMultiAssign ) // InternalSARL.g:11335:9: 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_45); ruleOpMultiAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalSARL.g:11351:5: ( (lv_rightOperand_7_0= ruleXAssignment ) ) // InternalSARL.g:11352:6: (lv_rightOperand_7_0= ruleXAssignment ) { // InternalSARL.g:11352:6: (lv_rightOperand_7_0= ruleXAssignment ) // InternalSARL.g:11353:7: 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" // InternalSARL.g:11376:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ; public final String entryRuleOpSingleAssign() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null; try { // InternalSARL.g:11376:54: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ) // InternalSARL.g:11377: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" // InternalSARL.g:11383:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ; public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalSARL.g:11389:2: (kw= '=' ) // InternalSARL.g:11390: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" // InternalSARL.g:11398:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ; public final String entryRuleOpMultiAssign() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null; try { // InternalSARL.g:11398:53: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ) // InternalSARL.g:11399: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" // InternalSARL.g:11405: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 { // InternalSARL.g:11411:2: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ) // InternalSARL.g:11412:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) { // InternalSARL.g:11412:2: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) int alt288=7; switch ( input.LA(1) ) { case 96: { alt288=1; } break; case 97: { alt288=2; } break; case 98: { alt288=3; } break; case 99: { alt288=4; } break; case 100: { alt288=5; } break; case 40: { alt288=6; } break; case 41: { alt288=7; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 288, 0, input); throw nvae; } switch (alt288) { case 1 : // InternalSARL.g:11413:3: kw= '+=' { kw=(Token)match(input,96,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); } } break; case 2 : // InternalSARL.g:11419:3: kw= '-=' { kw=(Token)match(input,97,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); } } break; case 3 : // InternalSARL.g:11425:3: kw= '*=' { kw=(Token)match(input,98,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); } } break; case 4 : // InternalSARL.g:11431:3: kw= '/=' { kw=(Token)match(input,99,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); } } break; case 5 : // InternalSARL.g:11437:3: kw= '%=' { kw=(Token)match(input,100,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); } } break; case 6 : // InternalSARL.g:11443:3: (kw= '<' kw= '<' kw= '=' ) { // InternalSARL.g:11443:3: (kw= '<' kw= '<' kw= '=' ) // InternalSARL.g:11444:4: kw= '<' kw= '<' kw= '=' { kw=(Token)match(input,40,FOLLOW_87); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); } kw=(Token)match(input,40,FOLLOW_81); 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 : // InternalSARL.g:11461:3: (kw= '>' (kw= '>' )? kw= '>=' ) { // InternalSARL.g:11461:3: (kw= '>' (kw= '>' )? kw= '>=' ) // InternalSARL.g:11462:4: kw= '>' (kw= '>' )? kw= '>=' { kw=(Token)match(input,41,FOLLOW_107); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); } // InternalSARL.g:11467:4: (kw= '>' )? int alt287=2; int LA287_0 = input.LA(1); if ( (LA287_0==41) ) { alt287=1; } switch (alt287) { case 1 : // InternalSARL.g:11468:5: kw= '>' { kw=(Token)match(input,41,FOLLOW_108); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); } } break; } kw=(Token)match(input,101,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" // InternalSARL.g:11484:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ; public final EObject entryRuleXOrExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXOrExpression = null; try { // InternalSARL.g:11484:54: (iv_ruleXOrExpression= ruleXOrExpression EOF ) // InternalSARL.g:11485: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" // InternalSARL.g:11491: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 { // InternalSARL.g:11497:2: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ) // InternalSARL.g:11498:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) { // InternalSARL.g:11498:2: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) // InternalSARL.g:11499:3: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); } pushFollow(FOLLOW_109); this_XAndExpression_0=ruleXAndExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAndExpression_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:11507:3: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* loop289: do { int alt289=2; int LA289_0 = input.LA(1); if ( (LA289_0==102) ) { int LA289_2 = input.LA(2); if ( (synpred24_InternalSARL()) ) { alt289=1; } } switch (alt289) { case 1 : // InternalSARL.g:11508:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) { // InternalSARL.g:11508:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) // InternalSARL.g:11509:5: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) { // InternalSARL.g:11519:5: ( () ( ( ruleOpOr ) ) ) // InternalSARL.g:11520:6: () ( ( ruleOpOr ) ) { // InternalSARL.g:11520:6: () // InternalSARL.g:11521:7: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalSARL.g:11527:6: ( ( ruleOpOr ) ) // InternalSARL.g:11528:7: ( ruleOpOr ) { // InternalSARL.g:11528:7: ( ruleOpOr ) // InternalSARL.g:11529:8: 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_45); ruleOpOr(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalSARL.g:11545:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) ) // InternalSARL.g:11546:5: (lv_rightOperand_3_0= ruleXAndExpression ) { // InternalSARL.g:11546:5: (lv_rightOperand_3_0= ruleXAndExpression ) // InternalSARL.g:11547:6: lv_rightOperand_3_0= ruleXAndExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_109); 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 loop289; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXOrExpression" // $ANTLR start "entryRuleOpOr" // InternalSARL.g:11569:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ; public final String entryRuleOpOr() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpOr = null; try { // InternalSARL.g:11569:44: (iv_ruleOpOr= ruleOpOr EOF ) // InternalSARL.g:11570: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" // InternalSARL.g:11576:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ; public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalSARL.g:11582:2: (kw= '||' ) // InternalSARL.g:11583:2: kw= '||' { kw=(Token)match(input,102,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" // InternalSARL.g:11591:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ; public final EObject entryRuleXAndExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXAndExpression = null; try { // InternalSARL.g:11591:55: (iv_ruleXAndExpression= ruleXAndExpression EOF ) // InternalSARL.g:11592: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" // InternalSARL.g:11598: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 { // InternalSARL.g:11604:2: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ) // InternalSARL.g:11605:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) { // InternalSARL.g:11605:2: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) // InternalSARL.g:11606:3: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); } pushFollow(FOLLOW_110); this_XEqualityExpression_0=ruleXEqualityExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XEqualityExpression_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:11614:3: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* loop290: do { int alt290=2; int LA290_0 = input.LA(1); if ( (LA290_0==103) ) { int LA290_2 = input.LA(2); if ( (synpred25_InternalSARL()) ) { alt290=1; } } switch (alt290) { case 1 : // InternalSARL.g:11615:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) { // InternalSARL.g:11615:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) // InternalSARL.g:11616:5: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) { // InternalSARL.g:11626:5: ( () ( ( ruleOpAnd ) ) ) // InternalSARL.g:11627:6: () ( ( ruleOpAnd ) ) { // InternalSARL.g:11627:6: () // InternalSARL.g:11628:7: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalSARL.g:11634:6: ( ( ruleOpAnd ) ) // InternalSARL.g:11635:7: ( ruleOpAnd ) { // InternalSARL.g:11635:7: ( ruleOpAnd ) // InternalSARL.g:11636:8: 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_45); ruleOpAnd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalSARL.g:11652:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) // InternalSARL.g:11653:5: (lv_rightOperand_3_0= ruleXEqualityExpression ) { // InternalSARL.g:11653:5: (lv_rightOperand_3_0= ruleXEqualityExpression ) // InternalSARL.g:11654:6: lv_rightOperand_3_0= ruleXEqualityExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_110); 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 loop290; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAndExpression" // $ANTLR start "entryRuleOpAnd" // InternalSARL.g:11676:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ; public final String entryRuleOpAnd() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpAnd = null; try { // InternalSARL.g:11676:45: (iv_ruleOpAnd= ruleOpAnd EOF ) // InternalSARL.g:11677: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" // InternalSARL.g:11683:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ; public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalSARL.g:11689:2: (kw= '&&' ) // InternalSARL.g:11690:2: kw= '&&' { kw=(Token)match(input,103,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" // InternalSARL.g:11698:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ; public final EObject entryRuleXEqualityExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXEqualityExpression = null; try { // InternalSARL.g:11698:60: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ) // InternalSARL.g:11699: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" // InternalSARL.g:11705: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 { // InternalSARL.g:11711:2: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ) // InternalSARL.g:11712:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) { // InternalSARL.g:11712:2: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) // InternalSARL.g:11713:3: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); } pushFollow(FOLLOW_111); this_XRelationalExpression_0=ruleXRelationalExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XRelationalExpression_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:11721:3: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* loop291: do { int alt291=2; switch ( input.LA(1) ) { case 104: { int LA291_2 = input.LA(2); if ( (synpred26_InternalSARL()) ) { alt291=1; } } break; case 105: { int LA291_3 = input.LA(2); if ( (synpred26_InternalSARL()) ) { alt291=1; } } break; case 106: { int LA291_4 = input.LA(2); if ( (synpred26_InternalSARL()) ) { alt291=1; } } break; case 107: { int LA291_5 = input.LA(2); if ( (synpred26_InternalSARL()) ) { alt291=1; } } break; } switch (alt291) { case 1 : // InternalSARL.g:11722:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) { // InternalSARL.g:11722:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) // InternalSARL.g:11723:5: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) { // InternalSARL.g:11733:5: ( () ( ( ruleOpEquality ) ) ) // InternalSARL.g:11734:6: () ( ( ruleOpEquality ) ) { // InternalSARL.g:11734:6: () // InternalSARL.g:11735:7: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalSARL.g:11741:6: ( ( ruleOpEquality ) ) // InternalSARL.g:11742:7: ( ruleOpEquality ) { // InternalSARL.g:11742:7: ( ruleOpEquality ) // InternalSARL.g:11743:8: 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_45); ruleOpEquality(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalSARL.g:11759:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) // InternalSARL.g:11760:5: (lv_rightOperand_3_0= ruleXRelationalExpression ) { // InternalSARL.g:11760:5: (lv_rightOperand_3_0= ruleXRelationalExpression ) // InternalSARL.g:11761:6: lv_rightOperand_3_0= ruleXRelationalExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_111); 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 loop291; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXEqualityExpression" // $ANTLR start "entryRuleOpEquality" // InternalSARL.g:11783:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ; public final String entryRuleOpEquality() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpEquality = null; try { // InternalSARL.g:11783:50: (iv_ruleOpEquality= ruleOpEquality EOF ) // InternalSARL.g:11784: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" // InternalSARL.g:11790: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 { // InternalSARL.g:11796:2: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ) // InternalSARL.g:11797:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) { // InternalSARL.g:11797:2: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) int alt292=4; switch ( input.LA(1) ) { case 104: { alt292=1; } break; case 105: { alt292=2; } break; case 106: { alt292=3; } break; case 107: { alt292=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 292, 0, input); throw nvae; } switch (alt292) { case 1 : // InternalSARL.g:11798:3: kw= '==' { kw=(Token)match(input,104,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); } } break; case 2 : // InternalSARL.g:11804:3: kw= '!=' { kw=(Token)match(input,105,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); } } break; case 3 : // InternalSARL.g:11810:3: kw= '===' { kw=(Token)match(input,106,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); } } break; case 4 : // InternalSARL.g:11816:3: kw= '!==' { kw=(Token)match(input,107,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" // InternalSARL.g:11825:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ; public final EObject entryRuleXRelationalExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXRelationalExpression = null; try { // InternalSARL.g:11825:62: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ) // InternalSARL.g:11826: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" // InternalSARL.g:11832: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 { // InternalSARL.g:11838:2: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ) // InternalSARL.g:11839:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) { // InternalSARL.g:11839:2: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) // InternalSARL.g:11840:3: 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_112); this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XOtherOperatorExpression_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:11848:3: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* loop293: do { int alt293=3; switch ( input.LA(1) ) { case 40: { int LA293_2 = input.LA(2); if ( (synpred28_InternalSARL()) ) { alt293=2; } } break; case 41: { int LA293_3 = input.LA(2); if ( (synpred28_InternalSARL()) ) { alt293=2; } } break; case 108: { int LA293_4 = input.LA(2); if ( (synpred27_InternalSARL()) ) { alt293=1; } } break; case 101: { int LA293_5 = input.LA(2); if ( (synpred28_InternalSARL()) ) { alt293=2; } } break; } switch (alt293) { case 1 : // InternalSARL.g:11849:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:11849:4: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:11850:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) { // InternalSARL.g:11850:5: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) // InternalSARL.g:11851:6: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) { // InternalSARL.g:11857:6: ( () otherlv_2= 'instanceof' ) // InternalSARL.g:11858:7: () otherlv_2= 'instanceof' { // InternalSARL.g:11858:7: () // InternalSARL.g:11859:8: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(), current); } } otherlv_2=(Token)match(input,108,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); } } } // InternalSARL.g:11871:5: ( (lv_type_3_0= ruleJvmTypeReference ) ) // InternalSARL.g:11872:6: (lv_type_3_0= ruleJvmTypeReference ) { // InternalSARL.g:11872:6: (lv_type_3_0= ruleJvmTypeReference ) // InternalSARL.g:11873:7: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); } pushFollow(FOLLOW_112); 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 : // InternalSARL.g:11892:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) { // InternalSARL.g:11892:4: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) // InternalSARL.g:11893:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) { // InternalSARL.g:11893:5: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) // InternalSARL.g:11894:6: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) { // InternalSARL.g:11904:6: ( () ( ( ruleOpCompare ) ) ) // InternalSARL.g:11905:7: () ( ( ruleOpCompare ) ) { // InternalSARL.g:11905:7: () // InternalSARL.g:11906:8: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), current); } } // InternalSARL.g:11912:7: ( ( ruleOpCompare ) ) // InternalSARL.g:11913:8: ( ruleOpCompare ) { // InternalSARL.g:11913:8: ( ruleOpCompare ) // InternalSARL.g:11914:9: 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_45); ruleOpCompare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalSARL.g:11930:5: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) // InternalSARL.g:11931:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) { // InternalSARL.g:11931:6: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) // InternalSARL.g:11932:7: lv_rightOperand_6_0= ruleXOtherOperatorExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); } pushFollow(FOLLOW_112); 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 loop293; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXRelationalExpression" // $ANTLR start "entryRuleOpCompare" // InternalSARL.g:11955:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ; public final String entryRuleOpCompare() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpCompare = null; try { // InternalSARL.g:11955:49: (iv_ruleOpCompare= ruleOpCompare EOF ) // InternalSARL.g:11956: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" // InternalSARL.g:11962: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 { // InternalSARL.g:11968:2: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ) // InternalSARL.g:11969:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) { // InternalSARL.g:11969:2: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) int alt294=4; switch ( input.LA(1) ) { case 101: { alt294=1; } break; case 40: { int LA294_2 = input.LA(2); if ( (LA294_2==EOF||(LA294_2>=RULE_ID && LA294_2<=RULE_RICH_TEXT_START)||(LA294_2>=RULE_HEX && LA294_2<=RULE_DECIMAL)||(LA294_2>=25 && LA294_2<=26)||(LA294_2>=28 && LA294_2<=30)||LA294_2==36||(LA294_2>=39 && LA294_2<=40)||(LA294_2>=42 && LA294_2<=46)||(LA294_2>=48 && LA294_2<=49)||(LA294_2>=51 && LA294_2<=55)||(LA294_2>=57 && LA294_2<=58)||(LA294_2>=60 && LA294_2<=63)||LA294_2==65||(LA294_2>=69 && LA294_2<=87)||(LA294_2>=94 && LA294_2<=95)||(LA294_2>=114 && LA294_2<=115)||LA294_2==119||LA294_2==125||(LA294_2>=128 && LA294_2<=137)) ) { alt294=4; } else if ( (LA294_2==47) ) { alt294=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 294, 2, input); throw nvae; } } break; case 41: { alt294=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 294, 0, input); throw nvae; } switch (alt294) { case 1 : // InternalSARL.g:11970:3: kw= '>=' { kw=(Token)match(input,101,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); } } break; case 2 : // InternalSARL.g:11976:3: (kw= '<' kw= '=' ) { // InternalSARL.g:11976:3: (kw= '<' kw= '=' ) // InternalSARL.g:11977:4: kw= '<' kw= '=' { kw=(Token)match(input,40,FOLLOW_81); 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 : // InternalSARL.g:11989:3: kw= '>' { kw=(Token)match(input,41,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); } } break; case 4 : // InternalSARL.g:11995:3: kw= '<' { kw=(Token)match(input,40,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" // InternalSARL.g:12004:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ; public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXOtherOperatorExpression = null; try { // InternalSARL.g:12004:65: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ) // InternalSARL.g:12005: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" // InternalSARL.g:12011: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 { // InternalSARL.g:12017:2: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ) // InternalSARL.g:12018:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) { // InternalSARL.g:12018:2: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) // InternalSARL.g:12019:3: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); } pushFollow(FOLLOW_113); this_XAdditiveExpression_0=ruleXAdditiveExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAdditiveExpression_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:12027:3: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* loop295: do { int alt295=2; alt295 = dfa295.predict(input); switch (alt295) { case 1 : // InternalSARL.g:12028:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) { // InternalSARL.g:12028:4: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) // InternalSARL.g:12029:5: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) { // InternalSARL.g:12039:5: ( () ( ( ruleOpOther ) ) ) // InternalSARL.g:12040:6: () ( ( ruleOpOther ) ) { // InternalSARL.g:12040:6: () // InternalSARL.g:12041:7: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalSARL.g:12047:6: ( ( ruleOpOther ) ) // InternalSARL.g:12048:7: ( ruleOpOther ) { // InternalSARL.g:12048:7: ( ruleOpOther ) // InternalSARL.g:12049:8: 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_45); ruleOpOther(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalSARL.g:12065:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) // InternalSARL.g:12066:5: (lv_rightOperand_3_0= ruleXAdditiveExpression ) { // InternalSARL.g:12066:5: (lv_rightOperand_3_0= ruleXAdditiveExpression ) // InternalSARL.g:12067:6: lv_rightOperand_3_0= ruleXAdditiveExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_113); 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 loop295; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXOtherOperatorExpression" // $ANTLR start "entryRuleOpOther" // InternalSARL.g:12089:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ; public final String entryRuleOpOther() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpOther = null; try { // InternalSARL.g:12089:47: (iv_ruleOpOther= ruleOpOther EOF ) // InternalSARL.g:12090: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" // InternalSARL.g:12096: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 { // InternalSARL.g:12102:2: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ) // InternalSARL.g:12103:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) { // InternalSARL.g:12103:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) int alt298=9; alt298 = dfa298.predict(input); switch (alt298) { case 1 : // InternalSARL.g:12104:3: kw= '->' { kw=(Token)match(input,109,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); } } break; case 2 : // InternalSARL.g:12110:3: kw= '..<' { kw=(Token)match(input,110,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); } } break; case 3 : // InternalSARL.g:12116:3: (kw= '>' kw= '..' ) { // InternalSARL.g:12116:3: (kw= '>' kw= '..' ) // InternalSARL.g:12117:4: kw= '>' kw= '..' { kw=(Token)match(input,41,FOLLOW_114); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); } kw=(Token)match(input,111,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); } } } break; case 4 : // InternalSARL.g:12129:3: kw= '..' { kw=(Token)match(input,111,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); } } break; case 5 : // InternalSARL.g:12135:3: kw= '=>' { kw=(Token)match(input,67,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); } } break; case 6 : // InternalSARL.g:12141:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) { // InternalSARL.g:12141:3: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) // InternalSARL.g:12142:4: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) { kw=(Token)match(input,41,FOLLOW_115); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); } // InternalSARL.g:12147:4: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) int alt296=2; int LA296_0 = input.LA(1); if ( (LA296_0==41) ) { int LA296_1 = input.LA(2); if ( (LA296_1==41) && (synpred30_InternalSARL())) { alt296=1; } else if ( (LA296_1==EOF||(LA296_1>=RULE_ID && LA296_1<=RULE_RICH_TEXT_START)||(LA296_1>=RULE_HEX && LA296_1<=RULE_DECIMAL)||(LA296_1>=25 && LA296_1<=26)||(LA296_1>=28 && LA296_1<=30)||LA296_1==36||(LA296_1>=39 && LA296_1<=40)||(LA296_1>=42 && LA296_1<=46)||(LA296_1>=48 && LA296_1<=49)||(LA296_1>=51 && LA296_1<=55)||(LA296_1>=57 && LA296_1<=58)||(LA296_1>=60 && LA296_1<=63)||LA296_1==65||(LA296_1>=69 && LA296_1<=87)||(LA296_1>=94 && LA296_1<=95)||(LA296_1>=114 && LA296_1<=115)||LA296_1==119||LA296_1==125||(LA296_1>=128 && LA296_1<=137)) ) { alt296=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 296, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 296, 0, input); throw nvae; } switch (alt296) { case 1 : // InternalSARL.g:12148:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) { // InternalSARL.g:12148:5: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) // InternalSARL.g:12149:6: ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) { // InternalSARL.g:12154:6: (kw= '>' kw= '>' ) // InternalSARL.g:12155:7: kw= '>' kw= '>' { kw=(Token)match(input,41,FOLLOW_115); 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,41,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 : // InternalSARL.g:12168:5: kw= '>' { kw=(Token)match(input,41,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 : // InternalSARL.g:12176:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) { // InternalSARL.g:12176:3: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) // InternalSARL.g:12177:4: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) { kw=(Token)match(input,40,FOLLOW_116); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); } // InternalSARL.g:12182:4: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) int alt297=3; int LA297_0 = input.LA(1); if ( (LA297_0==40) ) { int LA297_1 = input.LA(2); if ( (synpred31_InternalSARL()) ) { alt297=1; } else if ( (true) ) { alt297=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 297, 1, input); throw nvae; } } else if ( (LA297_0==67) ) { alt297=3; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 297, 0, input); throw nvae; } switch (alt297) { case 1 : // InternalSARL.g:12183:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) { // InternalSARL.g:12183:5: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) // InternalSARL.g:12184:6: ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) { // InternalSARL.g:12189:6: (kw= '<' kw= '<' ) // InternalSARL.g:12190:7: kw= '<' kw= '<' { kw=(Token)match(input,40,FOLLOW_87); 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,40,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 : // InternalSARL.g:12203:5: kw= '<' { kw=(Token)match(input,40,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 : // InternalSARL.g:12209:5: kw= '=>' { kw=(Token)match(input,67,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 : // InternalSARL.g:12217:3: kw= '<>' { kw=(Token)match(input,112,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); } } break; case 9 : // InternalSARL.g:12223:3: kw= '?:' { kw=(Token)match(input,113,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" // InternalSARL.g:12232:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ; public final EObject entryRuleXAdditiveExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXAdditiveExpression = null; try { // InternalSARL.g:12232:60: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ) // InternalSARL.g:12233: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" // InternalSARL.g:12239: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 { // InternalSARL.g:12245:2: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ) // InternalSARL.g:12246:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) { // InternalSARL.g:12246:2: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) // InternalSARL.g:12247:3: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); } pushFollow(FOLLOW_117); this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XMultiplicativeExpression_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:12255:3: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* loop299: do { int alt299=2; int LA299_0 = input.LA(1); if ( (LA299_0==115) ) { int LA299_2 = input.LA(2); if ( (synpred32_InternalSARL()) ) { alt299=1; } } else if ( (LA299_0==114) ) { int LA299_3 = input.LA(2); if ( (synpred32_InternalSARL()) ) { alt299=1; } } switch (alt299) { case 1 : // InternalSARL.g:12256:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) { // InternalSARL.g:12256:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) // InternalSARL.g:12257:5: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) { // InternalSARL.g:12267:5: ( () ( ( ruleOpAdd ) ) ) // InternalSARL.g:12268:6: () ( ( ruleOpAdd ) ) { // InternalSARL.g:12268:6: () // InternalSARL.g:12269:7: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalSARL.g:12275:6: ( ( ruleOpAdd ) ) // InternalSARL.g:12276:7: ( ruleOpAdd ) { // InternalSARL.g:12276:7: ( ruleOpAdd ) // InternalSARL.g:12277:8: 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_45); ruleOpAdd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalSARL.g:12293:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) // InternalSARL.g:12294:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) { // InternalSARL.g:12294:5: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) // InternalSARL.g:12295:6: lv_rightOperand_3_0= ruleXMultiplicativeExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); } pushFollow(FOLLOW_117); 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 loop299; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAdditiveExpression" // $ANTLR start "entryRuleOpAdd" // InternalSARL.g:12317:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ; public final String entryRuleOpAdd() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpAdd = null; try { // InternalSARL.g:12317:45: (iv_ruleOpAdd= ruleOpAdd EOF ) // InternalSARL.g:12318: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" // InternalSARL.g:12324:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ; public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalSARL.g:12330:2: ( (kw= '+' | kw= '-' ) ) // InternalSARL.g:12331:2: (kw= '+' | kw= '-' ) { // InternalSARL.g:12331:2: (kw= '+' | kw= '-' ) int alt300=2; int LA300_0 = input.LA(1); if ( (LA300_0==114) ) { alt300=1; } else if ( (LA300_0==115) ) { alt300=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 300, 0, input); throw nvae; } switch (alt300) { case 1 : // InternalSARL.g:12332:3: kw= '+' { kw=(Token)match(input,114,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); } } break; case 2 : // InternalSARL.g:12338:3: kw= '-' { kw=(Token)match(input,115,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" // InternalSARL.g:12347:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ; public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXMultiplicativeExpression = null; try { // InternalSARL.g:12347:66: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ) // InternalSARL.g:12348: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" // InternalSARL.g:12354: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 { // InternalSARL.g:12360:2: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ) // InternalSARL.g:12361:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) { // InternalSARL.g:12361:2: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) // InternalSARL.g:12362:3: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); } pushFollow(FOLLOW_118); this_XUnaryOperation_0=ruleXUnaryOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XUnaryOperation_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:12370:3: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* loop301: do { int alt301=2; switch ( input.LA(1) ) { case 59: { int LA301_2 = input.LA(2); if ( (synpred33_InternalSARL()) ) { alt301=1; } } break; case 116: { int LA301_3 = input.LA(2); if ( (synpred33_InternalSARL()) ) { alt301=1; } } break; case 117: { int LA301_4 = input.LA(2); if ( (synpred33_InternalSARL()) ) { alt301=1; } } break; case 118: { int LA301_5 = input.LA(2); if ( (synpred33_InternalSARL()) ) { alt301=1; } } break; } switch (alt301) { case 1 : // InternalSARL.g:12371:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) { // InternalSARL.g:12371:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) // InternalSARL.g:12372:5: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) { // InternalSARL.g:12382:5: ( () ( ( ruleOpMulti ) ) ) // InternalSARL.g:12383:6: () ( ( ruleOpMulti ) ) { // InternalSARL.g:12383:6: () // InternalSARL.g:12384:7: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // InternalSARL.g:12390:6: ( ( ruleOpMulti ) ) // InternalSARL.g:12391:7: ( ruleOpMulti ) { // InternalSARL.g:12391:7: ( ruleOpMulti ) // InternalSARL.g:12392:8: 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_45); ruleOpMulti(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // InternalSARL.g:12408:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) // InternalSARL.g:12409:5: (lv_rightOperand_3_0= ruleXUnaryOperation ) { // InternalSARL.g:12409:5: (lv_rightOperand_3_0= ruleXUnaryOperation ) // InternalSARL.g:12410:6: lv_rightOperand_3_0= ruleXUnaryOperation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); } pushFollow(FOLLOW_118); 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 loop301; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXMultiplicativeExpression" // $ANTLR start "entryRuleOpMulti" // InternalSARL.g:12432:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ; public final String entryRuleOpMulti() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpMulti = null; try { // InternalSARL.g:12432:47: (iv_ruleOpMulti= ruleOpMulti EOF ) // InternalSARL.g:12433: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" // InternalSARL.g:12439: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 { // InternalSARL.g:12445:2: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ) // InternalSARL.g:12446:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) { // InternalSARL.g:12446:2: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) int alt302=4; switch ( input.LA(1) ) { case 59: { alt302=1; } break; case 116: { alt302=2; } break; case 117: { alt302=3; } break; case 118: { alt302=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 302, 0, input); throw nvae; } switch (alt302) { case 1 : // InternalSARL.g:12447:3: kw= '*' { kw=(Token)match(input,59,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); } } break; case 2 : // InternalSARL.g:12453:3: kw= '**' { kw=(Token)match(input,116,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); } } break; case 3 : // InternalSARL.g:12459:3: kw= '/' { kw=(Token)match(input,117,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); } } break; case 4 : // InternalSARL.g:12465:3: kw= '%' { kw=(Token)match(input,118,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" // InternalSARL.g:12474:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ; public final EObject entryRuleXUnaryOperation() throws RecognitionException { EObject current = null; EObject iv_ruleXUnaryOperation = null; try { // InternalSARL.g:12474:56: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ) // InternalSARL.g:12475: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" // InternalSARL.g:12481: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 { // InternalSARL.g:12487:2: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ) // InternalSARL.g:12488:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) { // InternalSARL.g:12488:2: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) int alt303=2; int LA303_0 = input.LA(1); if ( ((LA303_0>=114 && LA303_0<=115)||LA303_0==119) ) { alt303=1; } else if ( ((LA303_0>=RULE_ID && LA303_0<=RULE_RICH_TEXT_START)||(LA303_0>=RULE_HEX && LA303_0<=RULE_DECIMAL)||LA303_0==25||(LA303_0>=28 && LA303_0<=29)||LA303_0==36||(LA303_0>=39 && LA303_0<=40)||(LA303_0>=42 && LA303_0<=45)||(LA303_0>=48 && LA303_0<=49)||LA303_0==51||LA303_0==55||LA303_0==60||LA303_0==63||LA303_0==65||(LA303_0>=69 && LA303_0<=87)||LA303_0==95||LA303_0==125||(LA303_0>=128 && LA303_0<=137)) ) { alt303=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 303, 0, input); throw nvae; } switch (alt303) { case 1 : // InternalSARL.g:12489:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) { // InternalSARL.g:12489:3: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) // InternalSARL.g:12490:4: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) { // InternalSARL.g:12490:4: () // InternalSARL.g:12491:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(), current); } } // InternalSARL.g:12497:4: ( ( ruleOpUnary ) ) // InternalSARL.g:12498:5: ( ruleOpUnary ) { // InternalSARL.g:12498:5: ( ruleOpUnary ) // InternalSARL.g:12499:6: 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_45); ruleOpUnary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:12513:4: ( (lv_operand_2_0= ruleXUnaryOperation ) ) // InternalSARL.g:12514:5: (lv_operand_2_0= ruleXUnaryOperation ) { // InternalSARL.g:12514:5: (lv_operand_2_0= ruleXUnaryOperation ) // InternalSARL.g:12515:6: 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 : // InternalSARL.g:12534:3: 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" // InternalSARL.g:12546:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ; public final String entryRuleOpUnary() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpUnary = null; try { // InternalSARL.g:12546:47: (iv_ruleOpUnary= ruleOpUnary EOF ) // InternalSARL.g:12547: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" // InternalSARL.g:12553: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 { // InternalSARL.g:12559:2: ( (kw= '!' | kw= '-' | kw= '+' ) ) // InternalSARL.g:12560:2: (kw= '!' | kw= '-' | kw= '+' ) { // InternalSARL.g:12560:2: (kw= '!' | kw= '-' | kw= '+' ) int alt304=3; switch ( input.LA(1) ) { case 119: { alt304=1; } break; case 115: { alt304=2; } break; case 114: { alt304=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 304, 0, input); throw nvae; } switch (alt304) { case 1 : // InternalSARL.g:12561:3: kw= '!' { kw=(Token)match(input,119,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); } } break; case 2 : // InternalSARL.g:12567:3: kw= '-' { kw=(Token)match(input,115,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); } } break; case 3 : // InternalSARL.g:12573:3: kw= '+' { kw=(Token)match(input,114,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" // InternalSARL.g:12582:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ; public final EObject entryRuleXCastedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXCastedExpression = null; try { // InternalSARL.g:12582:58: (iv_ruleXCastedExpression= ruleXCastedExpression EOF ) // InternalSARL.g:12583: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" // InternalSARL.g:12589: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 { // InternalSARL.g:12595:2: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ) // InternalSARL.g:12596:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) { // InternalSARL.g:12596:2: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) // InternalSARL.g:12597:3: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); } pushFollow(FOLLOW_80); this_XPostfixOperation_0=ruleXPostfixOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XPostfixOperation_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:12605:3: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* loop305: do { int alt305=2; int LA305_0 = input.LA(1); if ( (LA305_0==64) ) { int LA305_2 = input.LA(2); if ( (synpred34_InternalSARL()) ) { alt305=1; } } switch (alt305) { case 1 : // InternalSARL.g:12606:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) { // InternalSARL.g:12606:4: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) // InternalSARL.g:12607:5: ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) { // InternalSARL.g:12613:5: ( () otherlv_2= 'as' ) // InternalSARL.g:12614:6: () otherlv_2= 'as' { // InternalSARL.g:12614:6: () // InternalSARL.g:12615:7: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(), current); } } otherlv_2=(Token)match(input,64,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); } } } // InternalSARL.g:12627:4: ( (lv_type_3_0= ruleJvmTypeReference ) ) // InternalSARL.g:12628:5: (lv_type_3_0= ruleJvmTypeReference ) { // InternalSARL.g:12628:5: (lv_type_3_0= ruleJvmTypeReference ) // InternalSARL.g:12629:6: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FOLLOW_80); 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 loop305; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXCastedExpression" // $ANTLR start "entryRuleXPostfixOperation" // InternalSARL.g:12651:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ; public final EObject entryRuleXPostfixOperation() throws RecognitionException { EObject current = null; EObject iv_ruleXPostfixOperation = null; try { // InternalSARL.g:12651:58: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ) // InternalSARL.g:12652: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" // InternalSARL.g:12658: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 { // InternalSARL.g:12664:2: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ) // InternalSARL.g:12665:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) { // InternalSARL.g:12665:2: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) // InternalSARL.g:12666:3: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); } pushFollow(FOLLOW_119); this_XMemberFeatureCall_0=ruleXMemberFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XMemberFeatureCall_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:12674:3: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? int alt306=2; int LA306_0 = input.LA(1); if ( (LA306_0==120) ) { int LA306_1 = input.LA(2); if ( (synpred35_InternalSARL()) ) { alt306=1; } } else if ( (LA306_0==121) ) { int LA306_2 = input.LA(2); if ( (synpred35_InternalSARL()) ) { alt306=1; } } switch (alt306) { case 1 : // InternalSARL.g:12675:4: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) { // InternalSARL.g:12685:4: ( () ( ( ruleOpPostfix ) ) ) // InternalSARL.g:12686:5: () ( ( ruleOpPostfix ) ) { // InternalSARL.g:12686:5: () // InternalSARL.g:12687:6: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(), current); } } // InternalSARL.g:12693:5: ( ( ruleOpPostfix ) ) // InternalSARL.g:12694:6: ( ruleOpPostfix ) { // InternalSARL.g:12694:6: ( ruleOpPostfix ) // InternalSARL.g:12695:7: 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" // InternalSARL.g:12715:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ; public final String entryRuleOpPostfix() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpPostfix = null; try { // InternalSARL.g:12715:49: (iv_ruleOpPostfix= ruleOpPostfix EOF ) // InternalSARL.g:12716: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" // InternalSARL.g:12722:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ; public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalSARL.g:12728:2: ( (kw= '++' | kw= '--' ) ) // InternalSARL.g:12729:2: (kw= '++' | kw= '--' ) { // InternalSARL.g:12729:2: (kw= '++' | kw= '--' ) int alt307=2; int LA307_0 = input.LA(1); if ( (LA307_0==120) ) { alt307=1; } else if ( (LA307_0==121) ) { alt307=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 307, 0, input); throw nvae; } switch (alt307) { case 1 : // InternalSARL.g:12730:3: kw= '++' { kw=(Token)match(input,120,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); } } break; case 2 : // InternalSARL.g:12736:3: kw= '--' { kw=(Token)match(input,121,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" // InternalSARL.g:12745:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ; public final EObject entryRuleXMemberFeatureCall() throws RecognitionException { EObject current = null; EObject iv_ruleXMemberFeatureCall = null; try { // InternalSARL.g:12745:59: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ) // InternalSARL.g:12746: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" // InternalSARL.g:12752: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 { // InternalSARL.g:12758:2: ( (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 ) )? ) )* ) ) // InternalSARL.g:12759:2: (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 ) )? ) )* ) { // InternalSARL.g:12759:2: (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 ) )? ) )* ) // InternalSARL.g:12760:3: 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_120); this_XPrimaryExpression_0=ruleXPrimaryExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XPrimaryExpression_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:12768:3: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( 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 ) )? ) )* loop316: do { int alt316=3; switch ( input.LA(1) ) { case 68: { int LA316_2 = input.LA(2); if ( (synpred36_InternalSARL()) ) { alt316=1; } else if ( (synpred37_InternalSARL()) ) { alt316=2; } } break; case 122: { int LA316_3 = input.LA(2); if ( (synpred36_InternalSARL()) ) { alt316=1; } else if ( (synpred37_InternalSARL()) ) { alt316=2; } } break; case 123: { int LA316_4 = input.LA(2); if ( (synpred37_InternalSARL()) ) { alt316=2; } } break; } switch (alt316) { case 1 : // InternalSARL.g:12769:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) { // InternalSARL.g:12769:4: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) // InternalSARL.g:12770:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) { // InternalSARL.g:12770:5: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) // InternalSARL.g:12771:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) { // InternalSARL.g:12791:6: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) // InternalSARL.g:12792:7: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign { // InternalSARL.g:12792:7: () // InternalSARL.g:12793:8: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(), current); } } // InternalSARL.g:12799:7: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) int alt308=2; int LA308_0 = input.LA(1); if ( (LA308_0==68) ) { alt308=1; } else if ( (LA308_0==122) ) { alt308=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 308, 0, input); throw nvae; } switch (alt308) { case 1 : // InternalSARL.g:12800:8: otherlv_2= '.' { otherlv_2=(Token)match(input,68,FOLLOW_121); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); } } break; case 2 : // InternalSARL.g:12805:8: ( (lv_explicitStatic_3_0= '::' ) ) { // InternalSARL.g:12805:8: ( (lv_explicitStatic_3_0= '::' ) ) // InternalSARL.g:12806:9: (lv_explicitStatic_3_0= '::' ) { // InternalSARL.g:12806:9: (lv_explicitStatic_3_0= '::' ) // InternalSARL.g:12807:10: lv_explicitStatic_3_0= '::' { lv_explicitStatic_3_0=(Token)match(input,122,FOLLOW_121); 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; } // InternalSARL.g:12820:7: ( ( ruleFeatureCallID ) ) // InternalSARL.g:12821:8: ( ruleFeatureCallID ) { // InternalSARL.g:12821:8: ( ruleFeatureCallID ) // InternalSARL.g:12822:9: 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_81); 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_45); ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:12845:5: ( (lv_value_6_0= ruleXAssignment ) ) // InternalSARL.g:12846:6: (lv_value_6_0= ruleXAssignment ) { // InternalSARL.g:12846:6: (lv_value_6_0= ruleXAssignment ) // InternalSARL.g:12847:7: lv_value_6_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); } pushFollow(FOLLOW_120); 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 : // InternalSARL.g:12866:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (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 ) )? ) { // InternalSARL.g:12866:4: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (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 ) )? ) // InternalSARL.g:12867:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (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 ) )? { // InternalSARL.g:12867:5: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) // InternalSARL.g:12868:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) { // InternalSARL.g:12888:6: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) // InternalSARL.g:12889:7: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) { // InternalSARL.g:12889:7: () // InternalSARL.g:12890:8: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), current); } } // InternalSARL.g:12896:7: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) int alt309=3; switch ( input.LA(1) ) { case 68: { alt309=1; } break; case 123: { alt309=2; } break; case 122: { alt309=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 309, 0, input); throw nvae; } switch (alt309) { case 1 : // InternalSARL.g:12897:8: otherlv_8= '.' { otherlv_8=(Token)match(input,68,FOLLOW_122); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); } } break; case 2 : // InternalSARL.g:12902:8: ( (lv_nullSafe_9_0= '?.' ) ) { // InternalSARL.g:12902:8: ( (lv_nullSafe_9_0= '?.' ) ) // InternalSARL.g:12903:9: (lv_nullSafe_9_0= '?.' ) { // InternalSARL.g:12903:9: (lv_nullSafe_9_0= '?.' ) // InternalSARL.g:12904:10: lv_nullSafe_9_0= '?.' { lv_nullSafe_9_0=(Token)match(input,123,FOLLOW_122); 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 : // InternalSARL.g:12917:8: ( (lv_explicitStatic_10_0= '::' ) ) { // InternalSARL.g:12917:8: ( (lv_explicitStatic_10_0= '::' ) ) // InternalSARL.g:12918:9: (lv_explicitStatic_10_0= '::' ) { // InternalSARL.g:12918:9: (lv_explicitStatic_10_0= '::' ) // InternalSARL.g:12919:10: lv_explicitStatic_10_0= '::' { lv_explicitStatic_10_0=(Token)match(input,122,FOLLOW_122); 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; } } } // InternalSARL.g:12934:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? int alt311=2; int LA311_0 = input.LA(1); if ( (LA311_0==40) ) { alt311=1; } switch (alt311) { case 1 : // InternalSARL.g:12935:6: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' { otherlv_11=(Token)match(input,40,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); } // InternalSARL.g:12939:6: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:12940:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:12940:7: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:12941:8: lv_typeArguments_12_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); } pushFollow(FOLLOW_28); 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(); } } } // InternalSARL.g:12958:6: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* loop310: do { int alt310=2; int LA310_0 = input.LA(1); if ( (LA310_0==32) ) { alt310=1; } switch (alt310) { case 1 : // InternalSARL.g:12959:7: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) { otherlv_13=(Token)match(input,32,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); } // InternalSARL.g:12963:7: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:12964:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:12964:8: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:12965:9: lv_typeArguments_14_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); } pushFollow(FOLLOW_28); 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 loop310; } } while (true); otherlv_15=(Token)match(input,41,FOLLOW_122); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); } } break; } // InternalSARL.g:12988:5: ( ( ruleIdOrSuper ) ) // InternalSARL.g:12989:6: ( ruleIdOrSuper ) { // InternalSARL.g:12989:6: ( ruleIdOrSuper ) // InternalSARL.g:12990:7: 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_123); ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:13004:5: ( ( ( ( '(' ) )=> (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 alt314=2; alt314 = dfa314.predict(input); switch (alt314) { case 1 : // InternalSARL.g:13005:6: ( ( ( '(' ) )=> (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= ')' { // InternalSARL.g:13005:6: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) // InternalSARL.g:13006:7: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) { // InternalSARL.g:13010:7: (lv_explicitOperationCall_17_0= '(' ) // InternalSARL.g:13011:8: lv_explicitOperationCall_17_0= '(' { lv_explicitOperationCall_17_0=(Token)match(input,49,FOLLOW_93); 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, "("); } } } // InternalSARL.g:13023:6: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? int alt313=3; alt313 = dfa313.predict(input); switch (alt313) { case 1 : // InternalSARL.g:13024:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) { // InternalSARL.g:13024:7: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) // InternalSARL.g:13025:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) { // InternalSARL.g:13050:8: (lv_memberCallArguments_18_0= ruleXShortClosure ) // InternalSARL.g:13051:9: lv_memberCallArguments_18_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); } pushFollow(FOLLOW_78); 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 : // InternalSARL.g:13069:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) { // InternalSARL.g:13069:7: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) // InternalSARL.g:13070:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* { // InternalSARL.g:13070:8: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) // InternalSARL.g:13071:9: (lv_memberCallArguments_19_0= ruleXExpression ) { // InternalSARL.g:13071:9: (lv_memberCallArguments_19_0= ruleXExpression ) // InternalSARL.g:13072:10: lv_memberCallArguments_19_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); } pushFollow(FOLLOW_51); 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(); } } } // InternalSARL.g:13089:8: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* loop312: do { int alt312=2; int LA312_0 = input.LA(1); if ( (LA312_0==32) ) { alt312=1; } switch (alt312) { case 1 : // InternalSARL.g:13090:9: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) { otherlv_20=(Token)match(input,32,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); } // InternalSARL.g:13094:9: ( (lv_memberCallArguments_21_0= ruleXExpression ) ) // InternalSARL.g:13095:10: (lv_memberCallArguments_21_0= ruleXExpression ) { // InternalSARL.g:13095:10: (lv_memberCallArguments_21_0= ruleXExpression ) // InternalSARL.g:13096:11: lv_memberCallArguments_21_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); } pushFollow(FOLLOW_51); 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 loop312; } } while (true); } } break; } otherlv_22=(Token)match(input,50,FOLLOW_124); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); } } break; } // InternalSARL.g:13121:5: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? int alt315=2; alt315 = dfa315.predict(input); switch (alt315) { case 1 : // InternalSARL.g:13122:6: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) { // InternalSARL.g:13128:6: (lv_memberCallArguments_23_0= ruleXClosure ) // InternalSARL.g:13129:7: lv_memberCallArguments_23_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); } pushFollow(FOLLOW_120); 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 loop316; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXMemberFeatureCall" // $ANTLR start "entryRuleXLiteral" // InternalSARL.g:13152:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ; public final EObject entryRuleXLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXLiteral = null; try { // InternalSARL.g:13152:49: (iv_ruleXLiteral= ruleXLiteral EOF ) // InternalSARL.g:13153: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" // InternalSARL.g:13159: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 { // InternalSARL.g:13165:2: ( (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 ) ) // InternalSARL.g:13166:2: (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 ) { // InternalSARL.g:13166:2: (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 alt317=7; int LA317_0 = input.LA(1); if ( (LA317_0==95) ) { alt317=1; } else if ( (LA317_0==55) && (synpred41_InternalSARL())) { alt317=2; } else if ( ((LA317_0>=131 && LA317_0<=132)) ) { alt317=3; } else if ( ((LA317_0>=RULE_HEX && LA317_0<=RULE_DECIMAL)) ) { alt317=4; } else if ( (LA317_0==133) ) { alt317=5; } else if ( ((LA317_0>=RULE_STRING && LA317_0<=RULE_RICH_TEXT_START)) ) { alt317=6; } else if ( (LA317_0==134) ) { alt317=7; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 317, 0, input); throw nvae; } switch (alt317) { case 1 : // InternalSARL.g:13167:3: 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 : // InternalSARL.g:13176:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) { // InternalSARL.g:13176:3: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) // InternalSARL.g:13177:4: ( ( () '[' ) )=>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 : // InternalSARL.g:13193:3: 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 : // InternalSARL.g:13202:3: 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 : // InternalSARL.g:13211:3: 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 : // InternalSARL.g:13220:3: 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 : // InternalSARL.g:13229:3: 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" // InternalSARL.g:13241:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ; public final EObject entryRuleXCollectionLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXCollectionLiteral = null; try { // InternalSARL.g:13241:59: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ) // InternalSARL.g:13242: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" // InternalSARL.g:13248: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 { // InternalSARL.g:13254:2: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ) // InternalSARL.g:13255:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) { // InternalSARL.g:13255:2: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) int alt318=2; int LA318_0 = input.LA(1); if ( (LA318_0==95) ) { int LA318_1 = input.LA(2); if ( (LA318_1==55) ) { alt318=2; } else if ( (LA318_1==29) ) { alt318=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 318, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 318, 0, input); throw nvae; } switch (alt318) { case 1 : // InternalSARL.g:13256:3: 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 : // InternalSARL.g:13265:3: 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" // InternalSARL.g:13277:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ; public final EObject entryRuleXSetLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXSetLiteral = null; try { // InternalSARL.g:13277:52: (iv_ruleXSetLiteral= ruleXSetLiteral EOF ) // InternalSARL.g:13278: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" // InternalSARL.g:13284: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 { // InternalSARL.g:13290:2: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ) // InternalSARL.g:13291:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) { // InternalSARL.g:13291:2: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) // InternalSARL.g:13292:3: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' { // InternalSARL.g:13292:3: () // InternalSARL.g:13293:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(), current); } } otherlv_1=(Token)match(input,95,FOLLOW_17); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); } otherlv_2=(Token)match(input,29,FOLLOW_125); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); } // InternalSARL.g:13307:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? int alt320=2; int LA320_0 = input.LA(1); if ( ((LA320_0>=RULE_ID && LA320_0<=RULE_RICH_TEXT_START)||(LA320_0>=RULE_HEX && LA320_0<=RULE_DECIMAL)||LA320_0==25||(LA320_0>=28 && LA320_0<=29)||LA320_0==36||(LA320_0>=39 && LA320_0<=40)||(LA320_0>=42 && LA320_0<=45)||(LA320_0>=48 && LA320_0<=49)||LA320_0==51||LA320_0==55||LA320_0==60||LA320_0==63||LA320_0==65||(LA320_0>=69 && LA320_0<=87)||LA320_0==95||(LA320_0>=114 && LA320_0<=115)||LA320_0==119||LA320_0==125||(LA320_0>=128 && LA320_0<=137)) ) { alt320=1; } switch (alt320) { case 1 : // InternalSARL.g:13308:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* { // InternalSARL.g:13308:4: ( (lv_elements_3_0= ruleXExpression ) ) // InternalSARL.g:13309:5: (lv_elements_3_0= ruleXExpression ) { // InternalSARL.g:13309:5: (lv_elements_3_0= ruleXExpression ) // InternalSARL.g:13310:6: lv_elements_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } pushFollow(FOLLOW_126); 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(); } } } // InternalSARL.g:13327:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* loop319: do { int alt319=2; int LA319_0 = input.LA(1); if ( (LA319_0==32) ) { alt319=1; } switch (alt319) { case 1 : // InternalSARL.g:13328:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,32,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); } // InternalSARL.g:13332:5: ( (lv_elements_5_0= ruleXExpression ) ) // InternalSARL.g:13333:6: (lv_elements_5_0= ruleXExpression ) { // InternalSARL.g:13333:6: (lv_elements_5_0= ruleXExpression ) // InternalSARL.g:13334:7: lv_elements_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } pushFollow(FOLLOW_126); 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 loop319; } } 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" // InternalSARL.g:13361:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ; public final EObject entryRuleXListLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXListLiteral = null; try { // InternalSARL.g:13361:53: (iv_ruleXListLiteral= ruleXListLiteral EOF ) // InternalSARL.g:13362: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" // InternalSARL.g:13368: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 { // InternalSARL.g:13374:2: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ) // InternalSARL.g:13375:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) { // InternalSARL.g:13375:2: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) // InternalSARL.g:13376:3: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' { // InternalSARL.g:13376:3: () // InternalSARL.g:13377:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(), current); } } otherlv_1=(Token)match(input,95,FOLLOW_86); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); } otherlv_2=(Token)match(input,55,FOLLOW_127); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); } // InternalSARL.g:13391:3: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? int alt322=2; int LA322_0 = input.LA(1); if ( ((LA322_0>=RULE_ID && LA322_0<=RULE_RICH_TEXT_START)||(LA322_0>=RULE_HEX && LA322_0<=RULE_DECIMAL)||LA322_0==25||(LA322_0>=28 && LA322_0<=29)||LA322_0==36||(LA322_0>=39 && LA322_0<=40)||(LA322_0>=42 && LA322_0<=45)||(LA322_0>=48 && LA322_0<=49)||LA322_0==51||LA322_0==55||LA322_0==60||LA322_0==63||LA322_0==65||(LA322_0>=69 && LA322_0<=87)||LA322_0==95||(LA322_0>=114 && LA322_0<=115)||LA322_0==119||LA322_0==125||(LA322_0>=128 && LA322_0<=137)) ) { alt322=1; } switch (alt322) { case 1 : // InternalSARL.g:13392:4: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* { // InternalSARL.g:13392:4: ( (lv_elements_3_0= ruleXExpression ) ) // InternalSARL.g:13393:5: (lv_elements_3_0= ruleXExpression ) { // InternalSARL.g:13393:5: (lv_elements_3_0= ruleXExpression ) // InternalSARL.g:13394:6: lv_elements_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } pushFollow(FOLLOW_104); 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(); } } } // InternalSARL.g:13411:4: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* loop321: do { int alt321=2; int LA321_0 = input.LA(1); if ( (LA321_0==32) ) { alt321=1; } switch (alt321) { case 1 : // InternalSARL.g:13412:5: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,32,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); } // InternalSARL.g:13416:5: ( (lv_elements_5_0= ruleXExpression ) ) // InternalSARL.g:13417:6: (lv_elements_5_0= ruleXExpression ) { // InternalSARL.g:13417:6: (lv_elements_5_0= ruleXExpression ) // InternalSARL.g:13418:7: lv_elements_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } pushFollow(FOLLOW_104); 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 loop321; } } while (true); } break; } otherlv_6=(Token)match(input,56,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" // InternalSARL.g:13445:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ; public final EObject entryRuleXClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXClosure = null; try { // InternalSARL.g:13445:49: (iv_ruleXClosure= ruleXClosure EOF ) // InternalSARL.g:13446: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" // InternalSARL.g:13452: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 { // InternalSARL.g:13458: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= ']' ) ) // InternalSARL.g:13459: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= ']' ) { // InternalSARL.g:13459: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= ']' ) // InternalSARL.g:13460:3: ( ( ( () '[' ) )=> ( () 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= ']' { // InternalSARL.g:13460:3: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) // InternalSARL.g:13461:4: ( ( () '[' ) )=> ( () otherlv_1= '[' ) { // InternalSARL.g:13467:4: ( () otherlv_1= '[' ) // InternalSARL.g:13468:5: () otherlv_1= '[' { // InternalSARL.g:13468:5: () // InternalSARL.g:13469:6: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(), current); } } otherlv_1=(Token)match(input,55,FOLLOW_128); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); } } } // InternalSARL.g:13481:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? int alt325=2; alt325 = dfa325.predict(input); switch (alt325) { case 1 : // InternalSARL.g:13482:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) { // InternalSARL.g:13505:4: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) // InternalSARL.g:13506:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) { // InternalSARL.g:13506:5: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? int alt324=2; int LA324_0 = input.LA(1); if ( (LA324_0==RULE_ID||(LA324_0>=44 && LA324_0<=45)||(LA324_0>=83 && LA324_0<=86)) ) { alt324=1; } switch (alt324) { case 1 : // InternalSARL.g:13507:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* { // InternalSARL.g:13507:6: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) // InternalSARL.g:13508:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) { // InternalSARL.g:13508:7: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) // InternalSARL.g:13509:8: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); } pushFollow(FOLLOW_129); 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, "io.sarl.lang.SARL.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:13526:6: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* loop323: do { int alt323=2; int LA323_0 = input.LA(1); if ( (LA323_0==32) ) { alt323=1; } switch (alt323) { case 1 : // InternalSARL.g:13527:7: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) { otherlv_3=(Token)match(input,32,FOLLOW_72); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); } // InternalSARL.g:13531:7: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) // InternalSARL.g:13532:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) { // InternalSARL.g:13532:8: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) // InternalSARL.g:13533:9: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); } pushFollow(FOLLOW_129); 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, "io.sarl.lang.SARL.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop323; } } while (true); } break; } // InternalSARL.g:13552:5: ( (lv_explicitSyntax_5_0= '|' ) ) // InternalSARL.g:13553:6: (lv_explicitSyntax_5_0= '|' ) { // InternalSARL.g:13553:6: (lv_explicitSyntax_5_0= '|' ) // InternalSARL.g:13554:7: lv_explicitSyntax_5_0= '|' { lv_explicitSyntax_5_0=(Token)match(input,124,FOLLOW_130); 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; } // InternalSARL.g:13568:3: ( (lv_expression_6_0= ruleXExpressionInClosure ) ) // InternalSARL.g:13569:4: (lv_expression_6_0= ruleXExpressionInClosure ) { // InternalSARL.g:13569:4: (lv_expression_6_0= ruleXExpressionInClosure ) // InternalSARL.g:13570:5: lv_expression_6_0= ruleXExpressionInClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); } pushFollow(FOLLOW_63); 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,56,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" // InternalSARL.g:13595:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ; public final EObject entryRuleXExpressionInClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXExpressionInClosure = null; try { // InternalSARL.g:13595:61: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ) // InternalSARL.g:13596: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" // InternalSARL.g:13602: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 { // InternalSARL.g:13608:2: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ) // InternalSARL.g:13609:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) { // InternalSARL.g:13609:2: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) // InternalSARL.g:13610:3: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* { // InternalSARL.g:13610:3: () // InternalSARL.g:13611:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(), current); } } // InternalSARL.g:13617:3: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* loop327: do { int alt327=2; int LA327_0 = input.LA(1); if ( ((LA327_0>=RULE_ID && LA327_0<=RULE_RICH_TEXT_START)||(LA327_0>=RULE_HEX && LA327_0<=RULE_DECIMAL)||LA327_0==25||(LA327_0>=28 && LA327_0<=29)||LA327_0==36||(LA327_0>=39 && LA327_0<=40)||(LA327_0>=42 && LA327_0<=45)||(LA327_0>=48 && LA327_0<=49)||LA327_0==51||LA327_0==55||(LA327_0>=60 && LA327_0<=63)||LA327_0==65||(LA327_0>=69 && LA327_0<=87)||LA327_0==95||(LA327_0>=114 && LA327_0<=115)||LA327_0==119||LA327_0==125||(LA327_0>=128 && LA327_0<=137)) ) { alt327=1; } switch (alt327) { case 1 : // InternalSARL.g:13618:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? { // InternalSARL.g:13618:4: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) // InternalSARL.g:13619:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) { // InternalSARL.g:13619:5: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) // InternalSARL.g:13620:6: lv_expressions_1_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); } pushFollow(FOLLOW_131); 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(); } } } // InternalSARL.g:13637:4: (otherlv_2= ';' )? int alt326=2; int LA326_0 = input.LA(1); if ( (LA326_0==26) ) { alt326=1; } switch (alt326) { case 1 : // InternalSARL.g:13638:5: otherlv_2= ';' { otherlv_2=(Token)match(input,26,FOLLOW_132); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); } } break; } } break; default : break loop327; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXExpressionInClosure" // $ANTLR start "entryRuleXShortClosure" // InternalSARL.g:13648:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ; public final EObject entryRuleXShortClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXShortClosure = null; try { // InternalSARL.g:13648:54: (iv_ruleXShortClosure= ruleXShortClosure EOF ) // InternalSARL.g:13649: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" // InternalSARL.g:13655: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 { // InternalSARL.g:13661:2: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ) // InternalSARL.g:13662:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) { // InternalSARL.g:13662:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) // InternalSARL.g:13663:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) { // InternalSARL.g:13663:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) // InternalSARL.g:13664:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) { // InternalSARL.g:13689:4: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) // InternalSARL.g:13690:5: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) { // InternalSARL.g:13690:5: () // InternalSARL.g:13691:6: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(), current); } } // InternalSARL.g:13697:5: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? int alt329=2; int LA329_0 = input.LA(1); if ( (LA329_0==RULE_ID||(LA329_0>=44 && LA329_0<=45)||(LA329_0>=83 && LA329_0<=86)) ) { alt329=1; } switch (alt329) { case 1 : // InternalSARL.g:13698:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* { // InternalSARL.g:13698:6: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) // InternalSARL.g:13699:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) { // InternalSARL.g:13699:7: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) // InternalSARL.g:13700:8: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); } pushFollow(FOLLOW_129); 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, "io.sarl.lang.SARL.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:13717:6: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* loop328: do { int alt328=2; int LA328_0 = input.LA(1); if ( (LA328_0==32) ) { alt328=1; } switch (alt328) { case 1 : // InternalSARL.g:13718:7: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) { otherlv_2=(Token)match(input,32,FOLLOW_72); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); } // InternalSARL.g:13722:7: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) // InternalSARL.g:13723:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) { // InternalSARL.g:13723:8: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) // InternalSARL.g:13724:9: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); } pushFollow(FOLLOW_129); 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, "io.sarl.lang.SARL.JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop328; } } while (true); } break; } // InternalSARL.g:13743:5: ( (lv_explicitSyntax_4_0= '|' ) ) // InternalSARL.g:13744:6: (lv_explicitSyntax_4_0= '|' ) { // InternalSARL.g:13744:6: (lv_explicitSyntax_4_0= '|' ) // InternalSARL.g:13745:7: lv_explicitSyntax_4_0= '|' { lv_explicitSyntax_4_0=(Token)match(input,124,FOLLOW_45); 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, "|"); } } } } } // InternalSARL.g:13759:3: ( (lv_expression_5_0= ruleXExpression ) ) // InternalSARL.g:13760:4: (lv_expression_5_0= ruleXExpression ) { // InternalSARL.g:13760:4: (lv_expression_5_0= ruleXExpression ) // InternalSARL.g:13761:5: 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" // InternalSARL.g:13782:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ; public final EObject entryRuleXParenthesizedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXParenthesizedExpression = null; try { // InternalSARL.g:13782:65: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ) // InternalSARL.g:13783: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" // InternalSARL.g:13789: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 { // InternalSARL.g:13795:2: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ) // InternalSARL.g:13796:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) { // InternalSARL.g:13796:2: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) // InternalSARL.g:13797:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' { otherlv_0=(Token)match(input,49,FOLLOW_45); 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_78); 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,50,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" // InternalSARL.g:13817:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ; public final EObject entryRuleXIfExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXIfExpression = null; try { // InternalSARL.g:13817:54: (iv_ruleXIfExpression= ruleXIfExpression EOF ) // InternalSARL.g:13818: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" // InternalSARL.g:13824: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 { // InternalSARL.g:13830: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 ) ) )? ) ) // InternalSARL.g:13831: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 ) ) )? ) { // InternalSARL.g:13831: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 ) ) )? ) // InternalSARL.g:13832:3: () 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 ) ) )? { // InternalSARL.g:13832:3: () // InternalSARL.g:13833:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(), current); } } otherlv_1=(Token)match(input,125,FOLLOW_77); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); } otherlv_2=(Token)match(input,49,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); } // InternalSARL.g:13847:3: ( (lv_if_3_0= ruleXExpression ) ) // InternalSARL.g:13848:4: (lv_if_3_0= ruleXExpression ) { // InternalSARL.g:13848:4: (lv_if_3_0= ruleXExpression ) // InternalSARL.g:13849:5: lv_if_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); } pushFollow(FOLLOW_78); 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,50,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); } // InternalSARL.g:13870:3: ( (lv_then_5_0= ruleXExpression ) ) // InternalSARL.g:13871:4: (lv_then_5_0= ruleXExpression ) { // InternalSARL.g:13871:4: (lv_then_5_0= ruleXExpression ) // InternalSARL.g:13872:5: lv_then_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); } pushFollow(FOLLOW_133); 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(); } } } // InternalSARL.g:13889:3: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? int alt330=2; int LA330_0 = input.LA(1); if ( (LA330_0==126) ) { int LA330_1 = input.LA(2); if ( (synpred45_InternalSARL()) ) { alt330=1; } } switch (alt330) { case 1 : // InternalSARL.g:13890:4: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) { // InternalSARL.g:13890:4: ( ( 'else' )=>otherlv_6= 'else' ) // InternalSARL.g:13891:5: ( 'else' )=>otherlv_6= 'else' { otherlv_6=(Token)match(input,126,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); } } // InternalSARL.g:13897:4: ( (lv_else_7_0= ruleXExpression ) ) // InternalSARL.g:13898:5: (lv_else_7_0= ruleXExpression ) { // InternalSARL.g:13898:5: (lv_else_7_0= ruleXExpression ) // InternalSARL.g:13899:6: 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 "entryRuleXCasePart" // InternalSARL.g:13921:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ; public final EObject entryRuleXCasePart() throws RecognitionException { EObject current = null; EObject iv_ruleXCasePart = null; try { // InternalSARL.g:13921:50: (iv_ruleXCasePart= ruleXCasePart EOF ) // InternalSARL.g:13922: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" // InternalSARL.g:13928: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 { // InternalSARL.g:13934: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= ',' ) ) ) ) ) // InternalSARL.g:13935: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= ',' ) ) ) ) { // InternalSARL.g:13935: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= ',' ) ) ) ) // InternalSARL.g:13936:3: () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) { // InternalSARL.g:13936:3: () // InternalSARL.g:13937:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXCasePartAccess().getXCasePartAction_0(), current); } } // InternalSARL.g:13943:3: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? int alt331=2; int LA331_0 = input.LA(1); if ( (LA331_0==RULE_ID||LA331_0==44||LA331_0==49||LA331_0==67||(LA331_0>=83 && LA331_0<=86)) ) { alt331=1; } switch (alt331) { case 1 : // InternalSARL.g:13944:4: (lv_typeGuard_1_0= ruleJvmTypeReference ) { // InternalSARL.g:13944:4: (lv_typeGuard_1_0= ruleJvmTypeReference ) // InternalSARL.g:13945:5: lv_typeGuard_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FOLLOW_134); 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; } // InternalSARL.g:13962:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? int alt332=2; int LA332_0 = input.LA(1); if ( (LA332_0==127) ) { alt332=1; } switch (alt332) { case 1 : // InternalSARL.g:13963:4: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) { otherlv_2=(Token)match(input,127,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); } // InternalSARL.g:13967:4: ( (lv_case_3_0= ruleXExpression ) ) // InternalSARL.g:13968:5: (lv_case_3_0= ruleXExpression ) { // InternalSARL.g:13968:5: (lv_case_3_0= ruleXExpression ) // InternalSARL.g:13969:6: lv_case_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); } pushFollow(FOLLOW_135); 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; } // InternalSARL.g:13987:3: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) int alt333=2; int LA333_0 = input.LA(1); if ( (LA333_0==46) ) { alt333=1; } else if ( (LA333_0==32) ) { alt333=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 333, 0, input); throw nvae; } switch (alt333) { case 1 : // InternalSARL.g:13988:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) { // InternalSARL.g:13988:4: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) // InternalSARL.g:13989:5: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,46,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); } // InternalSARL.g:13993:5: ( (lv_then_5_0= ruleXExpression ) ) // InternalSARL.g:13994:6: (lv_then_5_0= ruleXExpression ) { // InternalSARL.g:13994:6: (lv_then_5_0= ruleXExpression ) // InternalSARL.g:13995:7: 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 : // InternalSARL.g:14014:4: ( (lv_fallThrough_6_0= ',' ) ) { // InternalSARL.g:14014:4: ( (lv_fallThrough_6_0= ',' ) ) // InternalSARL.g:14015:5: (lv_fallThrough_6_0= ',' ) { // InternalSARL.g:14015:5: (lv_fallThrough_6_0= ',' ) // InternalSARL.g:14016:6: lv_fallThrough_6_0= ',' { lv_fallThrough_6_0=(Token)match(input,32,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 "entryRuleXBasicForLoopExpression" // InternalSARL.g:14033:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ; public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXBasicForLoopExpression = null; try { // InternalSARL.g:14033:64: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ) // InternalSARL.g:14034: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" // InternalSARL.g:14040: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 { // InternalSARL.g:14046: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 ) ) ) ) // InternalSARL.g:14047: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 ) ) ) { // InternalSARL.g:14047: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 ) ) ) // InternalSARL.g:14048:3: () 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 ) ) { // InternalSARL.g:14048:3: () // InternalSARL.g:14049:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(), current); } } otherlv_1=(Token)match(input,63,FOLLOW_77); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); } otherlv_2=(Token)match(input,49,FOLLOW_136); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); } // InternalSARL.g:14063:3: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? int alt335=2; int LA335_0 = input.LA(1); if ( ((LA335_0>=RULE_ID && LA335_0<=RULE_RICH_TEXT_START)||(LA335_0>=RULE_HEX && LA335_0<=RULE_DECIMAL)||LA335_0==25||(LA335_0>=28 && LA335_0<=29)||LA335_0==36||(LA335_0>=39 && LA335_0<=40)||(LA335_0>=42 && LA335_0<=45)||(LA335_0>=48 && LA335_0<=49)||LA335_0==51||LA335_0==55||(LA335_0>=60 && LA335_0<=63)||LA335_0==65||(LA335_0>=69 && LA335_0<=87)||LA335_0==95||(LA335_0>=114 && LA335_0<=115)||LA335_0==119||LA335_0==125||(LA335_0>=128 && LA335_0<=137)) ) { alt335=1; } switch (alt335) { case 1 : // InternalSARL.g:14064:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* { // InternalSARL.g:14064:4: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) // InternalSARL.g:14065:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) { // InternalSARL.g:14065:5: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) // InternalSARL.g:14066:6: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); } pushFollow(FOLLOW_137); 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(); } } } // InternalSARL.g:14083:4: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* loop334: do { int alt334=2; int LA334_0 = input.LA(1); if ( (LA334_0==32) ) { alt334=1; } switch (alt334) { case 1 : // InternalSARL.g:14084:5: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) { otherlv_4=(Token)match(input,32,FOLLOW_138); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); } // InternalSARL.g:14088:5: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) // InternalSARL.g:14089:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) { // InternalSARL.g:14089:6: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) // InternalSARL.g:14090:7: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); } pushFollow(FOLLOW_137); 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 loop334; } } while (true); } break; } otherlv_6=(Token)match(input,26,FOLLOW_79); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); } // InternalSARL.g:14113:3: ( (lv_expression_7_0= ruleXExpression ) )? int alt336=2; int LA336_0 = input.LA(1); if ( ((LA336_0>=RULE_ID && LA336_0<=RULE_RICH_TEXT_START)||(LA336_0>=RULE_HEX && LA336_0<=RULE_DECIMAL)||LA336_0==25||(LA336_0>=28 && LA336_0<=29)||LA336_0==36||(LA336_0>=39 && LA336_0<=40)||(LA336_0>=42 && LA336_0<=45)||(LA336_0>=48 && LA336_0<=49)||LA336_0==51||LA336_0==55||LA336_0==60||LA336_0==63||LA336_0==65||(LA336_0>=69 && LA336_0<=87)||LA336_0==95||(LA336_0>=114 && LA336_0<=115)||LA336_0==119||LA336_0==125||(LA336_0>=128 && LA336_0<=137)) ) { alt336=1; } switch (alt336) { case 1 : // InternalSARL.g:14114:4: (lv_expression_7_0= ruleXExpression ) { // InternalSARL.g:14114:4: (lv_expression_7_0= ruleXExpression ) // InternalSARL.g:14115:5: lv_expression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); } pushFollow(FOLLOW_139); 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,26,FOLLOW_140); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); } // InternalSARL.g:14136:3: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? int alt338=2; int LA338_0 = input.LA(1); if ( ((LA338_0>=RULE_ID && LA338_0<=RULE_RICH_TEXT_START)||(LA338_0>=RULE_HEX && LA338_0<=RULE_DECIMAL)||LA338_0==25||(LA338_0>=28 && LA338_0<=29)||LA338_0==36||(LA338_0>=39 && LA338_0<=40)||(LA338_0>=42 && LA338_0<=45)||(LA338_0>=48 && LA338_0<=49)||LA338_0==51||LA338_0==55||LA338_0==60||LA338_0==63||LA338_0==65||(LA338_0>=69 && LA338_0<=87)||LA338_0==95||(LA338_0>=114 && LA338_0<=115)||LA338_0==119||LA338_0==125||(LA338_0>=128 && LA338_0<=137)) ) { alt338=1; } switch (alt338) { case 1 : // InternalSARL.g:14137:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* { // InternalSARL.g:14137:4: ( (lv_updateExpressions_9_0= ruleXExpression ) ) // InternalSARL.g:14138:5: (lv_updateExpressions_9_0= ruleXExpression ) { // InternalSARL.g:14138:5: (lv_updateExpressions_9_0= ruleXExpression ) // InternalSARL.g:14139:6: lv_updateExpressions_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); } pushFollow(FOLLOW_51); 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(); } } } // InternalSARL.g:14156:4: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* loop337: do { int alt337=2; int LA337_0 = input.LA(1); if ( (LA337_0==32) ) { alt337=1; } switch (alt337) { case 1 : // InternalSARL.g:14157:5: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) { otherlv_10=(Token)match(input,32,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); } // InternalSARL.g:14161:5: ( (lv_updateExpressions_11_0= ruleXExpression ) ) // InternalSARL.g:14162:6: (lv_updateExpressions_11_0= ruleXExpression ) { // InternalSARL.g:14162:6: (lv_updateExpressions_11_0= ruleXExpression ) // InternalSARL.g:14163:7: lv_updateExpressions_11_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); } pushFollow(FOLLOW_51); 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 loop337; } } while (true); } break; } otherlv_12=(Token)match(input,50,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); } // InternalSARL.g:14186:3: ( (lv_eachExpression_13_0= ruleXExpression ) ) // InternalSARL.g:14187:4: (lv_eachExpression_13_0= ruleXExpression ) { // InternalSARL.g:14187:4: (lv_eachExpression_13_0= ruleXExpression ) // InternalSARL.g:14188:5: 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" // InternalSARL.g:14209:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ; public final EObject entryRuleXWhileExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXWhileExpression = null; try { // InternalSARL.g:14209:57: (iv_ruleXWhileExpression= ruleXWhileExpression EOF ) // InternalSARL.g:14210: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" // InternalSARL.g:14216: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 { // InternalSARL.g:14222:2: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ) // InternalSARL.g:14223:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) { // InternalSARL.g:14223:2: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) // InternalSARL.g:14224:3: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) { // InternalSARL.g:14224:3: () // InternalSARL.g:14225:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(), current); } } otherlv_1=(Token)match(input,128,FOLLOW_77); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); } otherlv_2=(Token)match(input,49,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); } // InternalSARL.g:14239:3: ( (lv_predicate_3_0= ruleXExpression ) ) // InternalSARL.g:14240:4: (lv_predicate_3_0= ruleXExpression ) { // InternalSARL.g:14240:4: (lv_predicate_3_0= ruleXExpression ) // InternalSARL.g:14241:5: lv_predicate_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); } pushFollow(FOLLOW_78); 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,50,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); } // InternalSARL.g:14262:3: ( (lv_body_5_0= ruleXExpression ) ) // InternalSARL.g:14263:4: (lv_body_5_0= ruleXExpression ) { // InternalSARL.g:14263:4: (lv_body_5_0= ruleXExpression ) // InternalSARL.g:14264:5: 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" // InternalSARL.g:14285:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ; public final EObject entryRuleXDoWhileExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXDoWhileExpression = null; try { // InternalSARL.g:14285:59: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ) // InternalSARL.g:14286: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" // InternalSARL.g:14292: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 { // InternalSARL.g:14298:2: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ) // InternalSARL.g:14299:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) { // InternalSARL.g:14299:2: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) // InternalSARL.g:14300:3: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' { // InternalSARL.g:14300:3: () // InternalSARL.g:14301:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(), current); } } otherlv_1=(Token)match(input,129,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); } // InternalSARL.g:14311:3: ( (lv_body_2_0= ruleXExpression ) ) // InternalSARL.g:14312:4: (lv_body_2_0= ruleXExpression ) { // InternalSARL.g:14312:4: (lv_body_2_0= ruleXExpression ) // InternalSARL.g:14313:5: lv_body_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); } pushFollow(FOLLOW_141); 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,128,FOLLOW_77); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); } otherlv_4=(Token)match(input,49,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); } // InternalSARL.g:14338:3: ( (lv_predicate_5_0= ruleXExpression ) ) // InternalSARL.g:14339:4: (lv_predicate_5_0= ruleXExpression ) { // InternalSARL.g:14339:4: (lv_predicate_5_0= ruleXExpression ) // InternalSARL.g:14340:5: lv_predicate_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); } pushFollow(FOLLOW_78); 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,50,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" // InternalSARL.g:14365:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ; public final EObject entryRuleXBlockExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXBlockExpression = null; try { // InternalSARL.g:14365:57: (iv_ruleXBlockExpression= ruleXBlockExpression EOF ) // InternalSARL.g:14366: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" // InternalSARL.g:14372: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 { // InternalSARL.g:14378:2: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ) // InternalSARL.g:14379:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) { // InternalSARL.g:14379:2: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) // InternalSARL.g:14380:3: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' { // InternalSARL.g:14380:3: () // InternalSARL.g:14381:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(), current); } } otherlv_1=(Token)match(input,29,FOLLOW_142); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); } // InternalSARL.g:14391:3: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* loop340: do { int alt340=2; int LA340_0 = input.LA(1); if ( ((LA340_0>=RULE_ID && LA340_0<=RULE_RICH_TEXT_START)||(LA340_0>=RULE_HEX && LA340_0<=RULE_DECIMAL)||LA340_0==25||(LA340_0>=28 && LA340_0<=29)||LA340_0==36||(LA340_0>=39 && LA340_0<=40)||(LA340_0>=42 && LA340_0<=45)||(LA340_0>=48 && LA340_0<=49)||LA340_0==51||LA340_0==55||(LA340_0>=60 && LA340_0<=63)||LA340_0==65||(LA340_0>=69 && LA340_0<=87)||LA340_0==95||(LA340_0>=114 && LA340_0<=115)||LA340_0==119||LA340_0==125||(LA340_0>=128 && LA340_0<=137)) ) { alt340=1; } switch (alt340) { case 1 : // InternalSARL.g:14392:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? { // InternalSARL.g:14392:4: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) // InternalSARL.g:14393:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) { // InternalSARL.g:14393:5: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) // InternalSARL.g:14394:6: lv_expressions_2_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); } pushFollow(FOLLOW_143); 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(); } } } // InternalSARL.g:14411:4: (otherlv_3= ';' )? int alt339=2; int LA339_0 = input.LA(1); if ( (LA339_0==26) ) { alt339=1; } switch (alt339) { case 1 : // InternalSARL.g:14412:5: otherlv_3= ';' { otherlv_3=(Token)match(input,26,FOLLOW_142); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); } } break; } } break; default : break loop340; } } 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" // InternalSARL.g:14426:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ; public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXExpressionOrVarDeclaration = null; try { // InternalSARL.g:14426:68: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ) // InternalSARL.g:14427: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" // InternalSARL.g:14433:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>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 { // InternalSARL.g:14439:2: ( ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration ) | this_XExpression_1= ruleXExpression ) ) // InternalSARL.g:14440:2: ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration ) | this_XExpression_1= ruleXExpression ) { // InternalSARL.g:14440:2: ( ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration ) | this_XExpression_1= ruleXExpression ) int alt341=2; int LA341_0 = input.LA(1); if ( (LA341_0==61) && (synpred46_InternalSARL())) { alt341=1; } else if ( (LA341_0==62) && (synpred46_InternalSARL())) { alt341=1; } else if ( (LA341_0==45) ) { switch ( input.LA(2) ) { case EOF: case RULE_ID: case RULE_STRING: case RULE_RICH_TEXT: case RULE_RICH_TEXT_START: case RULE_RICH_TEXT_INBETWEEN: case RULE_COMMENT_RICH_TEXT_INBETWEEN: case RULE_RICH_TEXT_END: case RULE_COMMENT_RICH_TEXT_END: case RULE_HEX: case RULE_INT: case RULE_DECIMAL: case 25: case 26: case 28: case 29: case 30: case 32: case 36: case 39: case 40: case 41: case 42: case 43: case 44: case 45: case 47: case 48: case 49: case 51: case 55: case 56: case 59: case 60: case 63: case 64: case 65: case 67: case 68: case 69: case 70: case 71: case 72: case 73: case 74: case 75: case 76: case 77: case 78: case 79: case 80: case 81: case 82: case 83: case 84: case 85: case 86: case 87: case 95: case 96: case 97: case 98: case 99: case 100: case 101: case 102: case 103: case 104: case 105: case 106: case 107: case 108: case 109: case 110: case 111: case 112: case 113: case 114: case 115: case 116: case 117: case 118: case 119: case 120: case 121: case 122: case 123: case 125: case 128: case 129: case 130: case 131: case 132: case 133: case 134: case 135: case 136: case 137: { alt341=2; } break; case 61: { int LA341_5 = input.LA(3); if ( (synpred46_InternalSARL()) ) { alt341=1; } else if ( (true) ) { alt341=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 341, 5, input); throw nvae; } } break; case 62: { int LA341_6 = input.LA(3); if ( (synpred46_InternalSARL()) ) { alt341=1; } else if ( (true) ) { alt341=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 341, 6, input); throw nvae; } } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 341, 3, input); throw nvae; } } else if ( ((LA341_0>=RULE_ID && LA341_0<=RULE_RICH_TEXT_START)||(LA341_0>=RULE_HEX && LA341_0<=RULE_DECIMAL)||LA341_0==25||(LA341_0>=28 && LA341_0<=29)||LA341_0==36||(LA341_0>=39 && LA341_0<=40)||(LA341_0>=42 && LA341_0<=44)||(LA341_0>=48 && LA341_0<=49)||LA341_0==51||LA341_0==55||LA341_0==60||LA341_0==63||LA341_0==65||(LA341_0>=69 && LA341_0<=87)||LA341_0==95||(LA341_0>=114 && LA341_0<=115)||LA341_0==119||LA341_0==125||(LA341_0>=128 && LA341_0<=137)) ) { alt341=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 341, 0, input); throw nvae; } switch (alt341) { case 1 : // InternalSARL.g:14441:3: ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration ) { // InternalSARL.g:14441:3: ( ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>this_XVariableDeclaration_0= ruleXVariableDeclaration ) // InternalSARL.g:14442:4: ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) )=>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 : // InternalSARL.g:14492:3: 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 "entryRuleXFeatureCall" // InternalSARL.g:14504:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ; public final EObject entryRuleXFeatureCall() throws RecognitionException { EObject current = null; EObject iv_ruleXFeatureCall = null; try { // InternalSARL.g:14504:53: (iv_ruleXFeatureCall= ruleXFeatureCall EOF ) // InternalSARL.g:14505: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" // InternalSARL.g:14511: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 { // InternalSARL.g:14517: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 ) )? ) ) // InternalSARL.g:14518: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 ) )? ) { // InternalSARL.g:14518: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 ) )? ) // InternalSARL.g:14519:3: () (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 ) )? { // InternalSARL.g:14519:3: () // InternalSARL.g:14520:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(), current); } } // InternalSARL.g:14526:3: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? int alt343=2; int LA343_0 = input.LA(1); if ( (LA343_0==40) ) { alt343=1; } switch (alt343) { case 1 : // InternalSARL.g:14527:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' { otherlv_1=(Token)match(input,40,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); } // InternalSARL.g:14531:4: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:14532:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:14532:5: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:14533:6: lv_typeArguments_2_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FOLLOW_28); 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(); } } } // InternalSARL.g:14550:4: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* loop342: do { int alt342=2; int LA342_0 = input.LA(1); if ( (LA342_0==32) ) { alt342=1; } switch (alt342) { case 1 : // InternalSARL.g:14551:5: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) { otherlv_3=(Token)match(input,32,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); } // InternalSARL.g:14555:5: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:14556:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:14556:6: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:14557:7: lv_typeArguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } pushFollow(FOLLOW_28); 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 loop342; } } while (true); otherlv_5=(Token)match(input,41,FOLLOW_122); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); } } break; } // InternalSARL.g:14580:3: ( ( ruleIdOrSuper ) ) // InternalSARL.g:14581:4: ( ruleIdOrSuper ) { // InternalSARL.g:14581:4: ( ruleIdOrSuper ) // InternalSARL.g:14582:5: ruleIdOrSuper { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXFeatureCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); } pushFollow(FOLLOW_92); ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:14596: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= ')' )? int alt346=2; alt346 = dfa346.predict(input); switch (alt346) { case 1 : // InternalSARL.g:14597:4: ( ( ( '(' ) )=> (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= ')' { // InternalSARL.g:14597:4: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) // InternalSARL.g:14598:5: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) { // InternalSARL.g:14602:5: (lv_explicitOperationCall_7_0= '(' ) // InternalSARL.g:14603:6: lv_explicitOperationCall_7_0= '(' { lv_explicitOperationCall_7_0=(Token)match(input,49,FOLLOW_93); 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, "("); } } } // InternalSARL.g:14615:4: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? int alt345=3; alt345 = dfa345.predict(input); switch (alt345) { case 1 : // InternalSARL.g:14616:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) { // InternalSARL.g:14616:5: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) // InternalSARL.g:14617:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) { // InternalSARL.g:14642:6: (lv_featureCallArguments_8_0= ruleXShortClosure ) // InternalSARL.g:14643:7: lv_featureCallArguments_8_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); } pushFollow(FOLLOW_78); 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 : // InternalSARL.g:14661:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) { // InternalSARL.g:14661:5: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) // InternalSARL.g:14662:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* { // InternalSARL.g:14662:6: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) // InternalSARL.g:14663:7: (lv_featureCallArguments_9_0= ruleXExpression ) { // InternalSARL.g:14663:7: (lv_featureCallArguments_9_0= ruleXExpression ) // InternalSARL.g:14664:8: lv_featureCallArguments_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); } pushFollow(FOLLOW_51); 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(); } } } // InternalSARL.g:14681:6: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* loop344: do { int alt344=2; int LA344_0 = input.LA(1); if ( (LA344_0==32) ) { alt344=1; } switch (alt344) { case 1 : // InternalSARL.g:14682:7: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) { otherlv_10=(Token)match(input,32,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); } // InternalSARL.g:14686:7: ( (lv_featureCallArguments_11_0= ruleXExpression ) ) // InternalSARL.g:14687:8: (lv_featureCallArguments_11_0= ruleXExpression ) { // InternalSARL.g:14687:8: (lv_featureCallArguments_11_0= ruleXExpression ) // InternalSARL.g:14688:9: lv_featureCallArguments_11_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); } pushFollow(FOLLOW_51); 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 loop344; } } while (true); } } break; } otherlv_12=(Token)match(input,50,FOLLOW_85); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); } } break; } // InternalSARL.g:14713:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? int alt347=2; alt347 = dfa347.predict(input); switch (alt347) { case 1 : // InternalSARL.g:14714:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) { // InternalSARL.g:14720:4: (lv_featureCallArguments_13_0= ruleXClosure ) // InternalSARL.g:14721:5: 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 "entryRuleIdOrSuper" // InternalSARL.g:14742:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ; public final String entryRuleIdOrSuper() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleIdOrSuper = null; try { // InternalSARL.g:14742:49: (iv_ruleIdOrSuper= ruleIdOrSuper EOF ) // InternalSARL.g:14743: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" // InternalSARL.g:14749: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 { // InternalSARL.g:14755:2: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ) // InternalSARL.g:14756:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) { // InternalSARL.g:14756:2: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) int alt348=2; int LA348_0 = input.LA(1); if ( (LA348_0==RULE_ID||LA348_0==25||LA348_0==28||LA348_0==36||LA348_0==39||(LA348_0>=42 && LA348_0<=45)||LA348_0==51||(LA348_0>=69 && LA348_0<=87)) ) { alt348=1; } else if ( (LA348_0==130) ) { alt348=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 348, 0, input); throw nvae; } switch (alt348) { case 1 : // InternalSARL.g:14757:3: 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 : // InternalSARL.g:14768:3: kw= 'super' { kw=(Token)match(input,130,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 "entryRuleXBooleanLiteral" // InternalSARL.g:14777:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ; public final EObject entryRuleXBooleanLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXBooleanLiteral = null; try { // InternalSARL.g:14777:56: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ) // InternalSARL.g:14778: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" // InternalSARL.g:14784: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 { // InternalSARL.g:14790:2: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ) // InternalSARL.g:14791:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) { // InternalSARL.g:14791:2: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) // InternalSARL.g:14792:3: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) { // InternalSARL.g:14792:3: () // InternalSARL.g:14793:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(), current); } } // InternalSARL.g:14799:3: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) int alt349=2; int LA349_0 = input.LA(1); if ( (LA349_0==131) ) { alt349=1; } else if ( (LA349_0==132) ) { alt349=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 349, 0, input); throw nvae; } switch (alt349) { case 1 : // InternalSARL.g:14800:4: otherlv_1= 'false' { otherlv_1=(Token)match(input,131,FOLLOW_2); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); } } break; case 2 : // InternalSARL.g:14805:4: ( (lv_isTrue_2_0= 'true' ) ) { // InternalSARL.g:14805:4: ( (lv_isTrue_2_0= 'true' ) ) // InternalSARL.g:14806:5: (lv_isTrue_2_0= 'true' ) { // InternalSARL.g:14806:5: (lv_isTrue_2_0= 'true' ) // InternalSARL.g:14807:6: lv_isTrue_2_0= 'true' { lv_isTrue_2_0=(Token)match(input,132,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" // InternalSARL.g:14824:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ; public final EObject entryRuleXNullLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXNullLiteral = null; try { // InternalSARL.g:14824:53: (iv_ruleXNullLiteral= ruleXNullLiteral EOF ) // InternalSARL.g:14825: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" // InternalSARL.g:14831:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ; public final EObject ruleXNullLiteral() throws RecognitionException { EObject current = null; Token otherlv_1=null; enterRule(); try { // InternalSARL.g:14837:2: ( ( () otherlv_1= 'null' ) ) // InternalSARL.g:14838:2: ( () otherlv_1= 'null' ) { // InternalSARL.g:14838:2: ( () otherlv_1= 'null' ) // InternalSARL.g:14839:3: () otherlv_1= 'null' { // InternalSARL.g:14839:3: () // InternalSARL.g:14840:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(), current); } } otherlv_1=(Token)match(input,133,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" // InternalSARL.g:14854:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ; public final EObject entryRuleXNumberLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXNumberLiteral = null; try { // InternalSARL.g:14854:55: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ) // InternalSARL.g:14855: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" // InternalSARL.g:14861: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 { // InternalSARL.g:14867:2: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) ) // InternalSARL.g:14868:2: ( () ( (lv_value_1_0= ruleNumber ) ) ) { // InternalSARL.g:14868:2: ( () ( (lv_value_1_0= ruleNumber ) ) ) // InternalSARL.g:14869:3: () ( (lv_value_1_0= ruleNumber ) ) { // InternalSARL.g:14869:3: () // InternalSARL.g:14870:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(), current); } } // InternalSARL.g:14876:3: ( (lv_value_1_0= ruleNumber ) ) // InternalSARL.g:14877:4: (lv_value_1_0= ruleNumber ) { // InternalSARL.g:14877:4: (lv_value_1_0= ruleNumber ) // InternalSARL.g:14878:5: 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 "entryRuleXTypeLiteral" // InternalSARL.g:14899:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ; public final EObject entryRuleXTypeLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXTypeLiteral = null; try { // InternalSARL.g:14899:53: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ) // InternalSARL.g:14900: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" // InternalSARL.g:14906: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 { // InternalSARL.g:14912:2: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ) // InternalSARL.g:14913:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) { // InternalSARL.g:14913:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) // InternalSARL.g:14914:3: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' { // InternalSARL.g:14914:3: () // InternalSARL.g:14915:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(), current); } } otherlv_1=(Token)match(input,134,FOLLOW_77); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); } otherlv_2=(Token)match(input,49,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); } // InternalSARL.g:14929:3: ( ( ruleQualifiedName ) ) // InternalSARL.g:14930:4: ( ruleQualifiedName ) { // InternalSARL.g:14930:4: ( ruleQualifiedName ) // InternalSARL.g:14931:5: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXTypeLiteralRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); } pushFollow(FOLLOW_144); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:14945:3: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* loop350: do { int alt350=2; int LA350_0 = input.LA(1); if ( (LA350_0==55) ) { alt350=1; } switch (alt350) { case 1 : // InternalSARL.g:14946:4: (lv_arrayDimensions_4_0= ruleArrayBrackets ) { // InternalSARL.g:14946:4: (lv_arrayDimensions_4_0= ruleArrayBrackets ) // InternalSARL.g:14947:5: lv_arrayDimensions_4_0= ruleArrayBrackets { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); } pushFollow(FOLLOW_144); 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 loop350; } } while (true); otherlv_5=(Token)match(input,50,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" // InternalSARL.g:14972:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ; public final EObject entryRuleXThrowExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXThrowExpression = null; try { // InternalSARL.g:14972:57: (iv_ruleXThrowExpression= ruleXThrowExpression EOF ) // InternalSARL.g:14973: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" // InternalSARL.g:14979: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 { // InternalSARL.g:14985:2: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ) // InternalSARL.g:14986:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) { // InternalSARL.g:14986:2: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) // InternalSARL.g:14987:3: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) { // InternalSARL.g:14987:3: () // InternalSARL.g:14988:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(), current); } } otherlv_1=(Token)match(input,135,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); } // InternalSARL.g:14998:3: ( (lv_expression_2_0= ruleXExpression ) ) // InternalSARL.g:14999:4: (lv_expression_2_0= ruleXExpression ) { // InternalSARL.g:14999:4: (lv_expression_2_0= ruleXExpression ) // InternalSARL.g:15000:5: 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" // InternalSARL.g:15021:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ; public final EObject entryRuleXReturnExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXReturnExpression = null; try { // InternalSARL.g:15021:58: (iv_ruleXReturnExpression= ruleXReturnExpression EOF ) // InternalSARL.g:15022: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" // InternalSARL.g:15028:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (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 { // InternalSARL.g:15034:2: ( ( () otherlv_1= 'return' ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )? ) ) // InternalSARL.g:15035:2: ( () otherlv_1= 'return' ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )? ) { // InternalSARL.g:15035:2: ( () otherlv_1= 'return' ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )? ) // InternalSARL.g:15036:3: () otherlv_1= 'return' ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )? { // InternalSARL.g:15036:3: () // InternalSARL.g:15037:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(), current); } } otherlv_1=(Token)match(input,136,FOLLOW_145); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); } // InternalSARL.g:15047:3: ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) )? int alt351=2; alt351 = dfa351.predict(input); switch (alt351) { case 1 : // InternalSARL.g:15048:4: ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (lv_expression_2_0= ruleXExpression ) { // InternalSARL.g:15049:4: (lv_expression_2_0= ruleXExpression ) // InternalSARL.g:15050:5: 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" // InternalSARL.g:15071:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ; public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXTryCatchFinallyExpression = null; try { // InternalSARL.g:15071:67: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ) // InternalSARL.g:15072: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" // InternalSARL.g:15078: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 { // InternalSARL.g:15084: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 ) ) ) ) ) ) // InternalSARL.g:15085: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 ) ) ) ) ) { // InternalSARL.g:15085: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 ) ) ) ) ) // InternalSARL.g:15086:3: () 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 ) ) ) ) { // InternalSARL.g:15086:3: () // InternalSARL.g:15087:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(), current); } } otherlv_1=(Token)match(input,137,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); } // InternalSARL.g:15097:3: ( (lv_expression_2_0= ruleXExpression ) ) // InternalSARL.g:15098:4: (lv_expression_2_0= ruleXExpression ) { // InternalSARL.g:15098:4: (lv_expression_2_0= ruleXExpression ) // InternalSARL.g:15099:5: lv_expression_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } pushFollow(FOLLOW_146); 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(); } } } // InternalSARL.g:15116:3: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) int alt354=2; int LA354_0 = input.LA(1); if ( (LA354_0==139) ) { alt354=1; } else if ( (LA354_0==138) ) { alt354=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 354, 0, input); throw nvae; } switch (alt354) { case 1 : // InternalSARL.g:15117:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) { // InternalSARL.g:15117:4: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) // InternalSARL.g:15118:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? { // InternalSARL.g:15118:5: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ int cnt352=0; loop352: do { int alt352=2; int LA352_0 = input.LA(1); if ( (LA352_0==139) ) { int LA352_2 = input.LA(2); if ( (synpred51_InternalSARL()) ) { alt352=1; } } switch (alt352) { case 1 : // InternalSARL.g:15119:6: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) { // InternalSARL.g:15120:6: (lv_catchClauses_3_0= ruleXCatchClause ) // InternalSARL.g:15121:7: lv_catchClauses_3_0= ruleXCatchClause { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); } pushFollow(FOLLOW_147); 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 ( cnt352 >= 1 ) break loop352; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(352, input); throw eee; } cnt352++; } while (true); // InternalSARL.g:15138:5: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? int alt353=2; int LA353_0 = input.LA(1); if ( (LA353_0==138) ) { int LA353_1 = input.LA(2); if ( (synpred52_InternalSARL()) ) { alt353=1; } } switch (alt353) { case 1 : // InternalSARL.g:15139:6: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) { // InternalSARL.g:15139:6: ( ( 'finally' )=>otherlv_4= 'finally' ) // InternalSARL.g:15140:7: ( 'finally' )=>otherlv_4= 'finally' { otherlv_4=(Token)match(input,138,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); } } // InternalSARL.g:15146:6: ( (lv_finallyExpression_5_0= ruleXExpression ) ) // InternalSARL.g:15147:7: (lv_finallyExpression_5_0= ruleXExpression ) { // InternalSARL.g:15147:7: (lv_finallyExpression_5_0= ruleXExpression ) // InternalSARL.g:15148:8: 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 : // InternalSARL.g:15168:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) { // InternalSARL.g:15168:4: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) // InternalSARL.g:15169:5: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) { otherlv_6=(Token)match(input,138,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); } // InternalSARL.g:15173:5: ( (lv_finallyExpression_7_0= ruleXExpression ) ) // InternalSARL.g:15174:6: (lv_finallyExpression_7_0= ruleXExpression ) { // InternalSARL.g:15174:6: (lv_finallyExpression_7_0= ruleXExpression ) // InternalSARL.g:15175:7: 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" // InternalSARL.g:15198:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ; public final EObject entryRuleXSynchronizedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXSynchronizedExpression = null; try { // InternalSARL.g:15198:64: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ) // InternalSARL.g:15199: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" // InternalSARL.g:15205: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 { // InternalSARL.g:15211:2: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ) // InternalSARL.g:15212:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) { // InternalSARL.g:15212:2: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) // InternalSARL.g:15213:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) { // InternalSARL.g:15213:3: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) // InternalSARL.g:15214:4: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) { // InternalSARL.g:15221:4: ( () otherlv_1= 'synchronized' otherlv_2= '(' ) // InternalSARL.g:15222:5: () otherlv_1= 'synchronized' otherlv_2= '(' { // InternalSARL.g:15222:5: () // InternalSARL.g:15223:6: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(), current); } } otherlv_1=(Token)match(input,79,FOLLOW_77); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); } otherlv_2=(Token)match(input,49,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } } } // InternalSARL.g:15239:3: ( (lv_param_3_0= ruleXExpression ) ) // InternalSARL.g:15240:4: (lv_param_3_0= ruleXExpression ) { // InternalSARL.g:15240:4: (lv_param_3_0= ruleXExpression ) // InternalSARL.g:15241:5: lv_param_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); } pushFollow(FOLLOW_78); 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,50,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); } // InternalSARL.g:15262:3: ( (lv_expression_5_0= ruleXExpression ) ) // InternalSARL.g:15263:4: (lv_expression_5_0= ruleXExpression ) { // InternalSARL.g:15263:4: (lv_expression_5_0= ruleXExpression ) // InternalSARL.g:15264:5: 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" // InternalSARL.g:15285:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ; public final EObject entryRuleXCatchClause() throws RecognitionException { EObject current = null; EObject iv_ruleXCatchClause = null; try { // InternalSARL.g:15285:53: (iv_ruleXCatchClause= ruleXCatchClause EOF ) // InternalSARL.g:15286: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" // InternalSARL.g:15292: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 { // InternalSARL.g:15298:2: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ) // InternalSARL.g:15299:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) { // InternalSARL.g:15299:2: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) // InternalSARL.g:15300:3: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) { // InternalSARL.g:15300:3: ( ( 'catch' )=>otherlv_0= 'catch' ) // InternalSARL.g:15301:4: ( 'catch' )=>otherlv_0= 'catch' { otherlv_0=(Token)match(input,139,FOLLOW_77); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); } } otherlv_1=(Token)match(input,49,FOLLOW_72); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); } // InternalSARL.g:15311:3: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) // InternalSARL.g:15312:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) { // InternalSARL.g:15312:4: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) // InternalSARL.g:15313:5: lv_declaredParam_2_0= ruleFullJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); } pushFollow(FOLLOW_78); 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, "io.sarl.lang.SARL.FullJvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,50,FOLLOW_45); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); } // InternalSARL.g:15334:3: ( (lv_expression_4_0= ruleXExpression ) ) // InternalSARL.g:15335:4: (lv_expression_4_0= ruleXExpression ) { // InternalSARL.g:15335:4: (lv_expression_4_0= ruleXExpression ) // InternalSARL.g:15336:5: 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" // InternalSARL.g:15357:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; public final String entryRuleQualifiedName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedName = null; try { // InternalSARL.g:15357:53: (iv_ruleQualifiedName= ruleQualifiedName EOF ) // InternalSARL.g:15358: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" // InternalSARL.g:15364: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 { // InternalSARL.g:15370:2: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ) // InternalSARL.g:15371:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) { // InternalSARL.g:15371:2: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) // InternalSARL.g:15372:3: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); } pushFollow(FOLLOW_89); 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(); } // InternalSARL.g:15382:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* loop355: do { int alt355=2; alt355 = dfa355.predict(input); switch (alt355) { case 1 : // InternalSARL.g:15383:4: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID { // InternalSARL.g:15383:4: ( ( '.' )=>kw= '.' ) // InternalSARL.g:15384:5: ( '.' )=>kw= '.' { kw=(Token)match(input,68,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_89); 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 loop355; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedName" // $ANTLR start "entryRuleNumber" // InternalSARL.g:15406: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 { // InternalSARL.g:15408:2: (iv_ruleNumber= ruleNumber EOF ) // InternalSARL.g:15409: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" // InternalSARL.g:15418: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 { // InternalSARL.g:15425:2: ( (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 ) )? ) ) ) // InternalSARL.g:15426:2: (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 ) )? ) ) { // InternalSARL.g:15426:2: (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 alt359=2; int LA359_0 = input.LA(1); if ( (LA359_0==RULE_HEX) ) { alt359=1; } else if ( ((LA359_0>=RULE_INT && LA359_0<=RULE_DECIMAL)) ) { alt359=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 359, 0, input); throw nvae; } switch (alt359) { case 1 : // InternalSARL.g:15427:3: 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 : // InternalSARL.g:15435:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) { // InternalSARL.g:15435:3: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) // InternalSARL.g:15436:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? { // InternalSARL.g:15436:4: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) int alt356=2; int LA356_0 = input.LA(1); if ( (LA356_0==RULE_INT) ) { alt356=1; } else if ( (LA356_0==RULE_DECIMAL) ) { alt356=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 356, 0, input); throw nvae; } switch (alt356) { case 1 : // InternalSARL.g:15437:5: this_INT_1= RULE_INT { this_INT_1=(Token)match(input,RULE_INT,FOLLOW_89); 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 : // InternalSARL.g:15445:5: this_DECIMAL_2= RULE_DECIMAL { this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FOLLOW_89); 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; } // InternalSARL.g:15453:4: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? int alt358=2; int LA358_0 = input.LA(1); if ( (LA358_0==68) ) { int LA358_1 = input.LA(2); if ( ((LA358_1>=RULE_INT && LA358_1<=RULE_DECIMAL)) ) { alt358=1; } } switch (alt358) { case 1 : // InternalSARL.g:15454:5: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) { kw=(Token)match(input,68,FOLLOW_148); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); } // InternalSARL.g:15459:5: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) int alt357=2; int LA357_0 = input.LA(1); if ( (LA357_0==RULE_INT) ) { alt357=1; } else if ( (LA357_0==RULE_DECIMAL) ) { alt357=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 357, 0, input); throw nvae; } switch (alt357) { case 1 : // InternalSARL.g:15460: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 : // InternalSARL.g:15468:6: 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" // InternalSARL.g:15485:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ; public final EObject entryRuleJvmTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmTypeReference = null; try { // InternalSARL.g:15485:57: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ) // InternalSARL.g:15486: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" // InternalSARL.g:15492: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 { // InternalSARL.g:15498:2: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ) // InternalSARL.g:15499:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) { // InternalSARL.g:15499:2: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) int alt361=2; int LA361_0 = input.LA(1); if ( (LA361_0==RULE_ID||LA361_0==44||(LA361_0>=83 && LA361_0<=86)) ) { alt361=1; } else if ( (LA361_0==49||LA361_0==67) ) { alt361=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 361, 0, input); throw nvae; } switch (alt361) { case 1 : // InternalSARL.g:15500:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) { // InternalSARL.g:15500:3: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) // InternalSARL.g:15501:4: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); } pushFollow(FOLLOW_85); this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_JvmParameterizedTypeReference_0; afterParserOrEnumRuleCall(); } // InternalSARL.g:15509:4: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* loop360: do { int alt360=2; int LA360_0 = input.LA(1); if ( (LA360_0==55) ) { int LA360_2 = input.LA(2); if ( (LA360_2==56) ) { int LA360_3 = input.LA(3); if ( (synpred56_InternalSARL()) ) { alt360=1; } } } switch (alt360) { case 1 : // InternalSARL.g:15510:5: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) { // InternalSARL.g:15516:5: ( () ruleArrayBrackets ) // InternalSARL.g:15517:6: () ruleArrayBrackets { // InternalSARL.g:15517:6: () // InternalSARL.g:15518:7: { 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_85); ruleArrayBrackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } break; default : break loop360; } } while (true); } } break; case 2 : // InternalSARL.g:15535:3: 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" // InternalSARL.g:15547:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ; public final String entryRuleArrayBrackets() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleArrayBrackets = null; try { // InternalSARL.g:15547:53: (iv_ruleArrayBrackets= ruleArrayBrackets EOF ) // InternalSARL.g:15548: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" // InternalSARL.g:15554:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ; public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // InternalSARL.g:15560:2: ( (kw= '[' kw= ']' ) ) // InternalSARL.g:15561:2: (kw= '[' kw= ']' ) { // InternalSARL.g:15561:2: (kw= '[' kw= ']' ) // InternalSARL.g:15562:3: kw= '[' kw= ']' { kw=(Token)match(input,55,FOLLOW_63); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); } kw=(Token)match(input,56,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" // InternalSARL.g:15576:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ; public final EObject entryRuleXFunctionTypeRef() throws RecognitionException { EObject current = null; EObject iv_ruleXFunctionTypeRef = null; try { // InternalSARL.g:15576:57: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ) // InternalSARL.g:15577: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" // InternalSARL.g:15583: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 { // InternalSARL.g:15589:2: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ) // InternalSARL.g:15590:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:15590:2: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:15591:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) { // InternalSARL.g:15591:3: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? int alt364=2; int LA364_0 = input.LA(1); if ( (LA364_0==49) ) { alt364=1; } switch (alt364) { case 1 : // InternalSARL.g:15592:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' { otherlv_0=(Token)match(input,49,FOLLOW_83); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); } // InternalSARL.g:15596:4: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? int alt363=2; int LA363_0 = input.LA(1); if ( (LA363_0==RULE_ID||LA363_0==44||LA363_0==49||LA363_0==67||(LA363_0>=83 && LA363_0<=86)) ) { alt363=1; } switch (alt363) { case 1 : // InternalSARL.g:15597:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* { // InternalSARL.g:15597:5: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) // InternalSARL.g:15598:6: (lv_paramTypes_1_0= ruleJvmTypeReference ) { // InternalSARL.g:15598:6: (lv_paramTypes_1_0= ruleJvmTypeReference ) // InternalSARL.g:15599:7: lv_paramTypes_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } pushFollow(FOLLOW_51); 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(); } } } // InternalSARL.g:15616:5: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* loop362: do { int alt362=2; int LA362_0 = input.LA(1); if ( (LA362_0==32) ) { alt362=1; } switch (alt362) { case 1 : // InternalSARL.g:15617:6: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) { otherlv_2=(Token)match(input,32,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); } // InternalSARL.g:15621:6: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) // InternalSARL.g:15622:7: (lv_paramTypes_3_0= ruleJvmTypeReference ) { // InternalSARL.g:15622:7: (lv_paramTypes_3_0= ruleJvmTypeReference ) // InternalSARL.g:15623:8: lv_paramTypes_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } pushFollow(FOLLOW_51); 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 loop362; } } while (true); } break; } otherlv_4=(Token)match(input,50,FOLLOW_84); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); } } break; } otherlv_5=(Token)match(input,67,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } // InternalSARL.g:15651:3: ( (lv_returnType_6_0= ruleJvmTypeReference ) ) // InternalSARL.g:15652:4: (lv_returnType_6_0= ruleJvmTypeReference ) { // InternalSARL.g:15652:4: (lv_returnType_6_0= ruleJvmTypeReference ) // InternalSARL.g:15653:5: 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" // InternalSARL.g:15674:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ; public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmParameterizedTypeReference = null; try { // InternalSARL.g:15674:70: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ) // InternalSARL.g:15675: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" // InternalSARL.g:15681: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 { // InternalSARL.g:15687: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= '>' )? )* )? ) ) // InternalSARL.g:15688: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= '>' )? )* )? ) { // InternalSARL.g:15688: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= '>' )? )* )? ) // InternalSARL.g:15689:3: ( ( 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= '>' )? )* )? { // InternalSARL.g:15689:3: ( ( ruleQualifiedName ) ) // InternalSARL.g:15690:4: ( ruleQualifiedName ) { // InternalSARL.g:15690:4: ( ruleQualifiedName ) // InternalSARL.g:15691:5: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); } pushFollow(FOLLOW_149); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:15705: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= '>' )? )* )? int alt369=2; alt369 = dfa369.predict(input); switch (alt369) { case 1 : // InternalSARL.g:15706:4: ( ( '<' )=>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= '>' )? )* { // InternalSARL.g:15706:4: ( ( '<' )=>otherlv_1= '<' ) // InternalSARL.g:15707:5: ( '<' )=>otherlv_1= '<' { otherlv_1=(Token)match(input,40,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); } } // InternalSARL.g:15713:4: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:15714:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:15714:5: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:15715:6: lv_arguments_2_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FOLLOW_28); 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(); } } } // InternalSARL.g:15732:4: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* loop365: do { int alt365=2; int LA365_0 = input.LA(1); if ( (LA365_0==32) ) { alt365=1; } switch (alt365) { case 1 : // InternalSARL.g:15733:5: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) { otherlv_3=(Token)match(input,32,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); } // InternalSARL.g:15737:5: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:15738:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:15738:6: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:15739:7: lv_arguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } pushFollow(FOLLOW_28); 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 loop365; } } while (true); otherlv_5=(Token)match(input,41,FOLLOW_89); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); } // InternalSARL.g:15761:4: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* loop368: do { int alt368=2; alt368 = dfa368.predict(input); switch (alt368) { case 1 : // InternalSARL.g:15762:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? { // InternalSARL.g:15762:5: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) // InternalSARL.g:15763:6: ( ( () '.' ) )=> ( () otherlv_7= '.' ) { // InternalSARL.g:15769:6: ( () otherlv_7= '.' ) // InternalSARL.g:15770:7: () otherlv_7= '.' { // InternalSARL.g:15770:7: () // InternalSARL.g:15771:8: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), current); } } otherlv_7=(Token)match(input,68,FOLLOW_3); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); } } } // InternalSARL.g:15783:5: ( ( ruleValidID ) ) // InternalSARL.g:15784:6: ( ruleValidID ) { // InternalSARL.g:15784:6: ( ruleValidID ) // InternalSARL.g:15785:7: 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_90); ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:15799:5: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? int alt367=2; alt367 = dfa367.predict(input); switch (alt367) { case 1 : // InternalSARL.g:15800:6: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' { // InternalSARL.g:15800:6: ( ( '<' )=>otherlv_9= '<' ) // InternalSARL.g:15801:7: ( '<' )=>otherlv_9= '<' { otherlv_9=(Token)match(input,40,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); } } // InternalSARL.g:15807:6: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:15808:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:15808:7: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:15809:8: lv_arguments_10_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } pushFollow(FOLLOW_28); 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(); } } } // InternalSARL.g:15826:6: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* loop366: do { int alt366=2; int LA366_0 = input.LA(1); if ( (LA366_0==32) ) { alt366=1; } switch (alt366) { case 1 : // InternalSARL.g:15827:7: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) { otherlv_11=(Token)match(input,32,FOLLOW_88); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); } // InternalSARL.g:15831:7: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) // InternalSARL.g:15832:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) { // InternalSARL.g:15832:8: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) // InternalSARL.g:15833:9: lv_arguments_12_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } pushFollow(FOLLOW_28); 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 loop366; } } while (true); otherlv_13=(Token)match(input,41,FOLLOW_89); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); } } break; } } break; default : break loop368; } } while (true); } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmParameterizedTypeReference" // $ANTLR start "entryRuleJvmArgumentTypeReference" // InternalSARL.g:15862:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ; public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmArgumentTypeReference = null; try { // InternalSARL.g:15862:65: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ) // InternalSARL.g:15863: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" // InternalSARL.g:15869: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 { // InternalSARL.g:15875:2: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ) // InternalSARL.g:15876:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) { // InternalSARL.g:15876:2: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) int alt370=2; int LA370_0 = input.LA(1); if ( (LA370_0==RULE_ID||LA370_0==44||LA370_0==49||LA370_0==67||(LA370_0>=83 && LA370_0<=86)) ) { alt370=1; } else if ( (LA370_0==140) ) { alt370=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 370, 0, input); throw nvae; } switch (alt370) { case 1 : // InternalSARL.g:15877:3: 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 : // InternalSARL.g:15886:3: 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" // InternalSARL.g:15898:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ; public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmWildcardTypeReference = null; try { // InternalSARL.g:15898:65: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ) // InternalSARL.g:15899: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" // InternalSARL.g:15905: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 { // InternalSARL.g:15911:2: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ) // InternalSARL.g:15912:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) { // InternalSARL.g:15912:2: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) // InternalSARL.g:15913:3: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? { // InternalSARL.g:15913:3: () // InternalSARL.g:15914:4: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(), current); } } otherlv_1=(Token)match(input,140,FOLLOW_150); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); } // InternalSARL.g:15924:3: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? int alt373=3; int LA373_0 = input.LA(1); if ( (LA373_0==28) ) { alt373=1; } else if ( (LA373_0==130) ) { alt373=2; } switch (alt373) { case 1 : // InternalSARL.g:15925:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) { // InternalSARL.g:15925:4: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) // InternalSARL.g:15926:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* { // InternalSARL.g:15926:5: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) // InternalSARL.g:15927:6: (lv_constraints_2_0= ruleJvmUpperBound ) { // InternalSARL.g:15927:6: (lv_constraints_2_0= ruleJvmUpperBound ) // InternalSARL.g:15928:7: lv_constraints_2_0= ruleJvmUpperBound { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); } pushFollow(FOLLOW_151); 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(); } } } // InternalSARL.g:15945:5: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* loop371: do { int alt371=2; int LA371_0 = input.LA(1); if ( (LA371_0==141) ) { alt371=1; } switch (alt371) { case 1 : // InternalSARL.g:15946:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) { // InternalSARL.g:15946:6: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) // InternalSARL.g:15947:7: lv_constraints_3_0= ruleJvmUpperBoundAnded { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); } pushFollow(FOLLOW_151); 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 loop371; } } while (true); } } break; case 2 : // InternalSARL.g:15966:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) { // InternalSARL.g:15966:4: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) // InternalSARL.g:15967:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* { // InternalSARL.g:15967:5: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) // InternalSARL.g:15968:6: (lv_constraints_4_0= ruleJvmLowerBound ) { // InternalSARL.g:15968:6: (lv_constraints_4_0= ruleJvmLowerBound ) // InternalSARL.g:15969:7: lv_constraints_4_0= ruleJvmLowerBound { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); } pushFollow(FOLLOW_151); 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(); } } } // InternalSARL.g:15986:5: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* loop372: do { int alt372=2; int LA372_0 = input.LA(1); if ( (LA372_0==141) ) { alt372=1; } switch (alt372) { case 1 : // InternalSARL.g:15987:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) { // InternalSARL.g:15987:6: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) // InternalSARL.g:15988:7: lv_constraints_5_0= ruleJvmLowerBoundAnded { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); } pushFollow(FOLLOW_151); 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 loop372; } } while (true); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmWildcardTypeReference" // $ANTLR start "entryRuleJvmUpperBound" // InternalSARL.g:16011:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ; public final EObject entryRuleJvmUpperBound() throws RecognitionException { EObject current = null; EObject iv_ruleJvmUpperBound = null; try { // InternalSARL.g:16011:54: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ) // InternalSARL.g:16012: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" // InternalSARL.g:16018: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 { // InternalSARL.g:16024:2: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalSARL.g:16025:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:16025:2: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:16026:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,28,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); } // InternalSARL.g:16030:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalSARL.g:16031:4: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalSARL.g:16031:4: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalSARL.g:16032:5: 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" // InternalSARL.g:16053:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ; public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException { EObject current = null; EObject iv_ruleJvmUpperBoundAnded = null; try { // InternalSARL.g:16053:59: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ) // InternalSARL.g:16054: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" // InternalSARL.g:16060: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 { // InternalSARL.g:16066:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalSARL.g:16067:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:16067:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:16068:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,141,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); } // InternalSARL.g:16072:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalSARL.g:16073:4: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalSARL.g:16073:4: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalSARL.g:16074:5: 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" // InternalSARL.g:16095:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ; public final EObject entryRuleJvmLowerBound() throws RecognitionException { EObject current = null; EObject iv_ruleJvmLowerBound = null; try { // InternalSARL.g:16095:54: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ) // InternalSARL.g:16096: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" // InternalSARL.g:16102: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 { // InternalSARL.g:16108:2: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalSARL.g:16109:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:16109:2: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:16110:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,130,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); } // InternalSARL.g:16114:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalSARL.g:16115:4: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalSARL.g:16115:4: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalSARL.g:16116:5: 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" // InternalSARL.g:16137:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ; public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException { EObject current = null; EObject iv_ruleJvmLowerBoundAnded = null; try { // InternalSARL.g:16137:59: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ) // InternalSARL.g:16138: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" // InternalSARL.g:16144: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 { // InternalSARL.g:16150:2: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // InternalSARL.g:16151:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // InternalSARL.g:16151:2: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // InternalSARL.g:16152:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,141,FOLLOW_41); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); } // InternalSARL.g:16156:3: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // InternalSARL.g:16157:4: (lv_typeReference_1_0= ruleJvmTypeReference ) { // InternalSARL.g:16157:4: (lv_typeReference_1_0= ruleJvmTypeReference ) // InternalSARL.g:16158:5: 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 "entryRuleJvmTypeParameter" // InternalSARL.g:16179:1: entryRuleJvmTypeParameter returns [EObject current=null] : iv_ruleJvmTypeParameter= ruleJvmTypeParameter EOF ; public final EObject entryRuleJvmTypeParameter() throws RecognitionException { EObject current = null; EObject iv_ruleJvmTypeParameter = null; try { // InternalSARL.g:16179:57: (iv_ruleJvmTypeParameter= ruleJvmTypeParameter EOF ) // InternalSARL.g:16180:2: iv_ruleJvmTypeParameter= ruleJvmTypeParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeParameterRule()); } pushFollow(FOLLOW_1); iv_ruleJvmTypeParameter=ruleJvmTypeParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmTypeParameter; } match(input,EOF,FOLLOW_2); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmTypeParameter" // $ANTLR start "ruleJvmTypeParameter" // InternalSARL.g:16186:1: ruleJvmTypeParameter returns [EObject current=null] : ( ( (lv_name_0_0= ruleValidID ) ) ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )? ) ; public final EObject ruleJvmTypeParameter() throws RecognitionException { EObject current = null; AntlrDatatypeRuleToken lv_name_0_0 = null; EObject lv_constraints_1_0 = null; EObject lv_constraints_2_0 = null; enterRule(); try { // InternalSARL.g:16192:2: ( ( ( (lv_name_0_0= ruleValidID ) ) ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )? ) ) // InternalSARL.g:16193:2: ( ( (lv_name_0_0= ruleValidID ) ) ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )? ) { // InternalSARL.g:16193:2: ( ( (lv_name_0_0= ruleValidID ) ) ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )? ) // InternalSARL.g:16194:3: ( (lv_name_0_0= ruleValidID ) ) ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )? { // InternalSARL.g:16194:3: ( (lv_name_0_0= ruleValidID ) ) // InternalSARL.g:16195:4: (lv_name_0_0= ruleValidID ) { // InternalSARL.g:16195:4: (lv_name_0_0= ruleValidID ) // InternalSARL.g:16196:5: lv_name_0_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeParameterAccess().getNameValidIDParserRuleCall_0_0()); } pushFollow(FOLLOW_152); lv_name_0_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmTypeParameterRule()); } set( current, "name", lv_name_0_0, "org.eclipse.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:16213:3: ( ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* )? int alt375=2; int LA375_0 = input.LA(1); if ( (LA375_0==28) ) { alt375=1; } switch (alt375) { case 1 : // InternalSARL.g:16214:4: ( (lv_constraints_1_0= ruleJvmUpperBound ) ) ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* { // InternalSARL.g:16214:4: ( (lv_constraints_1_0= ruleJvmUpperBound ) ) // InternalSARL.g:16215:5: (lv_constraints_1_0= ruleJvmUpperBound ) { // InternalSARL.g:16215:5: (lv_constraints_1_0= ruleJvmUpperBound ) // InternalSARL.g:16216:6: lv_constraints_1_0= ruleJvmUpperBound { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeParameterAccess().getConstraintsJvmUpperBoundParserRuleCall_1_0_0()); } pushFollow(FOLLOW_151); lv_constraints_1_0=ruleJvmUpperBound(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmTypeParameterRule()); } add( current, "constraints", lv_constraints_1_0, "org.eclipse.xtext.xbase.Xtype.JvmUpperBound"); afterParserOrEnumRuleCall(); } } } // InternalSARL.g:16233:4: ( (lv_constraints_2_0= ruleJvmUpperBoundAnded ) )* loop374: do { int alt374=2; int LA374_0 = input.LA(1); if ( (LA374_0==141) ) { alt374=1; } switch (alt374) { case 1 : // InternalSARL.g:16234:5: (lv_constraints_2_0= ruleJvmUpperBoundAnded ) { // InternalSARL.g:16234:5: (lv_constraints_2_0= ruleJvmUpperBoundAnded ) // InternalSARL.g:16235:6: lv_constraints_2_0= ruleJvmUpperBoundAnded { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeParameterAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_1_1_0()); } pushFollow(FOLLOW_151); lv_constraints_2_0=ruleJvmUpperBoundAnded(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmTypeParameterRule()); } add( current, "constraints", lv_constraints_2_0, "org.eclipse.xtext.xbase.Xtype.JvmUpperBoundAnded"); afterParserOrEnumRuleCall(); } } } break; default : break loop374; } } while (true); } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmTypeParameter" // $ANTLR start "entryRuleQualifiedNameWithWildcard" // InternalSARL.g:16257:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null; try { // InternalSARL.g:16257:65: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) // InternalSARL.g:16258: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" // InternalSARL.g:16264: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 { // InternalSARL.g:16270:2: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ) // InternalSARL.g:16271:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) { // InternalSARL.g:16271:2: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) // InternalSARL.g:16272:3: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } pushFollow(FOLLOW_153); 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,68,FOLLOW_154); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); } kw=(Token)match(input,59,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 "entryRuleXImportSection" // InternalSARL.g:16296:1: entryRuleXImportSection returns [EObject current=null] : iv_ruleXImportSection= ruleXImportSection EOF ; public final EObject entryRuleXImportSection() throws RecognitionException { EObject current = null; EObject iv_ruleXImportSection = null; try { // InternalSARL.g:16296:55: (iv_ruleXImportSection= ruleXImportSection EOF ) // InternalSARL.g:16297: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" // InternalSARL.g:16303: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 { // InternalSARL.g:16309:2: ( ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ ) // InternalSARL.g:16310:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ { // InternalSARL.g:16310:2: ( (lv_importDeclarations_0_0= ruleXImportDeclaration ) )+ int cnt376=0; loop376: do { int alt376=2; int LA376_0 = input.LA(1); if ( (LA376_0==87) ) { alt376=1; } switch (alt376) { case 1 : // InternalSARL.g:16311:3: (lv_importDeclarations_0_0= ruleXImportDeclaration ) { // InternalSARL.g:16311:3: (lv_importDeclarations_0_0= ruleXImportDeclaration ) // InternalSARL.g:16312:4: lv_importDeclarations_0_0= ruleXImportDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportSectionAccess().getImportDeclarationsXImportDeclarationParserRuleCall_0()); } pushFollow(FOLLOW_155); 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 ( cnt376 >= 1 ) break loop376; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(376, input); throw eee; } cnt376++; } while (true); } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXImportSection" // $ANTLR start "entryRuleXImportDeclaration" // InternalSARL.g:16332:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ; public final EObject entryRuleXImportDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXImportDeclaration = null; try { // InternalSARL.g:16332:59: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ) // InternalSARL.g:16333: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" // InternalSARL.g:16339: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 { // InternalSARL.g:16345:2: ( (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= ';' )? ) ) // InternalSARL.g:16346:2: (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= ';' )? ) { // InternalSARL.g:16346:2: (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= ';' )? ) // InternalSARL.g:16347: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,87,FOLLOW_156); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); } // InternalSARL.g:16351:3: ( ( ( (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 alt379=3; alt379 = dfa379.predict(input); switch (alt379) { case 1 : // InternalSARL.g:16352:4: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) { // InternalSARL.g:16352:4: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) // InternalSARL.g:16353:5: ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) { // InternalSARL.g:16353:5: ( (lv_static_1_0= 'static' ) ) // InternalSARL.g:16354:6: (lv_static_1_0= 'static' ) { // InternalSARL.g:16354:6: (lv_static_1_0= 'static' ) // InternalSARL.g:16355:7: lv_static_1_0= 'static' { lv_static_1_0=(Token)match(input,73,FOLLOW_72); 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"); } } } // InternalSARL.g:16367:5: ( (lv_extension_2_0= 'extension' ) )? int alt377=2; int LA377_0 = input.LA(1); if ( (LA377_0==45) ) { alt377=1; } switch (alt377) { case 1 : // InternalSARL.g:16368:6: (lv_extension_2_0= 'extension' ) { // InternalSARL.g:16368:6: (lv_extension_2_0= 'extension' ) // InternalSARL.g:16369:7: lv_extension_2_0= 'extension' { lv_extension_2_0=(Token)match(input,45,FOLLOW_72); 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; } // InternalSARL.g:16381:5: ( ( ruleQualifiedNameInStaticImport ) ) // InternalSARL.g:16382:6: ( ruleQualifiedNameInStaticImport ) { // InternalSARL.g:16382:6: ( ruleQualifiedNameInStaticImport ) // InternalSARL.g:16383:7: 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_157); ruleQualifiedNameInStaticImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // InternalSARL.g:16397:5: ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) int alt378=2; int LA378_0 = input.LA(1); if ( (LA378_0==59) ) { alt378=1; } else if ( (LA378_0==RULE_ID||LA378_0==44||(LA378_0>=83 && LA378_0<=86)) ) { alt378=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 378, 0, input); throw nvae; } switch (alt378) { case 1 : // InternalSARL.g:16398:6: ( (lv_wildcard_4_0= '*' ) ) { // InternalSARL.g:16398:6: ( (lv_wildcard_4_0= '*' ) ) // InternalSARL.g:16399:7: (lv_wildcard_4_0= '*' ) { // InternalSARL.g:16399:7: (lv_wildcard_4_0= '*' ) // InternalSARL.g:16400:8: lv_wildcard_4_0= '*' { lv_wildcard_4_0=(Token)match(input,59,FOLLOW_46); 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 : // InternalSARL.g:16413:6: ( (lv_memberName_5_0= ruleValidID ) ) { // InternalSARL.g:16413:6: ( (lv_memberName_5_0= ruleValidID ) ) // InternalSARL.g:16414:7: (lv_memberName_5_0= ruleValidID ) { // InternalSARL.g:16414:7: (lv_memberName_5_0= ruleValidID ) // InternalSARL.g:16415:8: lv_memberName_5_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); } pushFollow(FOLLOW_46); 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.xtend.core.Xtend.ValidID"); afterParserOrEnumRuleCall(); } } } } break; } } } break; case 2 : // InternalSARL.g:16435:4: ( ( ruleQualifiedName ) ) { // InternalSARL.g:16435:4: ( ( ruleQualifiedName ) ) // InternalSARL.g:16436:5: ( ruleQualifiedName ) { // InternalSARL.g:16436:5: ( ruleQualifiedName ) // InternalSARL.g:16437:6: 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_46); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; case 3 : // InternalSARL.g:16452:4: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) { // InternalSARL.g:16452:4: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) // InternalSARL.g:16453:5: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) { // InternalSARL.g:16453:5: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) // InternalSARL.g:16454:6: lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); } pushFollow(FOLLOW_46); 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; } // InternalSARL.g:16472:3: (otherlv_8= ';' )? int alt380=2; int LA380_0 = input.LA(1); if ( (LA380_0==26) ) { alt380=1; } switch (alt380) { case 1 : // InternalSARL.g:16473:4: otherlv_8= ';' { otherlv_8=(Token)match(input,26,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" // InternalSARL.g:16482:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ; public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null; try { // InternalSARL.g:16482:67: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ) // InternalSARL.g:16483: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" // InternalSARL.g:16489: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 { // InternalSARL.g:16495:2: ( (this_ValidID_0= ruleValidID kw= '.' )+ ) // InternalSARL.g:16496:2: (this_ValidID_0= ruleValidID kw= '.' )+ { // InternalSARL.g:16496:2: (this_ValidID_0= ruleValidID kw= '.' )+ int cnt381=0; loop381: do { int alt381=2; switch ( input.LA(1) ) { case RULE_ID: { int LA381_2 = input.LA(2); if ( (LA381_2==68) ) { alt381=1; } } break; case 83: { int LA381_3 = input.LA(2); if ( (LA381_3==68) ) { alt381=1; } } break; case 44: { int LA381_4 = input.LA(2); if ( (LA381_4==68) ) { alt381=1; } } break; case 84: { int LA381_5 = input.LA(2); if ( (LA381_5==68) ) { alt381=1; } } break; case 85: { int LA381_6 = input.LA(2); if ( (LA381_6==68) ) { alt381=1; } } break; case 86: { int LA381_7 = input.LA(2); if ( (LA381_7==68) ) { alt381=1; } } break; } switch (alt381) { case 1 : // InternalSARL.g:16497:3: this_ValidID_0= ruleValidID kw= '.' { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); } pushFollow(FOLLOW_153); 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,68,FOLLOW_158); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); } } break; default : if ( cnt381 >= 1 ) break loop381; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(381, input); throw eee; } cnt381++; } while (true); } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedNameInStaticImport" // $ANTLR start synpred1_InternalSARL public final void synpred1_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:7522:4: ( ( () 'synchronized' '(' ) ) // InternalSARL.g:7522:5: ( () 'synchronized' '(' ) { // InternalSARL.g:7522:5: ( () 'synchronized' '(' ) // InternalSARL.g:7523:5: () 'synchronized' '(' { // InternalSARL.g:7523:5: () // InternalSARL.g:7524:5: { } match(input,79,FOLLOW_77); if (state.failed) return ; match(input,49,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred1_InternalSARL // $ANTLR start synpred2_InternalSARL public final void synpred2_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:7567:4: ( ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) ) // InternalSARL.g:7567:5: ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) { // InternalSARL.g:7567:5: ( () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) // InternalSARL.g:7568:5: () 'for' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' { // InternalSARL.g:7568:5: () // InternalSARL.g:7569:5: { } match(input,63,FOLLOW_77); if (state.failed) return ; match(input,49,FOLLOW_72); if (state.failed) return ; // InternalSARL.g:7572:5: ( ( ruleSarlXLoopFormalParameter ) ) // InternalSARL.g:7573:6: ( ruleSarlXLoopFormalParameter ) { // InternalSARL.g:7573:6: ( ruleSarlXLoopFormalParameter ) // InternalSARL.g:7574:7: ruleSarlXLoopFormalParameter { pushFollow(FOLLOW_40); ruleSarlXLoopFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,46,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred2_InternalSARL // $ANTLR start synpred4_InternalSARL public final void synpred4_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:7931:5: ( ':' ) // InternalSARL.g:7931:6: ':' { match(input,46,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred4_InternalSARL // $ANTLR start synpred6_InternalSARL public final void synpred6_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:8272:6: ( ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) ) // InternalSARL.g:8272:7: ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) { // InternalSARL.g:8272:7: ( '(' ( ( ruleJvmFormalParameter ) ) '=' ) // InternalSARL.g:8273:7: '(' ( ( ruleJvmFormalParameter ) ) '=' { match(input,49,FOLLOW_72); if (state.failed) return ; // InternalSARL.g:8274:7: ( ( ruleJvmFormalParameter ) ) // InternalSARL.g:8275:8: ( ruleJvmFormalParameter ) { // InternalSARL.g:8275:8: ( ruleJvmFormalParameter ) // InternalSARL.g:8276:9: ruleJvmFormalParameter { pushFollow(FOLLOW_81); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,47,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred6_InternalSARL // $ANTLR start synpred7_InternalSARL public final void synpred7_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:8339:6: ( ( ( ( ruleJvmFormalParameter ) ) '=' ) ) // InternalSARL.g:8339:7: ( ( ( ruleJvmFormalParameter ) ) '=' ) { // InternalSARL.g:8339:7: ( ( ( ruleJvmFormalParameter ) ) '=' ) // InternalSARL.g:8340:7: ( ( ruleJvmFormalParameter ) ) '=' { // InternalSARL.g:8340:7: ( ( ruleJvmFormalParameter ) ) // InternalSARL.g:8341:8: ( ruleJvmFormalParameter ) { // InternalSARL.g:8341:8: ( ruleJvmFormalParameter ) // InternalSARL.g:8342:9: ruleJvmFormalParameter { pushFollow(FOLLOW_81); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,47,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred7_InternalSARL // $ANTLR start synpred8_InternalSARL public final void synpred8_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:8621:5: ( ( () ruleArrayBrackets ) ) // InternalSARL.g:8621:6: ( () ruleArrayBrackets ) { // InternalSARL.g:8621:6: ( () ruleArrayBrackets ) // InternalSARL.g:8622:6: () ruleArrayBrackets { // InternalSARL.g:8622:6: () // InternalSARL.g:8623:6: { } pushFollow(FOLLOW_2); ruleArrayBrackets(); state._fsp--; if (state.failed) return ; } } } // $ANTLR end synpred8_InternalSARL // $ANTLR start synpred9_InternalSARL public final void synpred9_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:8656:5: ( ( () ruleArrayBrackets ) ) // InternalSARL.g:8656:6: ( () ruleArrayBrackets ) { // InternalSARL.g:8656:6: ( () ruleArrayBrackets ) // InternalSARL.g:8657:6: () ruleArrayBrackets { // InternalSARL.g:8657:6: () // InternalSARL.g:8658:6: { } pushFollow(FOLLOW_2); ruleArrayBrackets(); state._fsp--; if (state.failed) return ; } } } // $ANTLR end synpred9_InternalSARL // $ANTLR start synpred10_InternalSARL public final void synpred10_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:8779:6: ( ( () '.' ) ) // InternalSARL.g:8779:7: ( () '.' ) { // InternalSARL.g:8779:7: ( () '.' ) // InternalSARL.g:8780:7: () '.' { // InternalSARL.g:8780:7: () // InternalSARL.g:8781:7: { } match(input,68,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred10_InternalSARL // $ANTLR start synpred11_InternalSARL public final void synpred11_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:8817:7: ( '<' ) // InternalSARL.g:8817:8: '<' { match(input,40,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred11_InternalSARL // $ANTLR start synpred12_InternalSARL public final void synpred12_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:9495:5: ( ( () '{' ) ) // InternalSARL.g:9495:6: ( () '{' ) { // InternalSARL.g:9495:6: ( () '{' ) // InternalSARL.g:9496:6: () '{' { // InternalSARL.g:9496:6: () // InternalSARL.g:9497:6: { } match(input,29,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred12_InternalSARL // $ANTLR start synpred13_InternalSARL public final void synpred13_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:9587:5: ( '<' ) // InternalSARL.g:9587:6: '<' { match(input,40,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred13_InternalSARL // $ANTLR start synpred14_InternalSARL public final void synpred14_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:9644:5: ( ( '(' ) ) // InternalSARL.g:9644:6: ( '(' ) { // InternalSARL.g:9644:6: ( '(' ) // InternalSARL.g:9645:6: '(' { match(input,49,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred14_InternalSARL // $ANTLR start synpred15_InternalSARL public final void synpred15_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:9663:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalSARL.g:9663:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalSARL.g:9663:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalSARL.g:9664:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalSARL.g:9664:7: () // InternalSARL.g:9665:7: { } // InternalSARL.g:9666:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt387=2; int LA387_0 = input.LA(1); if ( (LA387_0==RULE_ID||(LA387_0>=44 && LA387_0<=45)||(LA387_0>=83 && LA387_0<=86)) ) { alt387=1; } switch (alt387) { case 1 : // InternalSARL.g:9667:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalSARL.g:9667:8: ( ( ruleJvmFormalParameter ) ) // InternalSARL.g:9668:9: ( ruleJvmFormalParameter ) { // InternalSARL.g:9668:9: ( ruleJvmFormalParameter ) // InternalSARL.g:9669:10: ruleJvmFormalParameter { pushFollow(FOLLOW_129); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalSARL.g:9672:8: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop386: do { int alt386=2; int LA386_0 = input.LA(1); if ( (LA386_0==32) ) { alt386=1; } switch (alt386) { case 1 : // InternalSARL.g:9673:9: ',' ( ( ruleJvmFormalParameter ) ) { match(input,32,FOLLOW_72); if (state.failed) return ; // InternalSARL.g:9674:9: ( ( ruleJvmFormalParameter ) ) // InternalSARL.g:9675:10: ( ruleJvmFormalParameter ) { // InternalSARL.g:9675:10: ( ruleJvmFormalParameter ) // InternalSARL.g:9676:11: ruleJvmFormalParameter { pushFollow(FOLLOW_129); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop386; } } while (true); } break; } // InternalSARL.g:9681:7: ( ( '|' ) ) // InternalSARL.g:9682:8: ( '|' ) { // InternalSARL.g:9682:8: ( '|' ) // InternalSARL.g:9683:9: '|' { match(input,124,FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred15_InternalSARL // $ANTLR start synpred16_InternalSARL public final void synpred16_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:9760:4: ( ( () '[' ) ) // InternalSARL.g:9760:5: ( () '[' ) { // InternalSARL.g:9760:5: ( () '[' ) // InternalSARL.g:9761:5: () '[' { // InternalSARL.g:9761:5: () // InternalSARL.g:9762:5: { } match(input,55,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred16_InternalSARL // $ANTLR start synpred17_InternalSARL public final void synpred17_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:10756:5: ( '(' ) // InternalSARL.g:10756:6: '(' { match(input,49,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred17_InternalSARL // $ANTLR start synpred18_InternalSARL public final void synpred18_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:10765:7: ( ( ( ( ruleValidID ) ) '=' ) ) // InternalSARL.g:10765:8: ( ( ( ruleValidID ) ) '=' ) { // InternalSARL.g:10765:8: ( ( ( ruleValidID ) ) '=' ) // InternalSARL.g:10766:8: ( ( ruleValidID ) ) '=' { // InternalSARL.g:10766:8: ( ( ruleValidID ) ) // InternalSARL.g:10767:9: ( ruleValidID ) { // InternalSARL.g:10767:9: ( ruleValidID ) // InternalSARL.g:10768:10: ruleValidID { pushFollow(FOLLOW_81); ruleValidID(); state._fsp--; if (state.failed) return ; } } match(input,47,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred18_InternalSARL // $ANTLR start synpred21_InternalSARL public final void synpred21_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:10945:5: ( ( () '#' '[' ) ) // InternalSARL.g:10945:6: ( () '#' '[' ) { // InternalSARL.g:10945:6: ( () '#' '[' ) // InternalSARL.g:10946:6: () '#' '[' { // InternalSARL.g:10946:6: () // InternalSARL.g:10947:6: { } match(input,95,FOLLOW_86); if (state.failed) return ; match(input,55,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred21_InternalSARL // $ANTLR start synpred22_InternalSARL public final void synpred22_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:11087:5: ( ( () '#' '[' ) ) // InternalSARL.g:11087:6: ( () '#' '[' ) { // InternalSARL.g:11087:6: ( () '#' '[' ) // InternalSARL.g:11088:6: () '#' '[' { // InternalSARL.g:11088:6: () // InternalSARL.g:11089:6: { } match(input,95,FOLLOW_86); if (state.failed) return ; match(input,55,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred22_InternalSARL // $ANTLR start synpred23_InternalSARL public final void synpred23_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:11315:6: ( ( () ( ( ruleOpMultiAssign ) ) ) ) // InternalSARL.g:11315:7: ( () ( ( ruleOpMultiAssign ) ) ) { // InternalSARL.g:11315:7: ( () ( ( ruleOpMultiAssign ) ) ) // InternalSARL.g:11316:7: () ( ( ruleOpMultiAssign ) ) { // InternalSARL.g:11316:7: () // InternalSARL.g:11317:7: { } // InternalSARL.g:11318:7: ( ( ruleOpMultiAssign ) ) // InternalSARL.g:11319:8: ( ruleOpMultiAssign ) { // InternalSARL.g:11319:8: ( ruleOpMultiAssign ) // InternalSARL.g:11320:9: ruleOpMultiAssign { pushFollow(FOLLOW_2); ruleOpMultiAssign(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred23_InternalSARL // $ANTLR start synpred24_InternalSARL public final void synpred24_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:11509:5: ( ( () ( ( ruleOpOr ) ) ) ) // InternalSARL.g:11509:6: ( () ( ( ruleOpOr ) ) ) { // InternalSARL.g:11509:6: ( () ( ( ruleOpOr ) ) ) // InternalSARL.g:11510:6: () ( ( ruleOpOr ) ) { // InternalSARL.g:11510:6: () // InternalSARL.g:11511:6: { } // InternalSARL.g:11512:6: ( ( ruleOpOr ) ) // InternalSARL.g:11513:7: ( ruleOpOr ) { // InternalSARL.g:11513:7: ( ruleOpOr ) // InternalSARL.g:11514:8: ruleOpOr { pushFollow(FOLLOW_2); ruleOpOr(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred24_InternalSARL // $ANTLR start synpred25_InternalSARL public final void synpred25_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:11616:5: ( ( () ( ( ruleOpAnd ) ) ) ) // InternalSARL.g:11616:6: ( () ( ( ruleOpAnd ) ) ) { // InternalSARL.g:11616:6: ( () ( ( ruleOpAnd ) ) ) // InternalSARL.g:11617:6: () ( ( ruleOpAnd ) ) { // InternalSARL.g:11617:6: () // InternalSARL.g:11618:6: { } // InternalSARL.g:11619:6: ( ( ruleOpAnd ) ) // InternalSARL.g:11620:7: ( ruleOpAnd ) { // InternalSARL.g:11620:7: ( ruleOpAnd ) // InternalSARL.g:11621:8: ruleOpAnd { pushFollow(FOLLOW_2); ruleOpAnd(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred25_InternalSARL // $ANTLR start synpred26_InternalSARL public final void synpred26_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:11723:5: ( ( () ( ( ruleOpEquality ) ) ) ) // InternalSARL.g:11723:6: ( () ( ( ruleOpEquality ) ) ) { // InternalSARL.g:11723:6: ( () ( ( ruleOpEquality ) ) ) // InternalSARL.g:11724:6: () ( ( ruleOpEquality ) ) { // InternalSARL.g:11724:6: () // InternalSARL.g:11725:6: { } // InternalSARL.g:11726:6: ( ( ruleOpEquality ) ) // InternalSARL.g:11727:7: ( ruleOpEquality ) { // InternalSARL.g:11727:7: ( ruleOpEquality ) // InternalSARL.g:11728:8: ruleOpEquality { pushFollow(FOLLOW_2); ruleOpEquality(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred26_InternalSARL // $ANTLR start synpred27_InternalSARL public final void synpred27_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:11851:6: ( ( () 'instanceof' ) ) // InternalSARL.g:11851:7: ( () 'instanceof' ) { // InternalSARL.g:11851:7: ( () 'instanceof' ) // InternalSARL.g:11852:7: () 'instanceof' { // InternalSARL.g:11852:7: () // InternalSARL.g:11853:7: { } match(input,108,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred27_InternalSARL // $ANTLR start synpred28_InternalSARL public final void synpred28_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:11894:6: ( ( () ( ( ruleOpCompare ) ) ) ) // InternalSARL.g:11894:7: ( () ( ( ruleOpCompare ) ) ) { // InternalSARL.g:11894:7: ( () ( ( ruleOpCompare ) ) ) // InternalSARL.g:11895:7: () ( ( ruleOpCompare ) ) { // InternalSARL.g:11895:7: () // InternalSARL.g:11896:7: { } // InternalSARL.g:11897:7: ( ( ruleOpCompare ) ) // InternalSARL.g:11898:8: ( ruleOpCompare ) { // InternalSARL.g:11898:8: ( ruleOpCompare ) // InternalSARL.g:11899:9: ruleOpCompare { pushFollow(FOLLOW_2); ruleOpCompare(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred28_InternalSARL // $ANTLR start synpred29_InternalSARL public final void synpred29_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:12029:5: ( ( () ( ( ruleOpOther ) ) ) ) // InternalSARL.g:12029:6: ( () ( ( ruleOpOther ) ) ) { // InternalSARL.g:12029:6: ( () ( ( ruleOpOther ) ) ) // InternalSARL.g:12030:6: () ( ( ruleOpOther ) ) { // InternalSARL.g:12030:6: () // InternalSARL.g:12031:6: { } // InternalSARL.g:12032:6: ( ( ruleOpOther ) ) // InternalSARL.g:12033:7: ( ruleOpOther ) { // InternalSARL.g:12033:7: ( ruleOpOther ) // InternalSARL.g:12034:8: ruleOpOther { pushFollow(FOLLOW_2); ruleOpOther(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred29_InternalSARL // $ANTLR start synpred30_InternalSARL public final void synpred30_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:12149:6: ( ( '>' '>' ) ) // InternalSARL.g:12149:7: ( '>' '>' ) { // InternalSARL.g:12149:7: ( '>' '>' ) // InternalSARL.g:12150:7: '>' '>' { match(input,41,FOLLOW_115); if (state.failed) return ; match(input,41,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred30_InternalSARL // $ANTLR start synpred31_InternalSARL public final void synpred31_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:12184:6: ( ( '<' '<' ) ) // InternalSARL.g:12184:7: ( '<' '<' ) { // InternalSARL.g:12184:7: ( '<' '<' ) // InternalSARL.g:12185:7: '<' '<' { match(input,40,FOLLOW_87); if (state.failed) return ; match(input,40,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred31_InternalSARL // $ANTLR start synpred32_InternalSARL public final void synpred32_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:12257:5: ( ( () ( ( ruleOpAdd ) ) ) ) // InternalSARL.g:12257:6: ( () ( ( ruleOpAdd ) ) ) { // InternalSARL.g:12257:6: ( () ( ( ruleOpAdd ) ) ) // InternalSARL.g:12258:6: () ( ( ruleOpAdd ) ) { // InternalSARL.g:12258:6: () // InternalSARL.g:12259:6: { } // InternalSARL.g:12260:6: ( ( ruleOpAdd ) ) // InternalSARL.g:12261:7: ( ruleOpAdd ) { // InternalSARL.g:12261:7: ( ruleOpAdd ) // InternalSARL.g:12262:8: ruleOpAdd { pushFollow(FOLLOW_2); ruleOpAdd(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred32_InternalSARL // $ANTLR start synpred33_InternalSARL public final void synpred33_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:12372:5: ( ( () ( ( ruleOpMulti ) ) ) ) // InternalSARL.g:12372:6: ( () ( ( ruleOpMulti ) ) ) { // InternalSARL.g:12372:6: ( () ( ( ruleOpMulti ) ) ) // InternalSARL.g:12373:6: () ( ( ruleOpMulti ) ) { // InternalSARL.g:12373:6: () // InternalSARL.g:12374:6: { } // InternalSARL.g:12375:6: ( ( ruleOpMulti ) ) // InternalSARL.g:12376:7: ( ruleOpMulti ) { // InternalSARL.g:12376:7: ( ruleOpMulti ) // InternalSARL.g:12377:8: ruleOpMulti { pushFollow(FOLLOW_2); ruleOpMulti(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred33_InternalSARL // $ANTLR start synpred34_InternalSARL public final void synpred34_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:12607:5: ( ( () 'as' ) ) // InternalSARL.g:12607:6: ( () 'as' ) { // InternalSARL.g:12607:6: ( () 'as' ) // InternalSARL.g:12608:6: () 'as' { // InternalSARL.g:12608:6: () // InternalSARL.g:12609:6: { } match(input,64,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred34_InternalSARL // $ANTLR start synpred35_InternalSARL public final void synpred35_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:12675:4: ( ( () ( ( ruleOpPostfix ) ) ) ) // InternalSARL.g:12675:5: ( () ( ( ruleOpPostfix ) ) ) { // InternalSARL.g:12675:5: ( () ( ( ruleOpPostfix ) ) ) // InternalSARL.g:12676:5: () ( ( ruleOpPostfix ) ) { // InternalSARL.g:12676:5: () // InternalSARL.g:12677:5: { } // InternalSARL.g:12678:5: ( ( ruleOpPostfix ) ) // InternalSARL.g:12679:6: ( ruleOpPostfix ) { // InternalSARL.g:12679:6: ( ruleOpPostfix ) // InternalSARL.g:12680:7: ruleOpPostfix { pushFollow(FOLLOW_2); ruleOpPostfix(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred35_InternalSARL // $ANTLR start synpred36_InternalSARL public final void synpred36_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:12771:6: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) // InternalSARL.g:12771:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) { // InternalSARL.g:12771:7: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) // InternalSARL.g:12772:7: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign { // InternalSARL.g:12772:7: () // InternalSARL.g:12773:7: { } // InternalSARL.g:12774:7: ( '.' | ( ( '::' ) ) ) int alt388=2; int LA388_0 = input.LA(1); if ( (LA388_0==68) ) { alt388=1; } else if ( (LA388_0==122) ) { alt388=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 388, 0, input); throw nvae; } switch (alt388) { case 1 : // InternalSARL.g:12775:8: '.' { match(input,68,FOLLOW_121); if (state.failed) return ; } break; case 2 : // InternalSARL.g:12777:8: ( ( '::' ) ) { // InternalSARL.g:12777:8: ( ( '::' ) ) // InternalSARL.g:12778:9: ( '::' ) { // InternalSARL.g:12778:9: ( '::' ) // InternalSARL.g:12779:10: '::' { match(input,122,FOLLOW_121); if (state.failed) return ; } } } break; } // InternalSARL.g:12783:7: ( ( ruleFeatureCallID ) ) // InternalSARL.g:12784:8: ( ruleFeatureCallID ) { // InternalSARL.g:12784:8: ( ruleFeatureCallID ) // InternalSARL.g:12785:9: ruleFeatureCallID { pushFollow(FOLLOW_81); ruleFeatureCallID(); state._fsp--; if (state.failed) return ; } } pushFollow(FOLLOW_2); ruleOpSingleAssign(); state._fsp--; if (state.failed) return ; } } } // $ANTLR end synpred36_InternalSARL // $ANTLR start synpred37_InternalSARL public final void synpred37_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:12868:6: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) ) // InternalSARL.g:12868:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) { // InternalSARL.g:12868:7: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) // InternalSARL.g:12869:7: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) { // InternalSARL.g:12869:7: () // InternalSARL.g:12870:7: { } // InternalSARL.g:12871:7: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) int alt389=3; switch ( input.LA(1) ) { case 68: { alt389=1; } break; case 123: { alt389=2; } break; case 122: { alt389=3; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 389, 0, input); throw nvae; } switch (alt389) { case 1 : // InternalSARL.g:12872:8: '.' { match(input,68,FOLLOW_2); if (state.failed) return ; } break; case 2 : // InternalSARL.g:12874:8: ( ( '?.' ) ) { // InternalSARL.g:12874:8: ( ( '?.' ) ) // InternalSARL.g:12875:9: ( '?.' ) { // InternalSARL.g:12875:9: ( '?.' ) // InternalSARL.g:12876:10: '?.' { match(input,123,FOLLOW_2); if (state.failed) return ; } } } break; case 3 : // InternalSARL.g:12880:8: ( ( '::' ) ) { // InternalSARL.g:12880:8: ( ( '::' ) ) // InternalSARL.g:12881:9: ( '::' ) { // InternalSARL.g:12881:9: ( '::' ) // InternalSARL.g:12882:10: '::' { match(input,122,FOLLOW_2); if (state.failed) return ; } } } break; } } } } // $ANTLR end synpred37_InternalSARL // $ANTLR start synpred38_InternalSARL public final void synpred38_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:13006:7: ( ( '(' ) ) // InternalSARL.g:13006:8: ( '(' ) { // InternalSARL.g:13006:8: ( '(' ) // InternalSARL.g:13007:8: '(' { match(input,49,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred38_InternalSARL // $ANTLR start synpred39_InternalSARL public final void synpred39_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:13025:8: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalSARL.g:13025:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalSARL.g:13025:9: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalSARL.g:13026:9: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalSARL.g:13026:9: () // InternalSARL.g:13027:9: { } // InternalSARL.g:13028:9: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt391=2; int LA391_0 = input.LA(1); if ( (LA391_0==RULE_ID||(LA391_0>=44 && LA391_0<=45)||(LA391_0>=83 && LA391_0<=86)) ) { alt391=1; } switch (alt391) { case 1 : // InternalSARL.g:13029:10: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalSARL.g:13029:10: ( ( ruleJvmFormalParameter ) ) // InternalSARL.g:13030:11: ( ruleJvmFormalParameter ) { // InternalSARL.g:13030:11: ( ruleJvmFormalParameter ) // InternalSARL.g:13031:12: ruleJvmFormalParameter { pushFollow(FOLLOW_129); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalSARL.g:13034:10: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop390: do { int alt390=2; int LA390_0 = input.LA(1); if ( (LA390_0==32) ) { alt390=1; } switch (alt390) { case 1 : // InternalSARL.g:13035:11: ',' ( ( ruleJvmFormalParameter ) ) { match(input,32,FOLLOW_72); if (state.failed) return ; // InternalSARL.g:13036:11: ( ( ruleJvmFormalParameter ) ) // InternalSARL.g:13037:12: ( ruleJvmFormalParameter ) { // InternalSARL.g:13037:12: ( ruleJvmFormalParameter ) // InternalSARL.g:13038:13: ruleJvmFormalParameter { pushFollow(FOLLOW_129); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop390; } } while (true); } break; } // InternalSARL.g:13043:9: ( ( '|' ) ) // InternalSARL.g:13044:10: ( '|' ) { // InternalSARL.g:13044:10: ( '|' ) // InternalSARL.g:13045:11: '|' { match(input,124,FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred39_InternalSARL // $ANTLR start synpred40_InternalSARL public final void synpred40_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:13122:6: ( ( () '[' ) ) // InternalSARL.g:13122:7: ( () '[' ) { // InternalSARL.g:13122:7: ( () '[' ) // InternalSARL.g:13123:7: () '[' { // InternalSARL.g:13123:7: () // InternalSARL.g:13124:7: { } match(input,55,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred40_InternalSARL // $ANTLR start synpred41_InternalSARL public final void synpred41_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:13177:4: ( ( () '[' ) ) // InternalSARL.g:13177:5: ( () '[' ) { // InternalSARL.g:13177:5: ( () '[' ) // InternalSARL.g:13178:5: () '[' { // InternalSARL.g:13178:5: () // InternalSARL.g:13179:5: { } match(input,55,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred41_InternalSARL // $ANTLR start synpred43_InternalSARL public final void synpred43_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:13482:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalSARL.g:13482:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalSARL.g:13482:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalSARL.g:13483:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalSARL.g:13483:5: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt393=2; int LA393_0 = input.LA(1); if ( (LA393_0==RULE_ID||(LA393_0>=44 && LA393_0<=45)||(LA393_0>=83 && LA393_0<=86)) ) { alt393=1; } switch (alt393) { case 1 : // InternalSARL.g:13484:6: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalSARL.g:13484:6: ( ( ruleJvmFormalParameter ) ) // InternalSARL.g:13485:7: ( ruleJvmFormalParameter ) { // InternalSARL.g:13485:7: ( ruleJvmFormalParameter ) // InternalSARL.g:13486:8: ruleJvmFormalParameter { pushFollow(FOLLOW_129); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalSARL.g:13489:6: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop392: do { int alt392=2; int LA392_0 = input.LA(1); if ( (LA392_0==32) ) { alt392=1; } switch (alt392) { case 1 : // InternalSARL.g:13490:7: ',' ( ( ruleJvmFormalParameter ) ) { match(input,32,FOLLOW_72); if (state.failed) return ; // InternalSARL.g:13491:7: ( ( ruleJvmFormalParameter ) ) // InternalSARL.g:13492:8: ( ruleJvmFormalParameter ) { // InternalSARL.g:13492:8: ( ruleJvmFormalParameter ) // InternalSARL.g:13493:9: ruleJvmFormalParameter { pushFollow(FOLLOW_129); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop392; } } while (true); } break; } // InternalSARL.g:13498:5: ( ( '|' ) ) // InternalSARL.g:13499:6: ( '|' ) { // InternalSARL.g:13499:6: ( '|' ) // InternalSARL.g:13500:7: '|' { match(input,124,FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred43_InternalSARL // $ANTLR start synpred45_InternalSARL public final void synpred45_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:13891:5: ( 'else' ) // InternalSARL.g:13891:6: 'else' { match(input,126,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred45_InternalSARL // $ANTLR start synpred46_InternalSARL public final void synpred46_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:14442:4: ( ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) ) // InternalSARL.g:14442:5: ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) { // InternalSARL.g:14442:5: ( () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) ) // InternalSARL.g:14443:5: () ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) { // InternalSARL.g:14443:5: () // InternalSARL.g:14444:5: { } // InternalSARL.g:14445:5: ( ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) | ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) ) int alt399=2; int LA399_0 = input.LA(1); if ( ((LA399_0>=61 && LA399_0<=62)) ) { alt399=1; } else if ( (LA399_0==45) ) { alt399=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 399, 0, input); throw nvae; } switch (alt399) { case 1 : // InternalSARL.g:14446:6: ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) { // InternalSARL.g:14446:6: ( ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? ) // InternalSARL.g:14447:7: ( ( ( 'var' ) ) | 'val' ) ( ( 'extension' ) )? { // InternalSARL.g:14447:7: ( ( ( 'var' ) ) | 'val' ) int alt396=2; int LA396_0 = input.LA(1); if ( (LA396_0==61) ) { alt396=1; } else if ( (LA396_0==62) ) { alt396=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 396, 0, input); throw nvae; } switch (alt396) { case 1 : // InternalSARL.g:14448:8: ( ( 'var' ) ) { // InternalSARL.g:14448:8: ( ( 'var' ) ) // InternalSARL.g:14449:9: ( 'var' ) { // InternalSARL.g:14449:9: ( 'var' ) // InternalSARL.g:14450:10: 'var' { match(input,61,FOLLOW_159); if (state.failed) return ; } } } break; case 2 : // InternalSARL.g:14454:8: 'val' { match(input,62,FOLLOW_159); if (state.failed) return ; } break; } // InternalSARL.g:14456:7: ( ( 'extension' ) )? int alt397=2; int LA397_0 = input.LA(1); if ( (LA397_0==45) ) { alt397=1; } switch (alt397) { case 1 : // InternalSARL.g:14457:8: ( 'extension' ) { // InternalSARL.g:14457:8: ( 'extension' ) // InternalSARL.g:14458:9: 'extension' { match(input,45,FOLLOW_2); if (state.failed) return ; } } break; } } } break; case 2 : // InternalSARL.g:14463:6: ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) { // InternalSARL.g:14463:6: ( ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) ) // InternalSARL.g:14464:7: ( ( 'extension' ) ) ( ( ( 'var' ) ) | 'val' ) { // InternalSARL.g:14464:7: ( ( 'extension' ) ) // InternalSARL.g:14465:8: ( 'extension' ) { // InternalSARL.g:14465:8: ( 'extension' ) // InternalSARL.g:14466:9: 'extension' { match(input,45,FOLLOW_73); if (state.failed) return ; } } // InternalSARL.g:14469:7: ( ( ( 'var' ) ) | 'val' ) int alt398=2; int LA398_0 = input.LA(1); if ( (LA398_0==61) ) { alt398=1; } else if ( (LA398_0==62) ) { alt398=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 398, 0, input); throw nvae; } switch (alt398) { case 1 : // InternalSARL.g:14470:8: ( ( 'var' ) ) { // InternalSARL.g:14470:8: ( ( 'var' ) ) // InternalSARL.g:14471:9: ( 'var' ) { // InternalSARL.g:14471:9: ( 'var' ) // InternalSARL.g:14472:10: 'var' { match(input,61,FOLLOW_2); if (state.failed) return ; } } } break; case 2 : // InternalSARL.g:14476:8: 'val' { match(input,62,FOLLOW_2); if (state.failed) return ; } break; } } } break; } } } } // $ANTLR end synpred46_InternalSARL // $ANTLR start synpred47_InternalSARL public final void synpred47_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:14598:5: ( ( '(' ) ) // InternalSARL.g:14598:6: ( '(' ) { // InternalSARL.g:14598:6: ( '(' ) // InternalSARL.g:14599:6: '(' { match(input,49,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred47_InternalSARL // $ANTLR start synpred48_InternalSARL public final void synpred48_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:14617:6: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // InternalSARL.g:14617:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // InternalSARL.g:14617:7: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // InternalSARL.g:14618:7: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // InternalSARL.g:14618:7: () // InternalSARL.g:14619:7: { } // InternalSARL.g:14620:7: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt401=2; int LA401_0 = input.LA(1); if ( (LA401_0==RULE_ID||(LA401_0>=44 && LA401_0<=45)||(LA401_0>=83 && LA401_0<=86)) ) { alt401=1; } switch (alt401) { case 1 : // InternalSARL.g:14621:8: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // InternalSARL.g:14621:8: ( ( ruleJvmFormalParameter ) ) // InternalSARL.g:14622:9: ( ruleJvmFormalParameter ) { // InternalSARL.g:14622:9: ( ruleJvmFormalParameter ) // InternalSARL.g:14623:10: ruleJvmFormalParameter { pushFollow(FOLLOW_129); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // InternalSARL.g:14626:8: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop400: do { int alt400=2; int LA400_0 = input.LA(1); if ( (LA400_0==32) ) { alt400=1; } switch (alt400) { case 1 : // InternalSARL.g:14627:9: ',' ( ( ruleJvmFormalParameter ) ) { match(input,32,FOLLOW_72); if (state.failed) return ; // InternalSARL.g:14628:9: ( ( ruleJvmFormalParameter ) ) // InternalSARL.g:14629:10: ( ruleJvmFormalParameter ) { // InternalSARL.g:14629:10: ( ruleJvmFormalParameter ) // InternalSARL.g:14630:11: ruleJvmFormalParameter { pushFollow(FOLLOW_129); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop400; } } while (true); } break; } // InternalSARL.g:14635:7: ( ( '|' ) ) // InternalSARL.g:14636:8: ( '|' ) { // InternalSARL.g:14636:8: ( '|' ) // InternalSARL.g:14637:9: '|' { match(input,124,FOLLOW_2); if (state.failed) return ; } } } } } // $ANTLR end synpred48_InternalSARL // $ANTLR start synpred49_InternalSARL public final void synpred49_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:14714:4: ( ( () '[' ) ) // InternalSARL.g:14714:5: ( () '[' ) { // InternalSARL.g:14714:5: ( () '[' ) // InternalSARL.g:14715:5: () '[' { // InternalSARL.g:14715:5: () // InternalSARL.g:14716:5: { } match(input,55,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred49_InternalSARL // $ANTLR start synpred50_InternalSARL public final void synpred50_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:15048:4: ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START ) // InternalSARL.g: { if ( (input.LA(1)>=RULE_ID && input.LA(1)<=RULE_RICH_TEXT_START)||(input.LA(1)>=RULE_HEX && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==25||(input.LA(1)>=28 && input.LA(1)<=29)||input.LA(1)==36||(input.LA(1)>=39 && input.LA(1)<=40)||(input.LA(1)>=42 && input.LA(1)<=45)||(input.LA(1)>=48 && input.LA(1)<=49)||input.LA(1)==51||input.LA(1)==55||input.LA(1)==60||input.LA(1)==63||input.LA(1)==65||(input.LA(1)>=69 && input.LA(1)<=87)||input.LA(1)==95||(input.LA(1)>=114 && input.LA(1)<=115)||input.LA(1)==119||input.LA(1)==125||(input.LA(1)>=128 && input.LA(1)<=137) ) { 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 synpred50_InternalSARL // $ANTLR start synpred51_InternalSARL public final void synpred51_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:15119:6: ( 'catch' ) // InternalSARL.g:15119:7: 'catch' { match(input,139,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred51_InternalSARL // $ANTLR start synpred52_InternalSARL public final void synpred52_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:15140:7: ( 'finally' ) // InternalSARL.g:15140:8: 'finally' { match(input,138,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred52_InternalSARL // $ANTLR start synpred55_InternalSARL public final void synpred55_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:15384:5: ( '.' ) // InternalSARL.g:15384:6: '.' { match(input,68,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred55_InternalSARL // $ANTLR start synpred56_InternalSARL public final void synpred56_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:15510:5: ( ( () ruleArrayBrackets ) ) // InternalSARL.g:15510:6: ( () ruleArrayBrackets ) { // InternalSARL.g:15510:6: ( () ruleArrayBrackets ) // InternalSARL.g:15511:6: () ruleArrayBrackets { // InternalSARL.g:15511:6: () // InternalSARL.g:15512:6: { } pushFollow(FOLLOW_2); ruleArrayBrackets(); state._fsp--; if (state.failed) return ; } } } // $ANTLR end synpred56_InternalSARL // $ANTLR start synpred57_InternalSARL public final void synpred57_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:15707:5: ( '<' ) // InternalSARL.g:15707:6: '<' { match(input,40,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred57_InternalSARL // $ANTLR start synpred58_InternalSARL public final void synpred58_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:15763:6: ( ( () '.' ) ) // InternalSARL.g:15763:7: ( () '.' ) { // InternalSARL.g:15763:7: ( () '.' ) // InternalSARL.g:15764:7: () '.' { // InternalSARL.g:15764:7: () // InternalSARL.g:15765:7: { } match(input,68,FOLLOW_2); if (state.failed) return ; } } } // $ANTLR end synpred58_InternalSARL // $ANTLR start synpred59_InternalSARL public final void synpred59_InternalSARL_fragment() throws RecognitionException { // InternalSARL.g:15801:7: ( '<' ) // InternalSARL.g:15801:8: '<' { match(input,40,FOLLOW_2); if (state.failed) return ; } } // $ANTLR end synpred59_InternalSARL // Delegated rules public final boolean synpred21_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred21_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred23_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred27_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred40_InternalSARL_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 synpred25_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred25_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred46_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred50_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred48_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred11_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred29_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred31_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred30_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred34_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred35_InternalSARL_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred32_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred32_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred33_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred39_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred36_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred37_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred38_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred22_InternalSARL_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred26_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred26_InternalSARL_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 synpred59_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred59_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred41_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred43_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred24_InternalSARL_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred45_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred45_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred49_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred10_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred12_InternalSARL_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred28_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred28_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred47_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred2_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred1_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred16_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred17_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred14_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred13_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred6_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred7_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred18_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred15_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred4_InternalSARL_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 synpred51_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred51_InternalSARL_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 synpred52_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred52_InternalSARL_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred58_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred58_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred8_InternalSARL_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 synpred57_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred57_InternalSARL_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 synpred55_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred55_InternalSARL_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 synpred56_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred56_InternalSARL_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_InternalSARL() { state.backtracking++; int start = input.mark(); try { synpred9_InternalSARL_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 DFA44 dfa44 = new DFA44(this); protected DFA63 dfa63 = new DFA63(this); protected DFA72 dfa72 = new DFA72(this); protected DFA134 dfa134 = new DFA134(this); protected DFA109 dfa109 = new DFA109(this); protected DFA185 dfa185 = new DFA185(this); protected DFA160 dfa160 = new DFA160(this); protected DFA210 dfa210 = new DFA210(this); protected DFA215 dfa215 = new DFA215(this); protected DFA229 dfa229 = new DFA229(this); protected DFA228 dfa228 = new DFA228(this); protected DFA237 dfa237 = new DFA237(this); protected DFA243 dfa243 = new DFA243(this); protected DFA251 dfa251 = new DFA251(this); protected DFA253 dfa253 = new DFA253(this); protected DFA256 dfa256 = new DFA256(this); protected DFA255 dfa255 = new DFA255(this); protected DFA257 dfa257 = new DFA257(this); protected DFA274 dfa274 = new DFA274(this); protected DFA280 dfa280 = new DFA280(this); protected DFA283 dfa283 = new DFA283(this); protected DFA286 dfa286 = new DFA286(this); protected DFA285 dfa285 = new DFA285(this); protected DFA295 dfa295 = new DFA295(this); protected DFA298 dfa298 = new DFA298(this); protected DFA314 dfa314 = new DFA314(this); protected DFA313 dfa313 = new DFA313(this); protected DFA315 dfa315 = new DFA315(this); protected DFA325 dfa325 = new DFA325(this); protected DFA346 dfa346 = new DFA346(this); protected DFA345 dfa345 = new DFA345(this); protected DFA347 dfa347 = new DFA347(this); protected DFA351 dfa351 = new DFA351(this); protected DFA355 dfa355 = new DFA355(this); protected DFA369 dfa369 = new DFA369(this); protected DFA368 dfa368 = new DFA368(this); protected DFA367 dfa367 = new DFA367(this); protected DFA379 dfa379 = new DFA379(this); static final String dfa_1s = "\31\uffff"; static final String dfa_2s = "\16\31\13\uffff"; static final String dfa_3s = "\16\120\13\uffff"; static final String dfa_4s = "\16\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13"; static final String dfa_5s = "\31\uffff}>"; static final String[] dfa_6s = { "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\1\uffff\1\16\3\uffff\1\17\1\uffff\1\20\1\21\1\22\1\uffff\1\23\1\24\1\25\2\uffff\1\26\1\27\1\30\30\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s); static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s); static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s); class DFA44 extends DFA { public DFA44(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 44; this.eot = dfa_1; this.eof = dfa_1; this.min = dfa_2; this.max = dfa_3; this.accept = dfa_4; this.special = dfa_5; this.transition = dfa_6; } public String getDescription() { return "220:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* otherlv_4= 'event' ( (lv_name_5_0= ruleValidID ) ) (otherlv_6= 'extends' ( (lv_extends_7_0= ruleJvmParameterizedTypeReference ) ) )? (otherlv_8= '{' ( (lv_members_9_0= ruleEventMember ) )* otherlv_10= '}' )? ) | ( () ( (lv_modifiers_12_0= ruleCommonModifier ) )* otherlv_13= 'capacity' ( (lv_name_14_0= ruleValidID ) ) (otherlv_15= 'extends' ( (lv_extends_16_0= ruleJvmParameterizedTypeReference ) ) (otherlv_17= ',' ( (lv_extends_18_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_19= '{' ( (lv_members_20_0= ruleCapacityMember ) )* otherlv_21= '}' ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'agent' ( (lv_name_25_0= ruleValidID ) ) (otherlv_26= 'extends' ( (lv_extends_27_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_28= '{' ( (lv_members_29_0= ruleAOPMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'behavior' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= 'extends' ( (lv_extends_36_0= ruleJvmParameterizedTypeReference ) ) )? otherlv_37= '{' ( (lv_members_38_0= ruleAOPMember ) )* otherlv_39= '}' ) | ( () ( (lv_modifiers_41_0= ruleCommonModifier ) )* otherlv_42= 'skill' ( (lv_name_43_0= ruleValidID ) ) ( ( ( ( ({...}? => ( ({...}? => (otherlv_45= 'extends' ( (lv_extends_46_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_47= 'implements' ( (lv_implements_48_0= ruleJvmParameterizedTypeReference ) ) (otherlv_49= ',' ( (lv_implements_50_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_51= '{' ( (lv_members_52_0= ruleAOPMember ) )* otherlv_53= '}' ) | ( () ( (lv_modifiers_55_0= ruleCommonModifier ) )* otherlv_56= 'space' ( (lv_name_57_0= ruleValidID ) ) otherlv_58= '{' otherlv_59= '}' ) | ( () ( (lv_modifiers_61_0= ruleCommonModifier ) )* otherlv_62= 'artifact' ( (lv_name_63_0= ruleValidID ) ) otherlv_64= '{' otherlv_65= '}' ) | ( () ( (lv_modifiers_67_0= ruleCommonModifier ) )* otherlv_68= 'class' ( (lv_name_69_0= ruleValidID ) ) (otherlv_70= '<' ( (lv_typeParameters_71_0= ruleJvmTypeParameter ) ) (otherlv_72= ',' ( (lv_typeParameters_73_0= ruleJvmTypeParameter ) ) )* otherlv_74= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_76= 'extends' ( (lv_extends_77_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_78= 'implements' ( (lv_implements_79_0= ruleJvmParameterizedTypeReference ) ) (otherlv_80= ',' ( (lv_implements_81_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_82= '{' ( (lv_members_83_0= ruleMember ) )* otherlv_84= '}' ) | ( () ( (lv_modifiers_86_0= ruleCommonModifier ) )* otherlv_87= 'interface' ( (lv_name_88_0= ruleValidID ) ) (otherlv_89= '<' ( (lv_typeParameters_90_0= ruleJvmTypeParameter ) ) (otherlv_91= ',' ( (lv_typeParameters_92_0= ruleJvmTypeParameter ) ) )* otherlv_93= '>' )? (otherlv_94= 'extends' ( (lv_extends_95_0= ruleJvmParameterizedTypeReference ) ) (otherlv_96= ',' ( (lv_extends_97_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_98= '{' ( (lv_members_99_0= ruleMember ) )* otherlv_100= '}' ) | ( () ( (lv_modifiers_102_0= ruleCommonModifier ) )* otherlv_103= 'enum' ( (lv_name_104_0= ruleValidID ) ) otherlv_105= '{' ( ( (lv_members_106_0= ruleXtendEnumLiteral ) ) (otherlv_107= ',' ( (lv_members_108_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_109= ';' )? otherlv_110= '}' ) | ( () ( (lv_modifiers_112_0= ruleCommonModifier ) )* otherlv_113= 'annotation' ( (lv_name_114_0= ruleValidID ) ) otherlv_115= '{' ( (lv_members_116_0= ruleAnnotationField ) )* otherlv_117= '}' ) )"; } } static final String dfa_7s = "\20\uffff"; static final String dfa_8s = "\16\31\2\uffff"; static final String dfa_9s = "\16\120\2\uffff"; static final String dfa_10s = "\16\uffff\1\1\1\2"; static final String dfa_11s = "\20\uffff}>"; static final String[] dfa_12s = { "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\23\uffff\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "", "" }; static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s); static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s); static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s); static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s); static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s); static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s); class DFA63 extends DFA { public DFA63(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 63; this.eot = dfa_7; this.eof = dfa_7; this.min = dfa_8; this.max = dfa_9; this.accept = dfa_10; this.special = dfa_11; this.transition = dfa_12; } public String getDescription() { return "1629:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) )"; } } static final String dfa_13s = "\1\uffff\6\11\3\uffff\6\11"; static final String dfa_14s = "\1\4\6\31\1\uffff\1\4\1\uffff\6\31"; static final String dfa_15s = "\1\126\6\136\1\uffff\1\126\1\uffff\6\136"; static final String dfa_16s = "\7\uffff\1\1\1\uffff\1\2\6\uffff"; static final String[] dfa_17s = { "\1\1\47\uffff\1\3\4\uffff\1\7\21\uffff\1\7\17\uffff\1\2\1\4\1\5\1\6", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "", "\1\12\47\uffff\1\14\46\uffff\1\13\1\15\1\16\1\17", "", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\11\uffff\1\7\12\uffff\3\11\1\uffff\1\7\14\uffff\1\10\16\11\13\uffff\1\11" }; static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s); static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s); static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s); static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s); static final short[][] dfa_17 = unpackEncodedStringArray(dfa_17s); class DFA72 extends DFA { public DFA72(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 72; this.eot = dfa_7; this.eof = dfa_13; this.min = dfa_14; this.max = dfa_15; this.accept = dfa_16; this.special = dfa_11; this.transition = dfa_17; } public String getDescription() { return "2476:4: ( ( (lv_returnType_18_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_19_0= ruleTypeReferenceNoTypeArgs ) ) )"; } } static final String dfa_18s = "\30\uffff"; static final String dfa_19s = "\1\31\3\uffff\15\31\7\uffff"; static final String dfa_20s = "\1\122\3\uffff\15\122\7\uffff"; static final String dfa_21s = "\1\uffff\1\1\1\2\1\3\15\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12"; static final String dfa_22s = "\30\uffff}>"; static final String[] dfa_23s = { "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\5\uffff\1\1\2\uffff\1\2\1\3\2\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "", "", "", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "\1\7\15\uffff\1\24\2\uffff\1\25\1\26\1\27\1\21\2\uffff\1\22\14\uffff\2\21\6\uffff\1\4\1\5\1\6\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\2\23", "", "", "", "", "", "", "" }; static final short[] dfa_18 = DFA.unpackEncodedString(dfa_18s); static final char[] dfa_19 = DFA.unpackEncodedStringToUnsignedChars(dfa_19s); static final char[] dfa_20 = DFA.unpackEncodedStringToUnsignedChars(dfa_20s); static final short[] dfa_21 = DFA.unpackEncodedString(dfa_21s); static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s); static final short[][] dfa_23 = unpackEncodedStringArray(dfa_23s); class DFA134 extends DFA { public DFA134(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 134; this.eot = dfa_18; this.eof = dfa_18; this.min = dfa_19; this.max = dfa_20; this.accept = dfa_21; this.special = dfa_22; this.transition = dfa_23; } public String getDescription() { return "2780:3: ( ( () otherlv_3= 'on' ( (lv_name_4_0= ruleJvmParameterizedTypeReference ) ) (otherlv_5= '[' ( (lv_guard_6_0= ruleXExpression ) ) otherlv_7= ']' )? ( (lv_expression_8_0= ruleXBlockExpression ) ) ) | ( () otherlv_10= 'uses' ( (lv_capacities_11_0= ruleJvmParameterizedTypeReference ) ) (otherlv_12= ',' ( (lv_capacities_13_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_14= ';' )? ) | ( () otherlv_16= 'requires' ( (lv_capacities_17_0= ruleJvmParameterizedTypeReference ) ) (otherlv_18= ',' ( (lv_capacities_19_0= ruleJvmParameterizedTypeReference ) ) )* (otherlv_20= ';' )? ) | ( () ( (lv_modifiers_22_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_23_0= 'extension' ) ) ( ( (lv_modifiers_24_0= ruleFieldModifier ) ) | ( (lv_modifiers_25_0= ruleCommonModifier ) ) )* ( (lv_name_26_0= ruleValidID ) ) otherlv_27= ':' ( (lv_type_28_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_29_0= ruleFieldModifier ) ) ( (lv_modifiers_30_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_31_0= 'extension' ) ) ( (lv_name_32_0= ruleValidID ) ) otherlv_33= ':' ( (lv_type_34_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_35_0= ruleValidID ) ) (otherlv_36= ':' ( (lv_type_37_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_38= '=' ( (lv_initialValue_39_0= ruleXExpression ) ) )? (otherlv_40= ';' )? ) | ( () ( (lv_modifiers_42_0= ruleCommonModifier ) )* otherlv_43= 'new' (otherlv_44= '<' ( (lv_typeParameters_45_0= ruleJvmTypeParameter ) ) (otherlv_46= ',' ( (lv_typeParameters_47_0= ruleJvmTypeParameter ) ) )* otherlv_48= '>' )? (otherlv_49= '(' ( ( (lv_parameters_50_0= ruleParameter ) ) (otherlv_51= ',' ( (lv_parameters_52_0= ruleParameter ) ) )* )? otherlv_53= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_55= 'throws' ( (lv_exceptions_56_0= ruleJvmTypeReference ) ) (otherlv_57= ',' ( (lv_exceptions_58_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_59= 'with' ( (lv_typeParameters_60_0= ruleJvmTypeParameter ) ) (otherlv_61= ',' ( (lv_typeParameters_62_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_63_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_65_0= ruleCommonModifier ) )* ( (lv_modifiers_66_0= ruleMethodModifier ) ) ( ( (lv_modifiers_67_0= ruleCommonModifier ) ) | ( (lv_modifiers_68_0= ruleMethodModifier ) ) )* (otherlv_69= '<' ( (lv_typeParameters_70_0= ruleJvmTypeParameter ) ) (otherlv_71= ',' ( (lv_typeParameters_72_0= ruleJvmTypeParameter ) ) )* otherlv_73= '>' )? ( (lv_name_74_0= ruleFunctionID ) ) (otherlv_75= '(' ( ( (lv_parameters_76_0= ruleParameter ) ) (otherlv_77= ',' ( (lv_parameters_78_0= ruleParameter ) ) )* )? otherlv_79= ')' )? (otherlv_80= ':' ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_84= 'throws' ( (lv_exceptions_85_0= ruleJvmTypeReference ) ) (otherlv_86= ',' ( (lv_exceptions_87_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_88= 'fires' ( (lv_firedEvents_89_0= ruleJvmTypeReference ) ) (otherlv_90= ',' ( (lv_firedEvents_91_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_92= 'with' ( (lv_typeParameters_93_0= ruleJvmTypeParameter ) ) (otherlv_94= ',' ( (lv_typeParameters_95_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_96_0= ruleXBlockExpression ) ) | otherlv_97= ';' )? ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'class' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_108= 'extends' ( (lv_extends_109_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_110= 'implements' ( (lv_implements_111_0= ruleJvmParameterizedTypeReference ) ) (otherlv_112= ',' ( (lv_implements_113_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_114= '{' ( (lv_members_115_0= ruleMember ) )* otherlv_116= '}' ) | ( () ( (lv_modifiers_118_0= ruleCommonModifier ) )* otherlv_119= 'interface' ( (lv_name_120_0= ruleValidID ) ) (otherlv_121= '<' ( (lv_typeParameters_122_0= ruleJvmTypeParameter ) ) (otherlv_123= ',' ( (lv_typeParameters_124_0= ruleJvmTypeParameter ) ) )* otherlv_125= '>' )? (otherlv_126= 'extends' ( (lv_extends_127_0= ruleJvmParameterizedTypeReference ) ) (otherlv_128= ',' ( (lv_extends_129_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_130= '{' ( (lv_members_131_0= ruleMember ) )* otherlv_132= '}' ) | ( () ( (lv_modifiers_134_0= ruleCommonModifier ) )* otherlv_135= 'enum' ( (lv_name_136_0= ruleValidID ) ) otherlv_137= '{' ( ( (lv_members_138_0= ruleXtendEnumLiteral ) ) (otherlv_139= ',' ( (lv_members_140_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_141= ';' )? otherlv_142= '}' ) | ( () ( (lv_modifiers_144_0= ruleCommonModifier ) )* otherlv_145= 'annotation' ( (lv_name_146_0= ruleValidID ) ) otherlv_147= '{' ( (lv_members_148_0= ruleAnnotationField ) )* otherlv_149= '}' ) )"; } } static final String[] dfa_24s = { "\1\1\47\uffff\1\3\4\uffff\1\7\21\uffff\1\7\17\uffff\1\2\1\4\1\5\1\6", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "", "\1\12\47\uffff\1\14\46\uffff\1\13\1\15\1\16\1\17", "", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\4\11\1\7\1\uffff\2\11\2\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11" }; static final short[][] dfa_24 = unpackEncodedStringArray(dfa_24s); class DFA109 extends DFA { public DFA109(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 109; this.eot = dfa_7; this.eof = dfa_13; this.min = dfa_14; this.max = dfa_15; this.accept = dfa_16; this.special = dfa_11; this.transition = dfa_24; } public String getDescription() { return "3814:6: ( ( (lv_returnType_81_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_82_0= ruleTypeReferenceNoTypeArgs ) ) )"; } } static final String dfa_25s = "\25\uffff"; static final String dfa_26s = "\16\31\7\uffff"; static final String dfa_27s = "\16\122\7\uffff"; static final String dfa_28s = "\16\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7"; static final String dfa_29s = "\25\uffff}>"; static final String[] dfa_30s = { "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "\1\4\15\uffff\1\21\2\uffff\1\22\1\23\1\24\1\16\2\uffff\1\17\14\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\2\20", "", "", "", "", "", "", "" }; static final short[] dfa_25 = DFA.unpackEncodedString(dfa_25s); static final char[] dfa_26 = DFA.unpackEncodedStringToUnsignedChars(dfa_26s); static final char[] dfa_27 = DFA.unpackEncodedStringToUnsignedChars(dfa_27s); static final short[] dfa_28 = DFA.unpackEncodedString(dfa_28s); static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s); static final short[][] dfa_30 = unpackEncodedStringArray(dfa_30s); class DFA185 extends DFA { public DFA185(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 185; this.eot = dfa_25; this.eof = dfa_25; this.min = dfa_26; this.max = dfa_27; this.accept = dfa_28; this.special = dfa_29; this.transition = dfa_30; } public String getDescription() { return "4734:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_4_0= 'extension' ) ) ( ( (lv_modifiers_5_0= ruleFieldModifier ) ) | ( (lv_modifiers_6_0= ruleCommonModifier ) ) )* ( (lv_name_7_0= ruleValidID ) ) otherlv_8= ':' ( (lv_type_9_0= ruleJvmTypeReference ) ) ) | ( ( (lv_modifiers_10_0= ruleFieldModifier ) ) ( (lv_modifiers_11_0= ruleCommonModifier ) )* ( ( ( (lv_modifiers_12_0= 'extension' ) ) ( (lv_name_13_0= ruleValidID ) ) otherlv_14= ':' ( (lv_type_15_0= ruleJvmTypeReference ) ) ) | ( ( (lv_name_16_0= ruleValidID ) ) (otherlv_17= ':' ( (lv_type_18_0= ruleJvmTypeReference ) ) )? ) ) ) ) (otherlv_19= '=' ( (lv_initialValue_20_0= ruleXExpression ) ) )? (otherlv_21= ';' )? ) | ( () ( (lv_modifiers_23_0= ruleCommonModifier ) )* otherlv_24= 'new' (otherlv_25= '<' ( (lv_typeParameters_26_0= ruleJvmTypeParameter ) ) (otherlv_27= ',' ( (lv_typeParameters_28_0= ruleJvmTypeParameter ) ) )* otherlv_29= '>' )? (otherlv_30= '(' ( ( (lv_parameters_31_0= ruleParameter ) ) (otherlv_32= ',' ( (lv_parameters_33_0= ruleParameter ) ) )* )? otherlv_34= ')' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_36= 'throws' ( (lv_exceptions_37_0= ruleJvmTypeReference ) ) (otherlv_38= ',' ( (lv_exceptions_39_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_40= 'with' ( (lv_typeParameters_41_0= ruleJvmTypeParameter ) ) (otherlv_42= ',' ( (lv_typeParameters_43_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( (lv_expression_44_0= ruleXBlockExpression ) ) ) | ( () ( (lv_modifiers_46_0= ruleCommonModifier ) )* ( (lv_modifiers_47_0= ruleMethodModifier ) ) ( ( (lv_modifiers_48_0= ruleCommonModifier ) ) | ( (lv_modifiers_49_0= ruleMethodModifier ) ) )* (otherlv_50= '<' ( (lv_typeParameters_51_0= ruleJvmTypeParameter ) ) (otherlv_52= ',' ( (lv_typeParameters_53_0= ruleJvmTypeParameter ) ) )* otherlv_54= '>' )? ( (lv_name_55_0= ruleFunctionID ) ) (otherlv_56= '(' ( ( (lv_parameters_57_0= ruleParameter ) ) (otherlv_58= ',' ( (lv_parameters_59_0= ruleParameter ) ) )* )? otherlv_60= ')' )? (otherlv_61= ':' ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) ) )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_65= 'throws' ( (lv_exceptions_66_0= ruleJvmTypeReference ) ) (otherlv_67= ',' ( (lv_exceptions_68_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_69= 'fires' ( (lv_firedEvents_70_0= ruleJvmTypeReference ) ) (otherlv_71= ',' ( (lv_firedEvents_72_0= ruleJvmTypeReference ) ) )* ) ) ) ) | ({...}? => ( ({...}? => (otherlv_73= 'with' ( (lv_typeParameters_74_0= ruleJvmTypeParameter ) ) (otherlv_75= ',' ( (lv_typeParameters_76_0= ruleJvmTypeParameter ) ) )* ) ) ) ) )* ) ) ) ( ( (lv_expression_77_0= ruleXBlockExpression ) ) | otherlv_78= ';' )? ) | ( () ( (lv_modifiers_80_0= ruleCommonModifier ) )* otherlv_81= 'class' ( (lv_name_82_0= ruleValidID ) ) (otherlv_83= '<' ( (lv_typeParameters_84_0= ruleJvmTypeParameter ) ) (otherlv_85= ',' ( (lv_typeParameters_86_0= ruleJvmTypeParameter ) ) )* otherlv_87= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_89= 'extends' ( (lv_extends_90_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_91= 'implements' ( (lv_implements_92_0= ruleJvmParameterizedTypeReference ) ) (otherlv_93= ',' ( (lv_implements_94_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_95= '{' ( (lv_members_96_0= ruleMember ) )* otherlv_97= '}' ) | ( () ( (lv_modifiers_99_0= ruleCommonModifier ) )* otherlv_100= 'interface' ( (lv_name_101_0= ruleValidID ) ) (otherlv_102= '<' ( (lv_typeParameters_103_0= ruleJvmTypeParameter ) ) (otherlv_104= ',' ( (lv_typeParameters_105_0= ruleJvmTypeParameter ) ) )* otherlv_106= '>' )? (otherlv_107= 'extends' ( (lv_extends_108_0= ruleJvmParameterizedTypeReference ) ) (otherlv_109= ',' ( (lv_extends_110_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_111= '{' ( (lv_members_112_0= ruleMember ) )* otherlv_113= '}' ) | ( () ( (lv_modifiers_115_0= ruleCommonModifier ) )* otherlv_116= 'enum' ( (lv_name_117_0= ruleValidID ) ) otherlv_118= '{' ( ( (lv_members_119_0= ruleXtendEnumLiteral ) ) (otherlv_120= ',' ( (lv_members_121_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_122= ';' )? otherlv_123= '}' ) | ( () ( (lv_modifiers_125_0= ruleCommonModifier ) )* otherlv_126= 'annotation' ( (lv_name_127_0= ruleValidID ) ) otherlv_128= '{' ( (lv_members_129_0= ruleAnnotationField ) )* otherlv_130= '}' ) )"; } } static final String[] dfa_31s = { "\1\1\47\uffff\1\3\4\uffff\1\7\21\uffff\1\7\17\uffff\1\2\1\4\1\5\1\6", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "", "\1\12\47\uffff\1\14\46\uffff\1\13\1\15\1\16\1\17", "", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11", "\2\11\2\uffff\2\11\10\uffff\1\11\1\7\1\uffff\4\11\2\uffff\1\11\2\uffff\3\11\1\uffff\1\7\5\uffff\2\11\5\uffff\1\10\16\11\13\uffff\1\11" }; static final short[][] dfa_31 = unpackEncodedStringArray(dfa_31s); class DFA160 extends DFA { public DFA160(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 160; this.eot = dfa_7; this.eof = dfa_13; this.min = dfa_14; this.max = dfa_15; this.accept = dfa_16; this.special = dfa_11; this.transition = dfa_31; } public String getDescription() { return "5559:6: ( ( (lv_returnType_62_0= ruleTypeReferenceWithTypeArgs ) ) | ( (lv_returnType_63_0= ruleTypeReferenceNoTypeArgs ) ) )"; } } static final String dfa_32s = "\23\uffff"; static final String dfa_33s = "\16\31\5\uffff"; static final String dfa_34s = "\16\120\5\uffff"; static final String dfa_35s = "\16\uffff\1\1\1\2\1\3\1\4\1\5"; static final String dfa_36s = "\23\uffff}>"; static final String[] dfa_37s = { "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "\1\4\15\uffff\1\17\2\uffff\1\20\1\21\1\22\20\uffff\2\16\6\uffff\1\1\1\2\1\3\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15", "", "", "", "", "" }; static final short[] dfa_32 = DFA.unpackEncodedString(dfa_32s); static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s); static final char[] dfa_34 = DFA.unpackEncodedStringToUnsignedChars(dfa_34s); static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s); static final short[] dfa_36 = DFA.unpackEncodedString(dfa_36s); static final short[][] dfa_37 = unpackEncodedStringArray(dfa_37s); class DFA210 extends DFA { public DFA210(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 210; this.eot = dfa_32; this.eof = dfa_32; this.min = dfa_33; this.max = dfa_34; this.accept = dfa_35; this.special = dfa_36; this.transition = dfa_37; } public String getDescription() { return "6479:3: ( ( () ( (lv_modifiers_3_0= ruleCommonModifier ) )* ( (lv_modifiers_4_0= ruleFieldModifier ) ) ( (lv_modifiers_5_0= ruleCommonModifier ) )* ( (lv_name_6_0= ruleValidID ) ) (otherlv_7= ':' ( (lv_type_8_0= ruleJvmTypeReference ) ) )? (otherlv_9= '=' ( (lv_initialValue_10_0= ruleXAnnotationElementValue ) ) )? (otherlv_11= ';' )? ) | ( () ( (lv_modifiers_13_0= ruleCommonModifier ) )* otherlv_14= 'class' ( (lv_name_15_0= ruleValidID ) ) (otherlv_16= '<' ( (lv_typeParameters_17_0= ruleJvmTypeParameter ) ) (otherlv_18= ',' ( (lv_typeParameters_19_0= ruleJvmTypeParameter ) ) )* otherlv_20= '>' )? ( ( ( ( ({...}? => ( ({...}? => (otherlv_22= 'extends' ( (lv_extends_23_0= ruleJvmParameterizedTypeReference ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'implements' ( (lv_implements_25_0= ruleJvmParameterizedTypeReference ) ) (otherlv_26= ',' ( (lv_implements_27_0= ruleJvmParameterizedTypeReference ) ) )* ) ) ) ) )* ) ) ) otherlv_28= '{' ( (lv_members_29_0= ruleMember ) )* otherlv_30= '}' ) | ( () ( (lv_modifiers_32_0= ruleCommonModifier ) )* otherlv_33= 'interface' ( (lv_name_34_0= ruleValidID ) ) (otherlv_35= '<' ( (lv_typeParameters_36_0= ruleJvmTypeParameter ) ) (otherlv_37= ',' ( (lv_typeParameters_38_0= ruleJvmTypeParameter ) ) )* otherlv_39= '>' )? (otherlv_40= 'extends' ( (lv_extends_41_0= ruleJvmParameterizedTypeReference ) ) (otherlv_42= ',' ( (lv_extends_43_0= ruleJvmParameterizedTypeReference ) ) )* )? otherlv_44= '{' ( (lv_members_45_0= ruleMember ) )* otherlv_46= '}' ) | ( () ( (lv_modifiers_48_0= ruleCommonModifier ) )* otherlv_49= 'enum' ( (lv_name_50_0= ruleValidID ) ) otherlv_51= '{' ( ( (lv_members_52_0= ruleXtendEnumLiteral ) ) (otherlv_53= ',' ( (lv_members_54_0= ruleXtendEnumLiteral ) ) )* )? (otherlv_55= ';' )? otherlv_56= '}' ) | ( () ( (lv_modifiers_58_0= ruleCommonModifier ) )* otherlv_59= 'annotation' ( (lv_name_60_0= ruleValidID ) ) otherlv_61= '{' ( (lv_members_62_0= ruleAnnotationField ) )* otherlv_63= '}' ) )"; } } static final String dfa_38s = "\73\uffff"; static final String dfa_39s = "\1\4\3\uffff\1\0\53\uffff\1\0\12\uffff"; static final String dfa_40s = "\1\u0089\3\uffff\1\0\53\uffff\1\0\12\uffff"; static final String dfa_41s = "\1\uffff\1\1\1\2\1\3\1\uffff\1\5\35\uffff\1\6\13\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\4\1\10\1\11"; static final String dfa_42s = "\4\uffff\1\0\53\uffff\1\1\12\uffff}>"; static final String[] dfa_43s = { "\1\5\3\43\4\uffff\3\43\12\uffff\1\5\2\uffff\1\5\1\2\6\uffff\1\5\2\uffff\2\5\1\uffff\4\5\2\uffff\1\1\1\66\1\uffff\1\5\3\uffff\1\43\4\uffff\1\67\2\uffff\1\60\1\uffff\1\3\3\uffff\12\5\1\4\10\5\7\uffff\1\43\35\uffff\1\57\2\uffff\1\61\1\62\1\5\4\43\1\63\1\64\1\65", "", "", "", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "\1\uffff", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_38 = DFA.unpackEncodedString(dfa_38s); static final char[] dfa_39 = DFA.unpackEncodedStringToUnsignedChars(dfa_39s); static final char[] dfa_40 = DFA.unpackEncodedStringToUnsignedChars(dfa_40s); static final short[] dfa_41 = DFA.unpackEncodedString(dfa_41s); static final short[] dfa_42 = DFA.unpackEncodedString(dfa_42s); static final short[][] dfa_43 = unpackEncodedStringArray(dfa_43s); class DFA215 extends DFA { public DFA215(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 215; this.eot = dfa_38; this.eof = dfa_38; this.min = dfa_39; this.max = dfa_40; this.accept = dfa_41; this.special = dfa_42; this.transition = dfa_43; } public String getDescription() { return "7493:2: (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' '(' ( ( ruleSarlXLoopFormalParameter ) ) ':' ) )=>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 | this_BreakExpression_15= ruleBreakExpression )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA215_4 = input.LA(1); int index215_4 = input.index(); input.rewind(); s = -1; if ( (synpred1_InternalSARL()) ) {s = 56;} else if ( (true) ) {s = 5;} input.seek(index215_4); if ( s>=0 ) return s; break; case 1 : int LA215_48 = input.LA(1); int index215_48 = input.index(); input.rewind(); s = -1; if ( (synpred2_InternalSARL()) ) {s = 57;} else if ( (true) ) {s = 58;} input.seek(index215_48); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 215, _s, input); error(nvae); throw nvae; } } static final String dfa_44s = "\74\uffff"; static final String dfa_45s = "\1\4\1\0\72\uffff"; static final String dfa_46s = "\1\u0089\1\0\72\uffff"; static final String dfa_47s = "\2\uffff\1\2\70\uffff\1\1"; static final String dfa_48s = "\1\uffff\1\0\72\uffff}>"; static final String[] dfa_49s = { "\4\2\4\uffff\3\2\12\uffff\1\2\2\uffff\2\2\6\uffff\1\2\2\uffff\2\2\1\uffff\4\2\2\uffff\1\2\1\1\1\uffff\1\2\3\uffff\1\2\4\uffff\1\2\2\uffff\1\2\1\uffff\1\2\3\uffff\23\2\7\uffff\1\2\22\uffff\2\2\3\uffff\1\2\5\uffff\1\2\2\uffff\12\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_44 = DFA.unpackEncodedString(dfa_44s); static final char[] dfa_45 = DFA.unpackEncodedStringToUnsignedChars(dfa_45s); static final char[] dfa_46 = DFA.unpackEncodedStringToUnsignedChars(dfa_46s); static final short[] dfa_47 = DFA.unpackEncodedString(dfa_47s); static final short[] dfa_48 = DFA.unpackEncodedString(dfa_48s); static final short[][] dfa_49 = unpackEncodedStringArray(dfa_49s); class DFA229 extends DFA { public DFA229(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 229; this.eot = dfa_44; this.eof = dfa_44; this.min = dfa_45; this.max = dfa_46; this.accept = dfa_47; this.special = dfa_48; this.transition = dfa_49; } public String getDescription() { return "8269:3: ( ( ( ( ( '(' ( ( 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 LA229_1 = input.LA(1); int index229_1 = input.index(); input.rewind(); s = -1; if ( (synpred6_InternalSARL()) ) {s = 59;} else if ( (true) ) {s = 2;} input.seek(index229_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 229, _s, input); error(nvae); throw nvae; } } static final String dfa_50s = "\1\4\7\0\64\uffff"; static final String dfa_51s = "\1\u0089\7\0\64\uffff"; static final String dfa_52s = "\10\uffff\1\2\62\uffff\1\1"; static final String dfa_53s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\64\uffff}>"; static final String[] dfa_54s = { "\1\2\3\10\4\uffff\3\10\12\uffff\1\10\2\uffff\2\10\6\uffff\1\10\2\uffff\2\10\1\uffff\2\10\1\4\1\1\2\uffff\2\10\1\uffff\1\10\3\uffff\1\10\4\uffff\1\10\2\uffff\1\10\1\uffff\1\10\3\uffff\16\10\1\3\1\5\1\6\1\7\1\10\7\uffff\1\10\22\uffff\2\10\3\uffff\1\10\5\uffff\1\10\2\uffff\12\10", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final char[] dfa_50 = DFA.unpackEncodedStringToUnsignedChars(dfa_50s); static final char[] dfa_51 = DFA.unpackEncodedStringToUnsignedChars(dfa_51s); static final short[] dfa_52 = DFA.unpackEncodedString(dfa_52s); static final short[] dfa_53 = DFA.unpackEncodedString(dfa_53s); static final short[][] dfa_54 = unpackEncodedStringArray(dfa_54s); class DFA228 extends DFA { public DFA228(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 228; this.eot = dfa_44; this.eof = dfa_44; this.min = dfa_50; this.max = dfa_51; this.accept = dfa_52; this.special = dfa_53; this.transition = dfa_54; } public String getDescription() { return "8338:5: ( ( ( ( ( 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 LA228_1 = input.LA(1); int index228_1 = input.index(); input.rewind(); s = -1; if ( (synpred7_InternalSARL()) ) {s = 59;} else if ( (true) ) {s = 8;} input.seek(index228_1); if ( s>=0 ) return s; break; case 1 : int LA228_2 = input.LA(1); int index228_2 = input.index(); input.rewind(); s = -1; if ( (synpred7_InternalSARL()) ) {s = 59;} else if ( (true) ) {s = 8;} input.seek(index228_2); if ( s>=0 ) return s; break; case 2 : int LA228_3 = input.LA(1); int index228_3 = input.index(); input.rewind(); s = -1; if ( (synpred7_InternalSARL()) ) {s = 59;} else if ( (true) ) {s = 8;} input.seek(index228_3); if ( s>=0 ) return s; break; case 3 : int LA228_4 = input.LA(1); int index228_4 = input.index(); input.rewind(); s = -1; if ( (synpred7_InternalSARL()) ) {s = 59;} else if ( (true) ) {s = 8;} input.seek(index228_4); if ( s>=0 ) return s; break; case 4 : int LA228_5 = input.LA(1); int index228_5 = input.index(); input.rewind(); s = -1; if ( (synpred7_InternalSARL()) ) {s = 59;} else if ( (true) ) {s = 8;} input.seek(index228_5); if ( s>=0 ) return s; break; case 5 : int LA228_6 = input.LA(1); int index228_6 = input.index(); input.rewind(); s = -1; if ( (synpred7_InternalSARL()) ) {s = 59;} else if ( (true) ) {s = 8;} input.seek(index228_6); if ( s>=0 ) return s; break; case 6 : int LA228_7 = input.LA(1); int index228_7 = input.index(); input.rewind(); s = -1; if ( (synpred7_InternalSARL()) ) {s = 59;} else if ( (true) ) {s = 8;} input.seek(index228_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 228, _s, input); error(nvae); throw nvae; } } static final String dfa_55s = "\21\uffff"; static final String dfa_56s = "\1\4\6\50\1\uffff\1\4\2\uffff\6\50"; static final String dfa_57s = "\1\126\6\104\1\uffff\1\126\2\uffff\6\104"; static final String dfa_58s = "\7\uffff\1\3\1\uffff\1\2\1\1\6\uffff"; static final String dfa_59s = "\21\uffff}>"; static final String[] dfa_60s = { "\1\1\47\uffff\1\3\4\uffff\1\7\21\uffff\1\7\17\uffff\1\2\1\4\1\5\1\6", "\1\12\16\uffff\1\11\14\uffff\1\10", "\1\12\16\uffff\1\11\14\uffff\1\10", "\1\12\16\uffff\1\11\14\uffff\1\10", "\1\12\16\uffff\1\11\14\uffff\1\10", "\1\12\16\uffff\1\11\14\uffff\1\10", "\1\12\16\uffff\1\11\14\uffff\1\10", "", "\1\13\47\uffff\1\15\46\uffff\1\14\1\16\1\17\1\20", "", "", "\1\12\16\uffff\1\11\14\uffff\1\10", "\1\12\16\uffff\1\11\14\uffff\1\10", "\1\12\16\uffff\1\11\14\uffff\1\10", "\1\12\16\uffff\1\11\14\uffff\1\10", "\1\12\16\uffff\1\11\14\uffff\1\10", "\1\12\16\uffff\1\11\14\uffff\1\10" }; 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 DFA237 extends DFA { public DFA237(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 237; 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 "8610:2: ( (this_ParameterizedTypeReferenceWithTypeArgs_0= ruleParameterizedTypeReferenceWithTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | (this_TypeReferenceNoTypeArgs_3= ruleTypeReferenceNoTypeArgs ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )+ ) | this_XFunctionTypeRef_6= ruleXFunctionTypeRef )"; } } static final String dfa_61s = "\16\uffff"; static final String dfa_62s = "\2\uffff\2\7\10\uffff\2\10"; static final String dfa_63s = "\1\50\1\uffff\2\31\10\uffff\2\31"; static final String dfa_64s = "\1\171\1\uffff\1\136\1\157\10\uffff\1\136\1\145"; static final String dfa_65s = "\1\uffff\1\1\2\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\2\uffff"; static final String dfa_66s = "\16\uffff}>"; static final String[] dfa_67s = { "\1\2\1\3\21\uffff\1\11\7\uffff\1\10\34\uffff\5\1\1\7\1\4\1\5\4\6\1\uffff\5\10\2\12\3\11\1\12\2\13", "", "\2\7\2\uffff\2\7\10\uffff\1\7\1\14\1\uffff\10\7\1\uffff\4\7\2\uffff\2\7\2\uffff\2\7\4\uffff\1\10\1\uffff\16\7\13\uffff\1\7", "\2\7\2\uffff\2\7\10\uffff\1\7\1\uffff\1\15\5\7\1\uffff\2\7\1\uffff\4\7\2\uffff\2\7\2\uffff\2\7\6\uffff\16\7\13\uffff\1\7\6\uffff\1\1\11\uffff\1\10", "", "", "", "", "", "", "", "", "\2\10\2\uffff\2\10\10\uffff\2\10\1\uffff\5\10\1\1\2\10\1\uffff\4\10\2\uffff\2\10\2\uffff\2\10\6\uffff\16\10\13\uffff\1\10", "\2\10\2\uffff\2\10\10\uffff\1\10\1\uffff\6\10\1\uffff\2\10\1\uffff\4\10\2\uffff\2\10\2\uffff\2\10\6\uffff\16\10\13\uffff\1\10\6\uffff\1\1" }; static final short[] dfa_61 = DFA.unpackEncodedString(dfa_61s); static final short[] dfa_62 = DFA.unpackEncodedString(dfa_62s); static final char[] dfa_63 = DFA.unpackEncodedStringToUnsignedChars(dfa_63s); static final char[] dfa_64 = DFA.unpackEncodedStringToUnsignedChars(dfa_64s); static final short[] dfa_65 = DFA.unpackEncodedString(dfa_65s); static final short[] dfa_66 = DFA.unpackEncodedString(dfa_66s); static final short[][] dfa_67 = unpackEncodedStringArray(dfa_67s); class DFA243 extends DFA { public DFA243(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 243; this.eot = dfa_61; this.eof = dfa_62; this.min = dfa_63; this.max = dfa_64; this.accept = dfa_65; this.special = dfa_66; this.transition = dfa_67; } public String getDescription() { return "8932:2: (this_OpMultiAssign_0= ruleOpMultiAssign | this_OpOr_1= ruleOpOr | this_OpAnd_2= ruleOpAnd | this_OpEquality_3= ruleOpEquality | this_OpCompare_4= ruleOpCompare | this_OpOther_5= ruleOpOther | this_OpMulti_6= ruleOpMulti | this_OpUnary_7= ruleOpUnary | this_OpPostfix_8= ruleOpPostfix )"; } } static final String dfa_68s = "\160\uffff"; static final String dfa_69s = "\1\2\157\uffff"; static final String dfa_70s = "\1\4\1\0\156\uffff"; static final String dfa_71s = "\1\u008b\1\0\156\uffff"; static final String dfa_72s = "\2\uffff\1\2\154\uffff\1\1"; static final String dfa_73s = "\1\uffff\1\0\156\uffff}>"; static final String[] dfa_74s = { "\13\2\12\uffff\2\2\1\uffff\1\2\1\1\1\2\1\uffff\1\2\3\uffff\1\2\2\uffff\10\2\1\uffff\4\2\2\uffff\42\2\6\uffff\36\2\1\uffff\17\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_68 = DFA.unpackEncodedString(dfa_68s); static final short[] dfa_69 = DFA.unpackEncodedString(dfa_69s); static final char[] dfa_70 = DFA.unpackEncodedStringToUnsignedChars(dfa_70s); static final char[] dfa_71 = DFA.unpackEncodedStringToUnsignedChars(dfa_71s); static final short[] dfa_72 = DFA.unpackEncodedString(dfa_72s); static final short[] dfa_73 = DFA.unpackEncodedString(dfa_73s); static final short[][] dfa_74 = unpackEncodedStringArray(dfa_74s); class DFA251 extends DFA { public DFA251(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 251; this.eot = dfa_68; this.eof = dfa_69; this.min = dfa_70; this.max = dfa_71; this.accept = dfa_72; this.special = dfa_73; this.transition = dfa_74; } public String getDescription() { return "9493:3: ( ( ( ( () '{' ) )=> ( () otherlv_2= '{' ) ) ( (lv_members_3_0= ruleMember ) )* otherlv_4= '}' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA251_1 = input.LA(1); int index251_1 = input.index(); input.rewind(); s = -1; if ( (synpred12_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 2;} input.seek(index251_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 251, _s, input); error(nvae); throw nvae; } } static final String[] dfa_75s = { "\13\2\12\uffff\2\2\1\uffff\3\2\1\uffff\1\2\3\uffff\1\2\2\uffff\1\2\1\1\6\2\1\uffff\4\2\2\uffff\42\2\6\uffff\36\2\1\uffff\17\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[][] dfa_75 = unpackEncodedStringArray(dfa_75s); class DFA253 extends DFA { public DFA253(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 253; this.eot = dfa_68; this.eof = dfa_69; this.min = dfa_70; this.max = dfa_71; this.accept = dfa_72; this.special = dfa_73; this.transition = dfa_75; } public String getDescription() { return "9585:3: ( ( ( '<' )=>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 LA253_1 = input.LA(1); int index253_1 = input.index(); input.rewind(); s = -1; if ( (synpred13_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 2;} input.seek(index253_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 253, _s, input); error(nvae); throw nvae; } } static final String[] dfa_76s = { "\13\2\12\uffff\2\2\1\uffff\3\2\1\uffff\1\2\3\uffff\1\2\2\uffff\10\2\1\uffff\1\2\1\1\2\2\2\uffff\42\2\6\uffff\36\2\1\uffff\17\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[][] dfa_76 = unpackEncodedStringArray(dfa_76s); class DFA256 extends DFA { public DFA256(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 256; this.eot = dfa_68; this.eof = dfa_69; this.min = dfa_70; this.max = dfa_71; this.accept = dfa_72; this.special = dfa_73; this.transition = dfa_76; } public String getDescription() { return "9642: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 LA256_1 = input.LA(1); int index256_1 = input.index(); input.rewind(); s = -1; if ( (synpred14_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 2;} input.seek(index256_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 256, _s, input); error(nvae); throw nvae; } } static final String dfa_77s = "\41\uffff"; static final String dfa_78s = "\2\4\6\40\12\uffff\1\4\6\40\1\4\7\uffff"; static final String dfa_79s = "\1\u0089\1\173\6\174\12\uffff\1\u0089\6\174\1\173\7\uffff"; static final String dfa_80s = "\10\uffff\1\1\1\2\1\3\7\1\10\uffff\7\1"; static final String dfa_81s = "\1\14\1\0\1\13\1\11\1\5\1\3\1\7\1\15\13\uffff\1\16\1\4\1\10\1\2\1\6\1\12\1\1\7\uffff}>"; static final String[] dfa_82s = { "\1\2\3\11\4\uffff\3\11\12\uffff\1\11\2\uffff\2\11\6\uffff\1\11\2\uffff\2\11\1\uffff\2\11\1\4\1\1\2\uffff\2\11\1\12\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\1\11\1\uffff\1\11\3\uffff\16\11\1\3\1\5\1\6\1\7\1\11\7\uffff\1\11\22\uffff\2\11\3\uffff\1\11\4\uffff\1\10\1\11\2\uffff\12\11", "\1\13\33\uffff\1\11\7\uffff\2\11\2\uffff\1\15\2\uffff\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\16\uffff\1\14\1\16\1\17\1\20\11\uffff\27\11\1\uffff\4\11", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "", "", "", "", "", "", "", "", "", "", "\1\23\3\11\4\uffff\3\11\12\uffff\1\11\2\uffff\2\11\6\uffff\1\11\2\uffff\2\11\1\uffff\2\11\1\24\1\31\2\uffff\2\11\1\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\1\11\1\uffff\1\11\3\uffff\16\11\1\25\1\26\1\27\1\30\1\11\7\uffff\1\11\22\uffff\2\11\3\uffff\1\11\5\uffff\1\11\2\uffff\12\11", "\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\32\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\33\33\uffff\1\11\7\uffff\2\11\2\uffff\1\35\2\uffff\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\16\uffff\1\34\1\36\1\37\1\40\11\uffff\27\11\1\uffff\4\11", "", "", "", "", "", "", "" }; static final short[] dfa_77 = DFA.unpackEncodedString(dfa_77s); static final char[] dfa_78 = DFA.unpackEncodedStringToUnsignedChars(dfa_78s); static final char[] dfa_79 = DFA.unpackEncodedStringToUnsignedChars(dfa_79s); static final short[] dfa_80 = DFA.unpackEncodedString(dfa_80s); static final short[] dfa_81 = DFA.unpackEncodedString(dfa_81s); static final short[][] dfa_82 = unpackEncodedStringArray(dfa_82s); class DFA255 extends DFA { public DFA255(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 255; this.eot = dfa_77; this.eof = dfa_77; this.min = dfa_78; this.max = dfa_79; this.accept = dfa_80; this.special = dfa_81; this.transition = dfa_82; } public String getDescription() { return "9661:4: ( ( ( ( () ( ( ( 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 LA255_1 = input.LA(1); int index255_1 = input.index(); input.rewind(); s = -1; if ( (LA255_1==32||(LA255_1>=40 && LA255_1<=41)||LA255_1==47||(LA255_1>=49 && LA255_1<=50)||LA255_1==55||LA255_1==59||LA255_1==64||(LA255_1>=67 && LA255_1<=68)||(LA255_1>=96 && LA255_1<=118)||(LA255_1>=120 && LA255_1<=123)) ) {s = 9;} else if ( (LA255_1==RULE_ID) && (synpred15_InternalSARL())) {s = 11;} else if ( (LA255_1==83) && (synpred15_InternalSARL())) {s = 12;} else if ( (LA255_1==44) && (synpred15_InternalSARL())) {s = 13;} else if ( (LA255_1==84) && (synpred15_InternalSARL())) {s = 14;} else if ( (LA255_1==85) && (synpred15_InternalSARL())) {s = 15;} else if ( (LA255_1==86) && (synpred15_InternalSARL())) {s = 16;} input.seek(index255_1); if ( s>=0 ) return s; break; case 1 : int LA255_25 = input.LA(1); int index255_25 = input.index(); input.rewind(); s = -1; if ( (LA255_25==32||(LA255_25>=40 && LA255_25<=41)||LA255_25==47||(LA255_25>=49 && LA255_25<=50)||LA255_25==55||LA255_25==59||LA255_25==64||(LA255_25>=67 && LA255_25<=68)||(LA255_25>=96 && LA255_25<=118)||(LA255_25>=120 && LA255_25<=123)) ) {s = 9;} else if ( (LA255_25==RULE_ID) && (synpred15_InternalSARL())) {s = 27;} else if ( (LA255_25==83) && (synpred15_InternalSARL())) {s = 28;} else if ( (LA255_25==44) && (synpred15_InternalSARL())) {s = 29;} else if ( (LA255_25==84) && (synpred15_InternalSARL())) {s = 30;} else if ( (LA255_25==85) && (synpred15_InternalSARL())) {s = 31;} else if ( (LA255_25==86) && (synpred15_InternalSARL())) {s = 32;} input.seek(index255_25); if ( s>=0 ) return s; break; case 2 : int LA255_22 = input.LA(1); int index255_22 = input.index(); input.rewind(); s = -1; if ( ((LA255_22>=40 && LA255_22<=41)||LA255_22==47||(LA255_22>=49 && LA255_22<=50)||LA255_22==55||LA255_22==59||LA255_22==64||(LA255_22>=67 && LA255_22<=68)||(LA255_22>=96 && LA255_22<=118)||(LA255_22>=120 && LA255_22<=123)) ) {s = 9;} else if ( (LA255_22==32) ) {s = 18;} else if ( (LA255_22==46) && (synpred15_InternalSARL())) {s = 26;} else if ( (LA255_22==124) && (synpred15_InternalSARL())) {s = 8;} input.seek(index255_22); if ( s>=0 ) return s; break; case 3 : int LA255_5 = input.LA(1); int index255_5 = input.index(); input.rewind(); s = -1; if ( ((LA255_5>=40 && LA255_5<=41)||LA255_5==47||(LA255_5>=49 && LA255_5<=50)||LA255_5==55||LA255_5==59||LA255_5==64||(LA255_5>=67 && LA255_5<=68)||(LA255_5>=96 && LA255_5<=118)||(LA255_5>=120 && LA255_5<=123)) ) {s = 9;} else if ( (LA255_5==32) ) {s = 18;} else if ( (LA255_5==46) && (synpred15_InternalSARL())) {s = 17;} else if ( (LA255_5==124) && (synpred15_InternalSARL())) {s = 8;} input.seek(index255_5); if ( s>=0 ) return s; break; case 4 : int LA255_20 = input.LA(1); int index255_20 = input.index(); input.rewind(); s = -1; if ( ((LA255_20>=40 && LA255_20<=41)||LA255_20==47||(LA255_20>=49 && LA255_20<=50)||LA255_20==55||LA255_20==59||LA255_20==64||(LA255_20>=67 && LA255_20<=68)||(LA255_20>=96 && LA255_20<=118)||(LA255_20>=120 && LA255_20<=123)) ) {s = 9;} else if ( (LA255_20==32) ) {s = 18;} else if ( (LA255_20==46) && (synpred15_InternalSARL())) {s = 26;} else if ( (LA255_20==124) && (synpred15_InternalSARL())) {s = 8;} input.seek(index255_20); if ( s>=0 ) return s; break; case 5 : int LA255_4 = input.LA(1); int index255_4 = input.index(); input.rewind(); s = -1; if ( ((LA255_4>=40 && LA255_4<=41)||LA255_4==47||(LA255_4>=49 && LA255_4<=50)||LA255_4==55||LA255_4==59||LA255_4==64||(LA255_4>=67 && LA255_4<=68)||(LA255_4>=96 && LA255_4<=118)||(LA255_4>=120 && LA255_4<=123)) ) {s = 9;} else if ( (LA255_4==46) && (synpred15_InternalSARL())) {s = 17;} else if ( (LA255_4==32) ) {s = 18;} else if ( (LA255_4==124) && (synpred15_InternalSARL())) {s = 8;} input.seek(index255_4); if ( s>=0 ) return s; break; case 6 : int LA255_23 = input.LA(1); int index255_23 = input.index(); input.rewind(); s = -1; if ( (LA255_23==46) && (synpred15_InternalSARL())) {s = 26;} else if ( (LA255_23==124) && (synpred15_InternalSARL())) {s = 8;} else if ( (LA255_23==32) ) {s = 18;} else if ( ((LA255_23>=40 && LA255_23<=41)||LA255_23==47||(LA255_23>=49 && LA255_23<=50)||LA255_23==55||LA255_23==59||LA255_23==64||(LA255_23>=67 && LA255_23<=68)||(LA255_23>=96 && LA255_23<=118)||(LA255_23>=120 && LA255_23<=123)) ) {s = 9;} input.seek(index255_23); if ( s>=0 ) return s; break; case 7 : int LA255_6 = input.LA(1); int index255_6 = input.index(); input.rewind(); s = -1; if ( ((LA255_6>=40 && LA255_6<=41)||LA255_6==47||(LA255_6>=49 && LA255_6<=50)||LA255_6==55||LA255_6==59||LA255_6==64||(LA255_6>=67 && LA255_6<=68)||(LA255_6>=96 && LA255_6<=118)||(LA255_6>=120 && LA255_6<=123)) ) {s = 9;} else if ( (LA255_6==46) && (synpred15_InternalSARL())) {s = 17;} else if ( (LA255_6==32) ) {s = 18;} else if ( (LA255_6==124) && (synpred15_InternalSARL())) {s = 8;} input.seek(index255_6); if ( s>=0 ) return s; break; case 8 : int LA255_21 = input.LA(1); int index255_21 = input.index(); input.rewind(); s = -1; if ( ((LA255_21>=40 && LA255_21<=41)||LA255_21==47||(LA255_21>=49 && LA255_21<=50)||LA255_21==55||LA255_21==59||LA255_21==64||(LA255_21>=67 && LA255_21<=68)||(LA255_21>=96 && LA255_21<=118)||(LA255_21>=120 && LA255_21<=123)) ) {s = 9;} else if ( (LA255_21==32) ) {s = 18;} else if ( (LA255_21==46) && (synpred15_InternalSARL())) {s = 26;} else if ( (LA255_21==124) && (synpred15_InternalSARL())) {s = 8;} input.seek(index255_21); if ( s>=0 ) return s; break; case 9 : int LA255_3 = input.LA(1); int index255_3 = input.index(); input.rewind(); s = -1; if ( (LA255_3==46) && (synpred15_InternalSARL())) {s = 17;} else if ( (LA255_3==32) ) {s = 18;} else if ( (LA255_3==124) && (synpred15_InternalSARL())) {s = 8;} else if ( ((LA255_3>=40 && LA255_3<=41)||LA255_3==47||(LA255_3>=49 && LA255_3<=50)||LA255_3==55||LA255_3==59||LA255_3==64||(LA255_3>=67 && LA255_3<=68)||(LA255_3>=96 && LA255_3<=118)||(LA255_3>=120 && LA255_3<=123)) ) {s = 9;} input.seek(index255_3); if ( s>=0 ) return s; break; case 10 : int LA255_24 = input.LA(1); int index255_24 = input.index(); input.rewind(); s = -1; if ( ((LA255_24>=40 && LA255_24<=41)||LA255_24==47||(LA255_24>=49 && LA255_24<=50)||LA255_24==55||LA255_24==59||LA255_24==64||(LA255_24>=67 && LA255_24<=68)||(LA255_24>=96 && LA255_24<=118)||(LA255_24>=120 && LA255_24<=123)) ) {s = 9;} else if ( (LA255_24==46) && (synpred15_InternalSARL())) {s = 26;} else if ( (LA255_24==124) && (synpred15_InternalSARL())) {s = 8;} else if ( (LA255_24==32) ) {s = 18;} input.seek(index255_24); if ( s>=0 ) return s; break; case 11 : int LA255_2 = input.LA(1); int index255_2 = input.index(); input.rewind(); s = -1; if ( (LA255_2==46) && (synpred15_InternalSARL())) {s = 17;} else if ( (LA255_2==32) ) {s = 18;} else if ( (LA255_2==124) && (synpred15_InternalSARL())) {s = 8;} else if ( ((LA255_2>=40 && LA255_2<=41)||LA255_2==47||(LA255_2>=49 && LA255_2<=50)||LA255_2==55||LA255_2==59||LA255_2==64||(LA255_2>=67 && LA255_2<=68)||(LA255_2>=96 && LA255_2<=118)||(LA255_2>=120 && LA255_2<=123)) ) {s = 9;} input.seek(index255_2); if ( s>=0 ) return s; break; case 12 : int LA255_0 = input.LA(1); int index255_0 = input.index(); input.rewind(); s = -1; if ( (LA255_0==45) ) {s = 1;} else if ( (LA255_0==RULE_ID) ) {s = 2;} else if ( (LA255_0==83) ) {s = 3;} else if ( (LA255_0==44) ) {s = 4;} else if ( (LA255_0==84) ) {s = 5;} else if ( (LA255_0==85) ) {s = 6;} else if ( (LA255_0==86) ) {s = 7;} else if ( (LA255_0==124) && (synpred15_InternalSARL())) {s = 8;} else if ( ((LA255_0>=RULE_STRING && LA255_0<=RULE_RICH_TEXT_START)||(LA255_0>=RULE_HEX && LA255_0<=RULE_DECIMAL)||LA255_0==25||(LA255_0>=28 && LA255_0<=29)||LA255_0==36||(LA255_0>=39 && LA255_0<=40)||(LA255_0>=42 && LA255_0<=43)||(LA255_0>=48 && LA255_0<=49)||LA255_0==51||LA255_0==55||LA255_0==60||LA255_0==63||LA255_0==65||(LA255_0>=69 && LA255_0<=82)||LA255_0==87||LA255_0==95||(LA255_0>=114 && LA255_0<=115)||LA255_0==119||LA255_0==125||(LA255_0>=128 && LA255_0<=137)) ) {s = 9;} else if ( (LA255_0==50) ) {s = 10;} input.seek(index255_0); if ( s>=0 ) return s; break; case 13 : int LA255_7 = input.LA(1); int index255_7 = input.index(); input.rewind(); s = -1; if ( ((LA255_7>=40 && LA255_7<=41)||LA255_7==47||(LA255_7>=49 && LA255_7<=50)||LA255_7==55||LA255_7==59||LA255_7==64||(LA255_7>=67 && LA255_7<=68)||(LA255_7>=96 && LA255_7<=118)||(LA255_7>=120 && LA255_7<=123)) ) {s = 9;} else if ( (LA255_7==32) ) {s = 18;} else if ( (LA255_7==46) && (synpred15_InternalSARL())) {s = 17;} else if ( (LA255_7==124) && (synpred15_InternalSARL())) {s = 8;} input.seek(index255_7); if ( s>=0 ) return s; break; case 14 : int LA255_19 = input.LA(1); int index255_19 = input.index(); input.rewind(); s = -1; if ( ((LA255_19>=40 && LA255_19<=41)||LA255_19==47||(LA255_19>=49 && LA255_19<=50)||LA255_19==55||LA255_19==59||LA255_19==64||(LA255_19>=67 && LA255_19<=68)||(LA255_19>=96 && LA255_19<=118)||(LA255_19>=120 && LA255_19<=123)) ) {s = 9;} else if ( (LA255_19==32) ) {s = 18;} else if ( (LA255_19==46) && (synpred15_InternalSARL())) {s = 26;} else if ( (LA255_19==124) && (synpred15_InternalSARL())) {s = 8;} input.seek(index255_19); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 255, _s, input); error(nvae); throw nvae; } } static final String[] dfa_83s = { "\13\2\12\uffff\2\2\1\uffff\3\2\1\uffff\1\2\3\uffff\1\2\2\uffff\10\2\1\uffff\4\2\2\uffff\1\2\1\1\40\2\6\uffff\36\2\1\uffff\17\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[][] dfa_83 = unpackEncodedStringArray(dfa_83s); class DFA257 extends DFA { public DFA257(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 257; this.eot = dfa_68; this.eof = dfa_69; this.min = dfa_70; this.max = dfa_71; this.accept = dfa_72; this.special = dfa_73; this.transition = dfa_83; } public String getDescription() { return "9759: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 LA257_1 = input.LA(1); int index257_1 = input.index(); input.rewind(); s = -1; if ( (synpred16_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 2;} input.seek(index257_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 257, _s, input); error(nvae); throw nvae; } } static final String dfa_84s = "\76\uffff"; static final String dfa_85s = "\1\4\6\0\67\uffff"; static final String dfa_86s = "\1\u0089\6\0\67\uffff"; static final String dfa_87s = "\7\uffff\1\2\64\uffff\1\3\1\1"; static final String dfa_88s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\67\uffff}>"; static final String[] dfa_89s = { "\1\1\3\7\4\uffff\3\7\12\uffff\1\7\2\uffff\2\7\6\uffff\1\7\2\uffff\2\7\1\uffff\2\7\1\3\1\7\2\uffff\2\7\1\74\1\7\3\uffff\1\7\4\uffff\1\7\2\uffff\1\7\1\uffff\1\7\3\uffff\16\7\1\2\1\4\1\5\1\6\1\7\6\uffff\2\7\22\uffff\2\7\3\uffff\1\7\5\uffff\1\7\2\uffff\12\7", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_84 = DFA.unpackEncodedString(dfa_84s); static final char[] dfa_85 = DFA.unpackEncodedStringToUnsignedChars(dfa_85s); static final char[] dfa_86 = DFA.unpackEncodedStringToUnsignedChars(dfa_86s); static final short[] dfa_87 = DFA.unpackEncodedString(dfa_87s); static final short[] dfa_88 = DFA.unpackEncodedString(dfa_88s); static final short[][] dfa_89 = unpackEncodedStringArray(dfa_89s); class DFA274 extends DFA { public DFA274(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 274; this.eot = dfa_84; this.eof = dfa_84; this.min = dfa_85; this.max = dfa_86; this.accept = dfa_87; this.special = dfa_88; this.transition = dfa_89; } public String getDescription() { return "10762:4: ( ( ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_4_0= ruleXAnnotationElementValuePair ) ) (otherlv_5= ',' ( ( ( ( ( ruleValidID ) ) '=' ) )=> (lv_elementValuePairs_6_0= ruleXAnnotationElementValuePair ) ) )* ) | ( (lv_value_7_0= ruleXAnnotationElementValueOrCommaList ) ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA274_1 = input.LA(1); int index274_1 = input.index(); input.rewind(); s = -1; if ( (synpred18_InternalSARL()) ) {s = 61;} else if ( (true) ) {s = 7;} input.seek(index274_1); if ( s>=0 ) return s; break; case 1 : int LA274_2 = input.LA(1); int index274_2 = input.index(); input.rewind(); s = -1; if ( (synpred18_InternalSARL()) ) {s = 61;} else if ( (true) ) {s = 7;} input.seek(index274_2); if ( s>=0 ) return s; break; case 2 : int LA274_3 = input.LA(1); int index274_3 = input.index(); input.rewind(); s = -1; if ( (synpred18_InternalSARL()) ) {s = 61;} else if ( (true) ) {s = 7;} input.seek(index274_3); if ( s>=0 ) return s; break; case 3 : int LA274_4 = input.LA(1); int index274_4 = input.index(); input.rewind(); s = -1; if ( (synpred18_InternalSARL()) ) {s = 61;} else if ( (true) ) {s = 7;} input.seek(index274_4); if ( s>=0 ) return s; break; case 4 : int LA274_5 = input.LA(1); int index274_5 = input.index(); input.rewind(); s = -1; if ( (synpred18_InternalSARL()) ) {s = 61;} else if ( (true) ) {s = 7;} input.seek(index274_5); if ( s>=0 ) return s; break; case 5 : int LA274_6 = input.LA(1); int index274_6 = input.index(); input.rewind(); s = -1; if ( (synpred18_InternalSARL()) ) {s = 61;} else if ( (true) ) {s = 7;} input.seek(index274_6); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 274, _s, input); error(nvae); throw nvae; } } static final String dfa_90s = "\75\uffff"; static final String dfa_91s = "\1\4\1\0\73\uffff"; static final String dfa_92s = "\1\u0089\1\0\73\uffff"; static final String dfa_93s = "\2\uffff\1\2\71\uffff\1\1"; static final String dfa_94s = "\1\uffff\1\0\73\uffff}>"; static final String[] dfa_95s = { "\4\2\4\uffff\3\2\12\uffff\1\2\2\uffff\2\2\6\uffff\1\2\2\uffff\2\2\1\uffff\4\2\2\uffff\2\2\1\uffff\1\2\3\uffff\1\2\4\uffff\1\2\2\uffff\1\2\1\uffff\1\2\3\uffff\23\2\6\uffff\1\2\1\1\22\uffff\2\2\3\uffff\1\2\5\uffff\1\2\2\uffff\12\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_90 = DFA.unpackEncodedString(dfa_90s); static final char[] dfa_91 = DFA.unpackEncodedStringToUnsignedChars(dfa_91s); static final char[] dfa_92 = DFA.unpackEncodedStringToUnsignedChars(dfa_92s); static final short[] dfa_93 = DFA.unpackEncodedString(dfa_93s); static final short[] dfa_94 = DFA.unpackEncodedString(dfa_94s); static final short[][] dfa_95 = unpackEncodedStringArray(dfa_95s); class DFA280 extends DFA { public DFA280(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 280; this.eot = dfa_90; this.eof = dfa_90; this.min = dfa_91; this.max = dfa_92; this.accept = dfa_93; this.special = dfa_94; this.transition = dfa_95; } public String getDescription() { return "10942:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | (this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression ( () (otherlv_9= ',' ( (lv_elements_10_0= ruleXAnnotationOrExpression ) ) )+ )? ) )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA280_1 = input.LA(1); int index280_1 = input.index(); input.rewind(); s = -1; if ( (synpred21_InternalSARL()) ) {s = 60;} else if ( (true) ) {s = 2;} input.seek(index280_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 280, _s, input); error(nvae); throw nvae; } } class DFA283 extends DFA { public DFA283(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 283; this.eot = dfa_90; this.eof = dfa_90; this.min = dfa_91; this.max = dfa_92; this.accept = dfa_93; this.special = dfa_94; this.transition = dfa_95; } public String getDescription() { return "11084:2: ( ( ( ( ( () '#' '[' ) )=> ( () otherlv_1= '#' otherlv_2= '[' ) ) ( ( (lv_elements_3_0= ruleXAnnotationOrExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXAnnotationOrExpression ) ) )* )? otherlv_6= ']' ) | this_XAnnotationOrExpression_7= ruleXAnnotationOrExpression )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA283_1 = input.LA(1); int index283_1 = input.index(); input.rewind(); s = -1; if ( (synpred22_InternalSARL()) ) {s = 60;} else if ( (true) ) {s = 2;} input.seek(index283_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 283, _s, input); error(nvae); throw nvae; } } static final String dfa_96s = "\40\uffff"; static final String dfa_97s = "\1\uffff\35\36\2\uffff"; static final String dfa_98s = "\36\4\2\uffff"; static final String dfa_99s = "\1\u0089\35\u008b\2\uffff"; static final String dfa_100s = "\36\uffff\1\2\1\1"; static final String dfa_101s = "\40\uffff}>"; static final String[] dfa_102s = { "\1\1\3\36\4\uffff\3\36\12\uffff\1\17\2\uffff\1\11\1\36\6\uffff\1\13\2\uffff\1\4\1\36\1\uffff\1\15\1\10\1\3\1\35\2\uffff\2\36\1\uffff\1\24\3\uffff\1\36\4\uffff\1\36\2\uffff\1\36\1\uffff\1\36\3\uffff\1\20\1\21\1\22\1\2\1\23\1\7\1\12\1\25\1\26\1\27\1\30\1\31\1\6\1\16\1\5\1\32\1\33\1\34\1\14\7\uffff\1\36\22\uffff\2\36\3\uffff\1\36\5\uffff\1\36\2\uffff\12\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "\13\36\12\uffff\2\36\1\uffff\3\36\1\uffff\1\36\3\uffff\1\36\2\uffff\10\36\1\37\4\36\2\uffff\42\36\6\uffff\36\36\1\uffff\17\36", "", "" }; static final short[] dfa_96 = DFA.unpackEncodedString(dfa_96s); static final short[] dfa_97 = DFA.unpackEncodedString(dfa_97s); static final char[] dfa_98 = DFA.unpackEncodedStringToUnsignedChars(dfa_98s); static final char[] dfa_99 = DFA.unpackEncodedStringToUnsignedChars(dfa_99s); static final short[] dfa_100 = DFA.unpackEncodedString(dfa_100s); static final short[] dfa_101 = DFA.unpackEncodedString(dfa_101s); static final short[][] dfa_102 = unpackEncodedStringArray(dfa_102s); class DFA286 extends DFA { public DFA286(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 286; this.eot = dfa_96; this.eof = dfa_97; this.min = dfa_98; this.max = dfa_99; this.accept = dfa_100; this.special = dfa_101; this.transition = dfa_102; } public String getDescription() { return "11251:2: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) )"; } } static final String dfa_103s = "\12\uffff"; static final String dfa_104s = "\1\10\11\uffff"; static final String dfa_105s = "\1\4\7\0\2\uffff"; static final String dfa_106s = "\1\u008b\7\0\2\uffff"; static final String dfa_107s = "\10\uffff\1\2\1\1"; static final String dfa_108s = "\1\uffff\1\2\1\3\1\4\1\5\1\6\1\0\1\1\2\uffff}>"; static final String[] dfa_109s = { "\13\10\12\uffff\2\10\1\uffff\3\10\1\uffff\1\10\3\uffff\1\10\2\uffff\1\10\1\6\1\7\5\10\1\uffff\4\10\2\uffff\42\10\6\uffff\2\10\1\1\1\2\1\3\1\4\1\5\27\10\1\uffff\17\10", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "" }; static final short[] dfa_103 = DFA.unpackEncodedString(dfa_103s); static final short[] dfa_104 = DFA.unpackEncodedString(dfa_104s); static final char[] dfa_105 = DFA.unpackEncodedStringToUnsignedChars(dfa_105s); static final char[] dfa_106 = DFA.unpackEncodedStringToUnsignedChars(dfa_106s); static final short[] dfa_107 = DFA.unpackEncodedString(dfa_107s); static final short[] dfa_108 = DFA.unpackEncodedString(dfa_108s); static final short[][] dfa_109 = unpackEncodedStringArray(dfa_109s); class DFA285 extends DFA { public DFA285(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 285; this.eot = dfa_103; this.eof = dfa_104; this.min = dfa_105; this.max = dfa_106; this.accept = dfa_107; this.special = dfa_108; this.transition = dfa_109; } public String getDescription() { return "11313:4: ( ( ( ( () ( ( 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 LA285_6 = input.LA(1); int index285_6 = input.index(); input.rewind(); s = -1; if ( (synpred23_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index285_6); if ( s>=0 ) return s; break; case 1 : int LA285_7 = input.LA(1); int index285_7 = input.index(); input.rewind(); s = -1; if ( (synpred23_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index285_7); if ( s>=0 ) return s; break; case 2 : int LA285_1 = input.LA(1); int index285_1 = input.index(); input.rewind(); s = -1; if ( (synpred23_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index285_1); if ( s>=0 ) return s; break; case 3 : int LA285_2 = input.LA(1); int index285_2 = input.index(); input.rewind(); s = -1; if ( (synpred23_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index285_2); if ( s>=0 ) return s; break; case 4 : int LA285_3 = input.LA(1); int index285_3 = input.index(); input.rewind(); s = -1; if ( (synpred23_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index285_3); if ( s>=0 ) return s; break; case 5 : int LA285_4 = input.LA(1); int index285_4 = input.index(); input.rewind(); s = -1; if ( (synpred23_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index285_4); if ( s>=0 ) return s; break; case 6 : int LA285_5 = input.LA(1); int index285_5 = input.index(); input.rewind(); s = -1; if ( (synpred23_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index285_5); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 285, _s, input); error(nvae); throw nvae; } } static final String dfa_110s = "\13\uffff"; static final String dfa_111s = "\1\1\12\uffff"; static final String dfa_112s = "\1\4\1\uffff\10\0\1\uffff"; static final String dfa_113s = "\1\u008b\1\uffff\10\0\1\uffff"; static final String dfa_114s = "\1\uffff\1\2\10\uffff\1\1"; static final String dfa_115s = "\2\uffff\1\3\1\6\1\4\1\5\1\7\1\2\1\0\1\1\1\uffff}>"; static final String[] dfa_116s = { "\13\1\12\uffff\2\1\1\uffff\3\1\1\uffff\1\1\3\uffff\1\1\2\uffff\1\1\1\2\1\3\5\1\1\uffff\4\1\2\uffff\15\1\1\7\24\1\6\uffff\17\1\1\4\1\5\1\6\1\10\1\11\12\1\1\uffff\17\1", "", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "" }; static final short[] dfa_110 = DFA.unpackEncodedString(dfa_110s); static final short[] dfa_111 = DFA.unpackEncodedString(dfa_111s); static final char[] dfa_112 = DFA.unpackEncodedStringToUnsignedChars(dfa_112s); static final char[] dfa_113 = DFA.unpackEncodedStringToUnsignedChars(dfa_113s); static final short[] dfa_114 = DFA.unpackEncodedString(dfa_114s); static final short[] dfa_115 = DFA.unpackEncodedString(dfa_115s); static final short[][] dfa_116 = unpackEncodedStringArray(dfa_116s); class DFA295 extends DFA { public DFA295(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 295; this.eot = dfa_110; this.eof = dfa_111; this.min = dfa_112; this.max = dfa_113; this.accept = dfa_114; this.special = dfa_115; this.transition = dfa_116; } public String getDescription() { return "()* loopback of 12027:3: ( ( ( ( () ( ( 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 LA295_8 = input.LA(1); int index295_8 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalSARL()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index295_8); if ( s>=0 ) return s; break; case 1 : int LA295_9 = input.LA(1); int index295_9 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalSARL()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index295_9); if ( s>=0 ) return s; break; case 2 : int LA295_7 = input.LA(1); int index295_7 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalSARL()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index295_7); if ( s>=0 ) return s; break; case 3 : int LA295_2 = input.LA(1); int index295_2 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalSARL()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index295_2); if ( s>=0 ) return s; break; case 4 : int LA295_4 = input.LA(1); int index295_4 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalSARL()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index295_4); if ( s>=0 ) return s; break; case 5 : int LA295_5 = input.LA(1); int index295_5 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalSARL()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index295_5); if ( s>=0 ) return s; break; case 6 : int LA295_3 = input.LA(1); int index295_3 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalSARL()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index295_3); if ( s>=0 ) return s; break; case 7 : int LA295_6 = input.LA(1); int index295_6 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalSARL()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index295_6); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 295, _s, input); error(nvae); throw nvae; } } static final String dfa_117s = "\1\50\2\uffff\1\51\7\uffff"; static final String dfa_118s = "\1\161\2\uffff\1\157\7\uffff"; static final String dfa_119s = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\6\1\3"; static final String dfa_120s = "\13\uffff}>"; static final String[] dfa_121s = { "\1\6\1\3\31\uffff\1\5\51\uffff\1\1\1\2\1\4\1\7\1\10", "", "", "\1\11\105\uffff\1\12", "", "", "", "", "", "", "" }; static final char[] dfa_117 = DFA.unpackEncodedStringToUnsignedChars(dfa_117s); static final char[] dfa_118 = DFA.unpackEncodedStringToUnsignedChars(dfa_118s); static final short[] dfa_119 = DFA.unpackEncodedString(dfa_119s); static final short[] dfa_120 = DFA.unpackEncodedString(dfa_120s); static final short[][] dfa_121 = unpackEncodedStringArray(dfa_121s); class DFA298 extends DFA { public DFA298(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 298; this.eot = dfa_110; this.eof = dfa_110; this.min = dfa_117; this.max = dfa_118; this.accept = dfa_119; this.special = dfa_120; this.transition = dfa_121; } public String getDescription() { return "12103:2: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )"; } } class DFA314 extends DFA { public DFA314(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 314; this.eot = dfa_68; this.eof = dfa_69; this.min = dfa_70; this.max = dfa_71; this.accept = dfa_72; this.special = dfa_73; this.transition = dfa_76; } public String getDescription() { return "13004:5: ( ( ( ( '(' ) )=> (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 LA314_1 = input.LA(1); int index314_1 = input.index(); input.rewind(); s = -1; if ( (synpred38_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 2;} input.seek(index314_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 314, _s, input); error(nvae); throw nvae; } } static final String dfa_122s = "\2\4\6\40\12\uffff\2\4\6\40\7\uffff"; static final String dfa_123s = "\1\u0089\1\173\6\174\12\uffff\1\u0089\1\173\6\174\7\uffff"; static final String dfa_124s = "\1\16\1\13\1\10\1\6\1\1\1\15\1\5\1\12\13\uffff\1\2\1\0\1\11\1\4\1\3\1\7\1\14\7\uffff}>"; static final String[] dfa_125s = { "\1\2\3\11\4\uffff\3\11\12\uffff\1\11\2\uffff\2\11\6\uffff\1\11\2\uffff\2\11\1\uffff\2\11\1\4\1\1\2\uffff\2\11\1\12\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\1\11\1\uffff\1\11\3\uffff\16\11\1\3\1\5\1\6\1\7\1\11\7\uffff\1\11\22\uffff\2\11\3\uffff\1\11\4\uffff\1\10\1\11\2\uffff\12\11", "\1\13\33\uffff\1\11\7\uffff\2\11\2\uffff\1\15\2\uffff\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\16\uffff\1\14\1\16\1\17\1\20\11\uffff\27\11\1\uffff\4\11", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\21\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "", "", "", "", "", "", "", "", "", "", "\1\24\3\11\4\uffff\3\11\12\uffff\1\11\2\uffff\2\11\6\uffff\1\11\2\uffff\2\11\1\uffff\2\11\1\26\1\23\2\uffff\2\11\1\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\1\11\1\uffff\1\11\3\uffff\16\11\1\25\1\27\1\30\1\31\1\11\7\uffff\1\11\22\uffff\2\11\3\uffff\1\11\5\uffff\1\11\2\uffff\12\11", "\1\32\33\uffff\1\11\7\uffff\2\11\2\uffff\1\34\2\uffff\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\16\uffff\1\33\1\35\1\36\1\37\11\uffff\27\11\1\uffff\4\11", "\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "\1\22\7\uffff\2\11\4\uffff\1\40\1\11\1\uffff\2\11\4\uffff\1\11\3\uffff\1\11\4\uffff\1\11\2\uffff\2\11\33\uffff\27\11\1\uffff\4\11\1\10", "", "", "", "", "", "", "" }; static final char[] dfa_122 = DFA.unpackEncodedStringToUnsignedChars(dfa_122s); static final char[] dfa_123 = DFA.unpackEncodedStringToUnsignedChars(dfa_123s); static final short[] dfa_124 = DFA.unpackEncodedString(dfa_124s); static final short[][] dfa_125 = unpackEncodedStringArray(dfa_125s); class DFA313 extends DFA { public DFA313(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 313; this.eot = dfa_77; this.eof = dfa_77; this.min = dfa_122; this.max = dfa_123; this.accept = dfa_80; this.special = dfa_124; this.transition = dfa_125; } public String getDescription() { return "13023:6: ( ( ( ( () ( ( ( 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 LA313_20 = input.LA(1); int index313_20 = input.index(); input.rewind(); s = -1; if ( (LA313_20==46) && (synpred39_InternalSARL())) {s = 32;} else if ( (LA313_20==124) && (synpred39_InternalSARL())) {s = 8;} else if ( (LA313_20==32) ) {s = 18;} else if ( ((LA313_20>=40 && LA313_20<=41)||LA313_20==47||(LA313_20>=49 && LA313_20<=50)||LA313_20==55||LA313_20==59||LA313_20==64||(LA313_20>=67 && LA313_20<=68)||(LA313_20>=96 && LA313_20<=118)||(LA313_20>=120 && LA313_20<=123)) ) {s = 9;} input.seek(index313_20); if ( s>=0 ) return s; break; case 1 : int LA313_4 = input.LA(1); int index313_4 = input.index(); input.rewind(); s = -1; if ( (LA313_4==46) && (synpred39_InternalSARL())) {s = 17;} else if ( (LA313_4==32) ) {s = 18;} else if ( (LA313_4==124) && (synpred39_InternalSARL())) {s = 8;} else if ( ((LA313_4>=40 && LA313_4<=41)||LA313_4==47||(LA313_4>=49 && LA313_4<=50)||LA313_4==55||LA313_4==59||LA313_4==64||(LA313_4>=67 && LA313_4<=68)||(LA313_4>=96 && LA313_4<=118)||(LA313_4>=120 && LA313_4<=123)) ) {s = 9;} input.seek(index313_4); if ( s>=0 ) return s; break; case 2 : int LA313_19 = input.LA(1); int index313_19 = input.index(); input.rewind(); s = -1; if ( (LA313_19==RULE_ID) && (synpred39_InternalSARL())) {s = 26;} else if ( (LA313_19==83) && (synpred39_InternalSARL())) {s = 27;} else if ( (LA313_19==44) && (synpred39_InternalSARL())) {s = 28;} else if ( (LA313_19==84) && (synpred39_InternalSARL())) {s = 29;} else if ( (LA313_19==85) && (synpred39_InternalSARL())) {s = 30;} else if ( (LA313_19==86) && (synpred39_InternalSARL())) {s = 31;} else if ( (LA313_19==32||(LA313_19>=40 && LA313_19<=41)||LA313_19==47||(LA313_19>=49 && LA313_19<=50)||LA313_19==55||LA313_19==59||LA313_19==64||(LA313_19>=67 && LA313_19<=68)||(LA313_19>=96 && LA313_19<=118)||(LA313_19>=120 && LA313_19<=123)) ) {s = 9;} input.seek(index313_19); if ( s>=0 ) return s; break; case 3 : int LA313_23 = input.LA(1); int index313_23 = input.index(); input.rewind(); s = -1; if ( (LA313_23==46) && (synpred39_InternalSARL())) {s = 32;} else if ( (LA313_23==124) && (synpred39_InternalSARL())) {s = 8;} else if ( (LA313_23==32) ) {s = 18;} else if ( ((LA313_23>=40 && LA313_23<=41)||LA313_23==47||(LA313_23>=49 && LA313_23<=50)||LA313_23==55||LA313_23==59||LA313_23==64||(LA313_23>=67 && LA313_23<=68)||(LA313_23>=96 && LA313_23<=118)||(LA313_23>=120 && LA313_23<=123)) ) {s = 9;} input.seek(index313_23); if ( s>=0 ) return s; break; case 4 : int LA313_22 = input.LA(1); int index313_22 = input.index(); input.rewind(); s = -1; if ( ((LA313_22>=40 && LA313_22<=41)||LA313_22==47||(LA313_22>=49 && LA313_22<=50)||LA313_22==55||LA313_22==59||LA313_22==64||(LA313_22>=67 && LA313_22<=68)||(LA313_22>=96 && LA313_22<=118)||(LA313_22>=120 && LA313_22<=123)) ) {s = 9;} else if ( (LA313_22==32) ) {s = 18;} else if ( (LA313_22==46) && (synpred39_InternalSARL())) {s = 32;} else if ( (LA313_22==124) && (synpred39_InternalSARL())) {s = 8;} input.seek(index313_22); if ( s>=0 ) return s; break; case 5 : int LA313_6 = input.LA(1); int index313_6 = input.index(); input.rewind(); s = -1; if ( ((LA313_6>=40 && LA313_6<=41)||LA313_6==47||(LA313_6>=49 && LA313_6<=50)||LA313_6==55||LA313_6==59||LA313_6==64||(LA313_6>=67 && LA313_6<=68)||(LA313_6>=96 && LA313_6<=118)||(LA313_6>=120 && LA313_6<=123)) ) {s = 9;} else if ( (LA313_6==32) ) {s = 18;} else if ( (LA313_6==46) && (synpred39_InternalSARL())) {s = 17;} else if ( (LA313_6==124) && (synpred39_InternalSARL())) {s = 8;} input.seek(index313_6); if ( s>=0 ) return s; break; case 6 : int LA313_3 = input.LA(1); int index313_3 = input.index(); input.rewind(); s = -1; if ( ((LA313_3>=40 && LA313_3<=41)||LA313_3==47||(LA313_3>=49 && LA313_3<=50)||LA313_3==55||LA313_3==59||LA313_3==64||(LA313_3>=67 && LA313_3<=68)||(LA313_3>=96 && LA313_3<=118)||(LA313_3>=120 && LA313_3<=123)) ) {s = 9;} else if ( (LA313_3==32) ) {s = 18;} else if ( (LA313_3==46) && (synpred39_InternalSARL())) {s = 17;} else if ( (LA313_3==124) && (synpred39_InternalSARL())) {s = 8;} input.seek(index313_3); if ( s>=0 ) return s; break; case 7 : int LA313_24 = input.LA(1); int index313_24 = input.index(); input.rewind(); s = -1; if ( ((LA313_24>=40 && LA313_24<=41)||LA313_24==47||(LA313_24>=49 && LA313_24<=50)||LA313_24==55||LA313_24==59||LA313_24==64||(LA313_24>=67 && LA313_24<=68)||(LA313_24>=96 && LA313_24<=118)||(LA313_24>=120 && LA313_24<=123)) ) {s = 9;} else if ( (LA313_24==32) ) {s = 18;} else if ( (LA313_24==46) && (synpred39_InternalSARL())) {s = 32;} else if ( (LA313_24==124) && (synpred39_InternalSARL())) {s = 8;} input.seek(index313_24); if ( s>=0 ) return s; break; case 8 : int LA313_2 = input.LA(1); int index313_2 = input.index(); input.rewind(); s = -1; if ( (LA313_2==46) && (synpred39_InternalSARL())) {s = 17;} else if ( (LA313_2==32) ) {s = 18;} else if ( (LA313_2==124) && (synpred39_InternalSARL())) {s = 8;} else if ( ((LA313_2>=40 && LA313_2<=41)||LA313_2==47||(LA313_2>=49 && LA313_2<=50)||LA313_2==55||LA313_2==59||LA313_2==64||(LA313_2>=67 && LA313_2<=68)||(LA313_2>=96 && LA313_2<=118)||(LA313_2>=120 && LA313_2<=123)) ) {s = 9;} input.seek(index313_2); if ( s>=0 ) return s; break; case 9 : int LA313_21 = input.LA(1); int index313_21 = input.index(); input.rewind(); s = -1; if ( (LA313_21==46) && (synpred39_InternalSARL())) {s = 32;} else if ( (LA313_21==124) && (synpred39_InternalSARL())) {s = 8;} else if ( (LA313_21==32) ) {s = 18;} else if ( ((LA313_21>=40 && LA313_21<=41)||LA313_21==47||(LA313_21>=49 && LA313_21<=50)||LA313_21==55||LA313_21==59||LA313_21==64||(LA313_21>=67 && LA313_21<=68)||(LA313_21>=96 && LA313_21<=118)||(LA313_21>=120 && LA313_21<=123)) ) {s = 9;} input.seek(index313_21); if ( s>=0 ) return s; break; case 10 : int LA313_7 = input.LA(1); int index313_7 = input.index(); input.rewind(); s = -1; if ( ((LA313_7>=40 && LA313_7<=41)||LA313_7==47||(LA313_7>=49 && LA313_7<=50)||LA313_7==55||LA313_7==59||LA313_7==64||(LA313_7>=67 && LA313_7<=68)||(LA313_7>=96 && LA313_7<=118)||(LA313_7>=120 && LA313_7<=123)) ) {s = 9;} else if ( (LA313_7==32) ) {s = 18;} else if ( (LA313_7==46) && (synpred39_InternalSARL())) {s = 17;} else if ( (LA313_7==124) && (synpred39_InternalSARL())) {s = 8;} input.seek(index313_7); if ( s>=0 ) return s; break; case 11 : int LA313_1 = input.LA(1); int index313_1 = input.index(); input.rewind(); s = -1; if ( (LA313_1==32||(LA313_1>=40 && LA313_1<=41)||LA313_1==47||(LA313_1>=49 && LA313_1<=50)||LA313_1==55||LA313_1==59||LA313_1==64||(LA313_1>=67 && LA313_1<=68)||(LA313_1>=96 && LA313_1<=118)||(LA313_1>=120 && LA313_1<=123)) ) {s = 9;} else if ( (LA313_1==RULE_ID) && (synpred39_InternalSARL())) {s = 11;} else if ( (LA313_1==83) && (synpred39_InternalSARL())) {s = 12;} else if ( (LA313_1==44) && (synpred39_InternalSARL())) {s = 13;} else if ( (LA313_1==84) && (synpred39_InternalSARL())) {s = 14;} else if ( (LA313_1==85) && (synpred39_InternalSARL())) {s = 15;} else if ( (LA313_1==86) && (synpred39_InternalSARL())) {s = 16;} input.seek(index313_1); if ( s>=0 ) return s; break; case 12 : int LA313_25 = input.LA(1); int index313_25 = input.index(); input.rewind(); s = -1; if ( ((LA313_25>=40 && LA313_25<=41)||LA313_25==47||(LA313_25>=49 && LA313_25<=50)||LA313_25==55||LA313_25==59||LA313_25==64||(LA313_25>=67 && LA313_25<=68)||(LA313_25>=96 && LA313_25<=118)||(LA313_25>=120 && LA313_25<=123)) ) {s = 9;} else if ( (LA313_25==32) ) {s = 18;} else if ( (LA313_25==46) && (synpred39_InternalSARL())) {s = 32;} else if ( (LA313_25==124) && (synpred39_InternalSARL())) {s = 8;} input.seek(index313_25); if ( s>=0 ) return s; break; case 13 : int LA313_5 = input.LA(1); int index313_5 = input.index(); input.rewind(); s = -1; if ( (LA313_5==46) && (synpred39_InternalSARL())) {s = 17;} else if ( (LA313_5==32) ) {s = 18;} else if ( (LA313_5==124) && (synpred39_InternalSARL())) {s = 8;} else if ( ((LA313_5>=40 && LA313_5<=41)||LA313_5==47||(LA313_5>=49 && LA313_5<=50)||LA313_5==55||LA313_5==59||LA313_5==64||(LA313_5>=67 && LA313_5<=68)||(LA313_5>=96 && LA313_5<=118)||(LA313_5>=120 && LA313_5<=123)) ) {s = 9;} input.seek(index313_5); if ( s>=0 ) return s; break; case 14 : int LA313_0 = input.LA(1); int index313_0 = input.index(); input.rewind(); s = -1; if ( (LA313_0==45) ) {s = 1;} else if ( (LA313_0==RULE_ID) ) {s = 2;} else if ( (LA313_0==83) ) {s = 3;} else if ( (LA313_0==44) ) {s = 4;} else if ( (LA313_0==84) ) {s = 5;} else if ( (LA313_0==85) ) {s = 6;} else if ( (LA313_0==86) ) {s = 7;} else if ( (LA313_0==124) && (synpred39_InternalSARL())) {s = 8;} else if ( ((LA313_0>=RULE_STRING && LA313_0<=RULE_RICH_TEXT_START)||(LA313_0>=RULE_HEX && LA313_0<=RULE_DECIMAL)||LA313_0==25||(LA313_0>=28 && LA313_0<=29)||LA313_0==36||(LA313_0>=39 && LA313_0<=40)||(LA313_0>=42 && LA313_0<=43)||(LA313_0>=48 && LA313_0<=49)||LA313_0==51||LA313_0==55||LA313_0==60||LA313_0==63||LA313_0==65||(LA313_0>=69 && LA313_0<=82)||LA313_0==87||LA313_0==95||(LA313_0>=114 && LA313_0<=115)||LA313_0==119||LA313_0==125||(LA313_0>=128 && LA313_0<=137)) ) {s = 9;} else if ( (LA313_0==50) ) {s = 10;} input.seek(index313_0); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 313, _s, input); error(nvae); throw nvae; } } class DFA315 extends DFA { public DFA315(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 315; this.eot = dfa_68; this.eof = dfa_69; this.min = dfa_70; this.max = dfa_71; this.accept = dfa_72; this.special = dfa_73; this.transition = dfa_83; } public String getDescription() { return "13121:5: ( ( ( () '[' ) )=> (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 LA315_1 = input.LA(1); int index315_1 = input.index(); input.rewind(); s = -1; if ( (synpred40_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 2;} input.seek(index315_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 315, _s, input); error(nvae); throw nvae; } } static final String dfa_126s = "\14\uffff"; static final String dfa_127s = "\10\4\4\uffff"; static final String dfa_128s = "\10\u0089\4\uffff"; static final String dfa_129s = "\10\uffff\1\1\1\2\2\1"; static final String dfa_130s = "\1\4\1\uffff\1\1\1\2\1\5\1\3\1\0\1\6\4\uffff}>"; static final String[] dfa_131s = { "\1\2\3\11\4\uffff\3\11\12\uffff\1\11\2\uffff\2\11\6\uffff\1\11\2\uffff\2\11\1\uffff\2\11\1\4\1\1\2\uffff\2\11\1\uffff\1\11\3\uffff\2\11\3\uffff\4\11\1\uffff\1\11\3\uffff\16\11\1\3\1\5\1\6\1\7\1\11\7\uffff\1\11\22\uffff\2\11\3\uffff\1\11\4\uffff\1\10\1\11\2\uffff\12\11", "\1\2\3\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\6\uffff\1\11\2\uffff\5\11\1\4\1\11\1\uffff\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\20\11\1\3\1\5\1\6\1\7\1\11\7\uffff\35\11\1\uffff\1\11\2\uffff\12\11", "\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11", "\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11", "\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11", "\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11", "\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11", "\4\11\4\uffff\3\11\12\uffff\2\11\1\uffff\2\11\2\uffff\1\13\3\uffff\1\11\2\uffff\7\11\1\12\3\11\1\uffff\1\11\3\uffff\2\11\2\uffff\7\11\1\uffff\25\11\7\uffff\35\11\1\10\1\11\2\uffff\12\11", "", "", "", "" }; static final short[] dfa_126 = DFA.unpackEncodedString(dfa_126s); static final char[] dfa_127 = DFA.unpackEncodedStringToUnsignedChars(dfa_127s); static final char[] dfa_128 = DFA.unpackEncodedStringToUnsignedChars(dfa_128s); static final short[] dfa_129 = DFA.unpackEncodedString(dfa_129s); static final short[] dfa_130 = DFA.unpackEncodedString(dfa_130s); static final short[][] dfa_131 = unpackEncodedStringArray(dfa_131s); class DFA325 extends DFA { public DFA325(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 325; this.eot = dfa_126; this.eof = dfa_126; this.min = dfa_127; this.max = dfa_128; this.accept = dfa_129; this.special = dfa_130; this.transition = dfa_131; } public String getDescription() { return "13481: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 LA325_6 = input.LA(1); int index325_6 = input.index(); input.rewind(); s = -1; if ( ((LA325_6>=RULE_ID && LA325_6<=RULE_RICH_TEXT_START)||(LA325_6>=RULE_HEX && LA325_6<=RULE_DECIMAL)||(LA325_6>=25 && LA325_6<=26)||(LA325_6>=28 && LA325_6<=29)||LA325_6==36||(LA325_6>=39 && LA325_6<=45)||(LA325_6>=47 && LA325_6<=49)||LA325_6==51||(LA325_6>=55 && LA325_6<=56)||(LA325_6>=59 && LA325_6<=65)||(LA325_6>=67 && LA325_6<=87)||(LA325_6>=95 && LA325_6<=123)||LA325_6==125||(LA325_6>=128 && LA325_6<=137)) ) {s = 9;} else if ( (LA325_6==46) && (synpred43_InternalSARL())) {s = 10;} else if ( (LA325_6==32) && (synpred43_InternalSARL())) {s = 11;} else if ( (LA325_6==124) && (synpred43_InternalSARL())) {s = 8;} input.seek(index325_6); if ( s>=0 ) return s; break; case 1 : int LA325_2 = input.LA(1); int index325_2 = input.index(); input.rewind(); s = -1; if ( ((LA325_2>=RULE_ID && LA325_2<=RULE_RICH_TEXT_START)||(LA325_2>=RULE_HEX && LA325_2<=RULE_DECIMAL)||(LA325_2>=25 && LA325_2<=26)||(LA325_2>=28 && LA325_2<=29)||LA325_2==36||(LA325_2>=39 && LA325_2<=45)||(LA325_2>=47 && LA325_2<=49)||LA325_2==51||(LA325_2>=55 && LA325_2<=56)||(LA325_2>=59 && LA325_2<=65)||(LA325_2>=67 && LA325_2<=87)||(LA325_2>=95 && LA325_2<=123)||LA325_2==125||(LA325_2>=128 && LA325_2<=137)) ) {s = 9;} else if ( (LA325_2==46) && (synpred43_InternalSARL())) {s = 10;} else if ( (LA325_2==32) && (synpred43_InternalSARL())) {s = 11;} else if ( (LA325_2==124) && (synpred43_InternalSARL())) {s = 8;} input.seek(index325_2); if ( s>=0 ) return s; break; case 2 : int LA325_3 = input.LA(1); int index325_3 = input.index(); input.rewind(); s = -1; if ( ((LA325_3>=RULE_ID && LA325_3<=RULE_RICH_TEXT_START)||(LA325_3>=RULE_HEX && LA325_3<=RULE_DECIMAL)||(LA325_3>=25 && LA325_3<=26)||(LA325_3>=28 && LA325_3<=29)||LA325_3==36||(LA325_3>=39 && LA325_3<=45)||(LA325_3>=47 && LA325_3<=49)||LA325_3==51||(LA325_3>=55 && LA325_3<=56)||(LA325_3>=59 && LA325_3<=65)||(LA325_3>=67 && LA325_3<=87)||(LA325_3>=95 && LA325_3<=123)||LA325_3==125||(LA325_3>=128 && LA325_3<=137)) ) {s = 9;} else if ( (LA325_3==46) && (synpred43_InternalSARL())) {s = 10;} else if ( (LA325_3==32) && (synpred43_InternalSARL())) {s = 11;} else if ( (LA325_3==124) && (synpred43_InternalSARL())) {s = 8;} input.seek(index325_3); if ( s>=0 ) return s; break; case 3 : int LA325_5 = input.LA(1); int index325_5 = input.index(); input.rewind(); s = -1; if ( (LA325_5==46) && (synpred43_InternalSARL())) {s = 10;} else if ( (LA325_5==32) && (synpred43_InternalSARL())) {s = 11;} else if ( (LA325_5==124) && (synpred43_InternalSARL())) {s = 8;} else if ( ((LA325_5>=RULE_ID && LA325_5<=RULE_RICH_TEXT_START)||(LA325_5>=RULE_HEX && LA325_5<=RULE_DECIMAL)||(LA325_5>=25 && LA325_5<=26)||(LA325_5>=28 && LA325_5<=29)||LA325_5==36||(LA325_5>=39 && LA325_5<=45)||(LA325_5>=47 && LA325_5<=49)||LA325_5==51||(LA325_5>=55 && LA325_5<=56)||(LA325_5>=59 && LA325_5<=65)||(LA325_5>=67 && LA325_5<=87)||(LA325_5>=95 && LA325_5<=123)||LA325_5==125||(LA325_5>=128 && LA325_5<=137)) ) {s = 9;} input.seek(index325_5); if ( s>=0 ) return s; break; case 4 : int LA325_0 = input.LA(1); int index325_0 = input.index(); input.rewind(); s = -1; if ( (LA325_0==45) ) {s = 1;} else if ( (LA325_0==RULE_ID) ) {s = 2;} else if ( (LA325_0==83) ) {s = 3;} else if ( (LA325_0==44) ) {s = 4;} else if ( (LA325_0==84) ) {s = 5;} else if ( (LA325_0==85) ) {s = 6;} else if ( (LA325_0==86) ) {s = 7;} else if ( (LA325_0==124) && (synpred43_InternalSARL())) {s = 8;} else if ( ((LA325_0>=RULE_STRING && LA325_0<=RULE_RICH_TEXT_START)||(LA325_0>=RULE_HEX && LA325_0<=RULE_DECIMAL)||LA325_0==25||(LA325_0>=28 && LA325_0<=29)||LA325_0==36||(LA325_0>=39 && LA325_0<=40)||(LA325_0>=42 && LA325_0<=43)||(LA325_0>=48 && LA325_0<=49)||LA325_0==51||(LA325_0>=55 && LA325_0<=56)||(LA325_0>=60 && LA325_0<=63)||LA325_0==65||(LA325_0>=69 && LA325_0<=82)||LA325_0==87||LA325_0==95||(LA325_0>=114 && LA325_0<=115)||LA325_0==119||LA325_0==125||(LA325_0>=128 && LA325_0<=137)) ) {s = 9;} input.seek(index325_0); if ( s>=0 ) return s; break; case 5 : int LA325_4 = input.LA(1); int index325_4 = input.index(); input.rewind(); s = -1; if ( (LA325_4==46) && (synpred43_InternalSARL())) {s = 10;} else if ( (LA325_4==32) && (synpred43_InternalSARL())) {s = 11;} else if ( (LA325_4==124) && (synpred43_InternalSARL())) {s = 8;} else if ( ((LA325_4>=RULE_ID && LA325_4<=RULE_RICH_TEXT_START)||(LA325_4>=RULE_HEX && LA325_4<=RULE_DECIMAL)||(LA325_4>=25 && LA325_4<=26)||(LA325_4>=28 && LA325_4<=29)||LA325_4==36||(LA325_4>=39 && LA325_4<=45)||(LA325_4>=47 && LA325_4<=49)||LA325_4==51||(LA325_4>=55 && LA325_4<=56)||(LA325_4>=59 && LA325_4<=65)||(LA325_4>=67 && LA325_4<=87)||(LA325_4>=95 && LA325_4<=123)||LA325_4==125||(LA325_4>=128 && LA325_4<=137)) ) {s = 9;} input.seek(index325_4); if ( s>=0 ) return s; break; case 6 : int LA325_7 = input.LA(1); int index325_7 = input.index(); input.rewind(); s = -1; if ( ((LA325_7>=RULE_ID && LA325_7<=RULE_RICH_TEXT_START)||(LA325_7>=RULE_HEX && LA325_7<=RULE_DECIMAL)||(LA325_7>=25 && LA325_7<=26)||(LA325_7>=28 && LA325_7<=29)||LA325_7==36||(LA325_7>=39 && LA325_7<=45)||(LA325_7>=47 && LA325_7<=49)||LA325_7==51||(LA325_7>=55 && LA325_7<=56)||(LA325_7>=59 && LA325_7<=65)||(LA325_7>=67 && LA325_7<=87)||(LA325_7>=95 && LA325_7<=123)||LA325_7==125||(LA325_7>=128 && LA325_7<=137)) ) {s = 9;} else if ( (LA325_7==46) && (synpred43_InternalSARL())) {s = 10;} else if ( (LA325_7==32) && (synpred43_InternalSARL())) {s = 11;} else if ( (LA325_7==124) && (synpred43_InternalSARL())) {s = 8;} input.seek(index325_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 325, _s, input); error(nvae); throw nvae; } } class DFA346 extends DFA { public DFA346(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 346; this.eot = dfa_68; this.eof = dfa_69; this.min = dfa_70; this.max = dfa_71; this.accept = dfa_72; this.special = dfa_73; this.transition = dfa_76; } public String getDescription() { return "14596: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= ')' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA346_1 = input.LA(1); int index346_1 = input.index(); input.rewind(); s = -1; if ( (synpred47_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 2;} input.seek(index346_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 346, _s, input); error(nvae); throw nvae; } } static final String dfa_132s = "\1\5\1\7\1\4\1\0\1\13\1\11\1\16\1\3\13\uffff\1\12\1\6\1\2\1\15\1\14\1\1\1\10\7\uffff}>"; static final short[] dfa_132 = DFA.unpackEncodedString(dfa_132s); class DFA345 extends DFA { public DFA345(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 345; this.eot = dfa_77; this.eof = dfa_77; this.min = dfa_122; this.max = dfa_123; this.accept = dfa_80; this.special = dfa_132; this.transition = dfa_125; } public String getDescription() { return "14615:4: ( ( ( ( () ( ( ( 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 LA345_3 = input.LA(1); int index345_3 = input.index(); input.rewind(); s = -1; if ( (LA345_3==46) && (synpred48_InternalSARL())) {s = 17;} else if ( (LA345_3==32) ) {s = 18;} else if ( (LA345_3==124) && (synpred48_InternalSARL())) {s = 8;} else if ( ((LA345_3>=40 && LA345_3<=41)||LA345_3==47||(LA345_3>=49 && LA345_3<=50)||LA345_3==55||LA345_3==59||LA345_3==64||(LA345_3>=67 && LA345_3<=68)||(LA345_3>=96 && LA345_3<=118)||(LA345_3>=120 && LA345_3<=123)) ) {s = 9;} input.seek(index345_3); if ( s>=0 ) return s; break; case 1 : int LA345_24 = input.LA(1); int index345_24 = input.index(); input.rewind(); s = -1; if ( ((LA345_24>=40 && LA345_24<=41)||LA345_24==47||(LA345_24>=49 && LA345_24<=50)||LA345_24==55||LA345_24==59||LA345_24==64||(LA345_24>=67 && LA345_24<=68)||(LA345_24>=96 && LA345_24<=118)||(LA345_24>=120 && LA345_24<=123)) ) {s = 9;} else if ( (LA345_24==32) ) {s = 18;} else if ( (LA345_24==46) && (synpred48_InternalSARL())) {s = 32;} else if ( (LA345_24==124) && (synpred48_InternalSARL())) {s = 8;} input.seek(index345_24); if ( s>=0 ) return s; break; case 2 : int LA345_21 = input.LA(1); int index345_21 = input.index(); input.rewind(); s = -1; if ( ((LA345_21>=40 && LA345_21<=41)||LA345_21==47||(LA345_21>=49 && LA345_21<=50)||LA345_21==55||LA345_21==59||LA345_21==64||(LA345_21>=67 && LA345_21<=68)||(LA345_21>=96 && LA345_21<=118)||(LA345_21>=120 && LA345_21<=123)) ) {s = 9;} else if ( (LA345_21==46) && (synpred48_InternalSARL())) {s = 32;} else if ( (LA345_21==124) && (synpred48_InternalSARL())) {s = 8;} else if ( (LA345_21==32) ) {s = 18;} input.seek(index345_21); if ( s>=0 ) return s; break; case 3 : int LA345_7 = input.LA(1); int index345_7 = input.index(); input.rewind(); s = -1; if ( (LA345_7==46) && (synpred48_InternalSARL())) {s = 17;} else if ( (LA345_7==32) ) {s = 18;} else if ( (LA345_7==124) && (synpred48_InternalSARL())) {s = 8;} else if ( ((LA345_7>=40 && LA345_7<=41)||LA345_7==47||(LA345_7>=49 && LA345_7<=50)||LA345_7==55||LA345_7==59||LA345_7==64||(LA345_7>=67 && LA345_7<=68)||(LA345_7>=96 && LA345_7<=118)||(LA345_7>=120 && LA345_7<=123)) ) {s = 9;} input.seek(index345_7); if ( s>=0 ) return s; break; case 4 : int LA345_2 = input.LA(1); int index345_2 = input.index(); input.rewind(); s = -1; if ( ((LA345_2>=40 && LA345_2<=41)||LA345_2==47||(LA345_2>=49 && LA345_2<=50)||LA345_2==55||LA345_2==59||LA345_2==64||(LA345_2>=67 && LA345_2<=68)||(LA345_2>=96 && LA345_2<=118)||(LA345_2>=120 && LA345_2<=123)) ) {s = 9;} else if ( (LA345_2==46) && (synpred48_InternalSARL())) {s = 17;} else if ( (LA345_2==32) ) {s = 18;} else if ( (LA345_2==124) && (synpred48_InternalSARL())) {s = 8;} input.seek(index345_2); if ( s>=0 ) return s; break; case 5 : int LA345_0 = input.LA(1); int index345_0 = input.index(); input.rewind(); s = -1; if ( (LA345_0==45) ) {s = 1;} else if ( (LA345_0==RULE_ID) ) {s = 2;} else if ( (LA345_0==83) ) {s = 3;} else if ( (LA345_0==44) ) {s = 4;} else if ( (LA345_0==84) ) {s = 5;} else if ( (LA345_0==85) ) {s = 6;} else if ( (LA345_0==86) ) {s = 7;} else if ( (LA345_0==124) && (synpred48_InternalSARL())) {s = 8;} else if ( ((LA345_0>=RULE_STRING && LA345_0<=RULE_RICH_TEXT_START)||(LA345_0>=RULE_HEX && LA345_0<=RULE_DECIMAL)||LA345_0==25||(LA345_0>=28 && LA345_0<=29)||LA345_0==36||(LA345_0>=39 && LA345_0<=40)||(LA345_0>=42 && LA345_0<=43)||(LA345_0>=48 && LA345_0<=49)||LA345_0==51||LA345_0==55||LA345_0==60||LA345_0==63||LA345_0==65||(LA345_0>=69 && LA345_0<=82)||LA345_0==87||LA345_0==95||(LA345_0>=114 && LA345_0<=115)||LA345_0==119||LA345_0==125||(LA345_0>=128 && LA345_0<=137)) ) {s = 9;} else if ( (LA345_0==50) ) {s = 10;} input.seek(index345_0); if ( s>=0 ) return s; break; case 6 : int LA345_20 = input.LA(1); int index345_20 = input.index(); input.rewind(); s = -1; if ( ((LA345_20>=40 && LA345_20<=41)||LA345_20==47||(LA345_20>=49 && LA345_20<=50)||LA345_20==55||LA345_20==59||LA345_20==64||(LA345_20>=67 && LA345_20<=68)||(LA345_20>=96 && LA345_20<=118)||(LA345_20>=120 && LA345_20<=123)) ) {s = 9;} else if ( (LA345_20==46) && (synpred48_InternalSARL())) {s = 32;} else if ( (LA345_20==124) && (synpred48_InternalSARL())) {s = 8;} else if ( (LA345_20==32) ) {s = 18;} input.seek(index345_20); if ( s>=0 ) return s; break; case 7 : int LA345_1 = input.LA(1); int index345_1 = input.index(); input.rewind(); s = -1; if ( (LA345_1==RULE_ID) && (synpred48_InternalSARL())) {s = 11;} else if ( (LA345_1==83) && (synpred48_InternalSARL())) {s = 12;} else if ( (LA345_1==44) && (synpred48_InternalSARL())) {s = 13;} else if ( (LA345_1==84) && (synpred48_InternalSARL())) {s = 14;} else if ( (LA345_1==85) && (synpred48_InternalSARL())) {s = 15;} else if ( (LA345_1==86) && (synpred48_InternalSARL())) {s = 16;} else if ( (LA345_1==32||(LA345_1>=40 && LA345_1<=41)||LA345_1==47||(LA345_1>=49 && LA345_1<=50)||LA345_1==55||LA345_1==59||LA345_1==64||(LA345_1>=67 && LA345_1<=68)||(LA345_1>=96 && LA345_1<=118)||(LA345_1>=120 && LA345_1<=123)) ) {s = 9;} input.seek(index345_1); if ( s>=0 ) return s; break; case 8 : int LA345_25 = input.LA(1); int index345_25 = input.index(); input.rewind(); s = -1; if ( ((LA345_25>=40 && LA345_25<=41)||LA345_25==47||(LA345_25>=49 && LA345_25<=50)||LA345_25==55||LA345_25==59||LA345_25==64||(LA345_25>=67 && LA345_25<=68)||(LA345_25>=96 && LA345_25<=118)||(LA345_25>=120 && LA345_25<=123)) ) {s = 9;} else if ( (LA345_25==32) ) {s = 18;} else if ( (LA345_25==46) && (synpred48_InternalSARL())) {s = 32;} else if ( (LA345_25==124) && (synpred48_InternalSARL())) {s = 8;} input.seek(index345_25); if ( s>=0 ) return s; break; case 9 : int LA345_5 = input.LA(1); int index345_5 = input.index(); input.rewind(); s = -1; if ( ((LA345_5>=40 && LA345_5<=41)||LA345_5==47||(LA345_5>=49 && LA345_5<=50)||LA345_5==55||LA345_5==59||LA345_5==64||(LA345_5>=67 && LA345_5<=68)||(LA345_5>=96 && LA345_5<=118)||(LA345_5>=120 && LA345_5<=123)) ) {s = 9;} else if ( (LA345_5==32) ) {s = 18;} else if ( (LA345_5==46) && (synpred48_InternalSARL())) {s = 17;} else if ( (LA345_5==124) && (synpred48_InternalSARL())) {s = 8;} input.seek(index345_5); if ( s>=0 ) return s; break; case 10 : int LA345_19 = input.LA(1); int index345_19 = input.index(); input.rewind(); s = -1; if ( (LA345_19==RULE_ID) && (synpred48_InternalSARL())) {s = 26;} else if ( (LA345_19==83) && (synpred48_InternalSARL())) {s = 27;} else if ( (LA345_19==44) && (synpred48_InternalSARL())) {s = 28;} else if ( (LA345_19==84) && (synpred48_InternalSARL())) {s = 29;} else if ( (LA345_19==85) && (synpred48_InternalSARL())) {s = 30;} else if ( (LA345_19==86) && (synpred48_InternalSARL())) {s = 31;} else if ( (LA345_19==32||(LA345_19>=40 && LA345_19<=41)||LA345_19==47||(LA345_19>=49 && LA345_19<=50)||LA345_19==55||LA345_19==59||LA345_19==64||(LA345_19>=67 && LA345_19<=68)||(LA345_19>=96 && LA345_19<=118)||(LA345_19>=120 && LA345_19<=123)) ) {s = 9;} input.seek(index345_19); if ( s>=0 ) return s; break; case 11 : int LA345_4 = input.LA(1); int index345_4 = input.index(); input.rewind(); s = -1; if ( (LA345_4==46) && (synpred48_InternalSARL())) {s = 17;} else if ( (LA345_4==32) ) {s = 18;} else if ( (LA345_4==124) && (synpred48_InternalSARL())) {s = 8;} else if ( ((LA345_4>=40 && LA345_4<=41)||LA345_4==47||(LA345_4>=49 && LA345_4<=50)||LA345_4==55||LA345_4==59||LA345_4==64||(LA345_4>=67 && LA345_4<=68)||(LA345_4>=96 && LA345_4<=118)||(LA345_4>=120 && LA345_4<=123)) ) {s = 9;} input.seek(index345_4); if ( s>=0 ) return s; break; case 12 : int LA345_23 = input.LA(1); int index345_23 = input.index(); input.rewind(); s = -1; if ( ((LA345_23>=40 && LA345_23<=41)||LA345_23==47||(LA345_23>=49 && LA345_23<=50)||LA345_23==55||LA345_23==59||LA345_23==64||(LA345_23>=67 && LA345_23<=68)||(LA345_23>=96 && LA345_23<=118)||(LA345_23>=120 && LA345_23<=123)) ) {s = 9;} else if ( (LA345_23==32) ) {s = 18;} else if ( (LA345_23==46) && (synpred48_InternalSARL())) {s = 32;} else if ( (LA345_23==124) && (synpred48_InternalSARL())) {s = 8;} input.seek(index345_23); if ( s>=0 ) return s; break; case 13 : int LA345_22 = input.LA(1); int index345_22 = input.index(); input.rewind(); s = -1; if ( (LA345_22==46) && (synpred48_InternalSARL())) {s = 32;} else if ( (LA345_22==124) && (synpred48_InternalSARL())) {s = 8;} else if ( (LA345_22==32) ) {s = 18;} else if ( ((LA345_22>=40 && LA345_22<=41)||LA345_22==47||(LA345_22>=49 && LA345_22<=50)||LA345_22==55||LA345_22==59||LA345_22==64||(LA345_22>=67 && LA345_22<=68)||(LA345_22>=96 && LA345_22<=118)||(LA345_22>=120 && LA345_22<=123)) ) {s = 9;} input.seek(index345_22); if ( s>=0 ) return s; break; case 14 : int LA345_6 = input.LA(1); int index345_6 = input.index(); input.rewind(); s = -1; if ( ((LA345_6>=40 && LA345_6<=41)||LA345_6==47||(LA345_6>=49 && LA345_6<=50)||LA345_6==55||LA345_6==59||LA345_6==64||(LA345_6>=67 && LA345_6<=68)||(LA345_6>=96 && LA345_6<=118)||(LA345_6>=120 && LA345_6<=123)) ) {s = 9;} else if ( (LA345_6==32) ) {s = 18;} else if ( (LA345_6==46) && (synpred48_InternalSARL())) {s = 17;} else if ( (LA345_6==124) && (synpred48_InternalSARL())) {s = 8;} input.seek(index345_6); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 345, _s, input); error(nvae); throw nvae; } } class DFA347 extends DFA { public DFA347(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 347; this.eot = dfa_68; this.eof = dfa_69; this.min = dfa_70; this.max = dfa_71; this.accept = dfa_72; this.special = dfa_73; this.transition = dfa_83; } public String getDescription() { return "14713: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 LA347_1 = input.LA(1); int index347_1 = input.index(); input.rewind(); s = -1; if ( (synpred49_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 2;} input.seek(index347_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 347, _s, input); error(nvae); throw nvae; } } static final String dfa_133s = "\1\73\157\uffff"; static final String dfa_134s = "\1\4\72\0\65\uffff"; static final String dfa_135s = "\1\u008b\72\0\65\uffff"; static final String dfa_136s = "\73\uffff\1\2\63\uffff\1\1"; static final String dfa_137s = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45\1\46\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71\65\uffff}>"; static final String[] dfa_138s = { "\1\1\1\56\1\57\1\60\4\73\1\52\1\53\1\54\12\uffff\1\17\1\73\1\uffff\1\11\1\42\1\73\1\uffff\1\73\3\uffff\1\13\2\uffff\1\4\1\44\1\73\1\15\1\10\1\3\1\35\1\73\1\uffff\1\41\1\71\1\73\1\24\2\uffff\1\73\1\47\4\73\1\72\2\73\1\63\1\73\1\43\3\73\1\20\1\21\1\22\1\2\1\23\1\7\1\12\1\25\1\26\1\27\1\30\1\31\1\6\1\16\1\5\1\32\1\33\1\34\1\14\6\uffff\1\73\1\46\22\73\1\40\1\37\3\73\1\36\4\73\1\uffff\1\62\2\73\1\64\1\65\1\45\1\50\1\51\1\55\1\61\1\66\1\67\1\70\2\73", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\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_133 = DFA.unpackEncodedString(dfa_133s); static final char[] dfa_134 = DFA.unpackEncodedStringToUnsignedChars(dfa_134s); static final char[] dfa_135 = DFA.unpackEncodedStringToUnsignedChars(dfa_135s); static final short[] dfa_136 = DFA.unpackEncodedString(dfa_136s); static final short[] dfa_137 = DFA.unpackEncodedString(dfa_137s); static final short[][] dfa_138 = unpackEncodedStringArray(dfa_138s); class DFA351 extends DFA { public DFA351(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 351; this.eot = dfa_68; this.eof = dfa_133; this.min = dfa_134; this.max = dfa_135; this.accept = dfa_136; this.special = dfa_137; this.transition = dfa_138; } public String getDescription() { return "15047:3: ( ( 'abstract' | 'annotation' | 'class' | 'create' | 'def' | 'dispatch' | 'enum' | 'extends' | 'final' | 'implements' | 'import' | 'interface' | 'override' | 'package' | 'public' | 'private' | 'protected' | 'static' | 'throws' | 'strictfp' | 'native' | 'volatile' | 'synchronized' | 'transient' | 'AFTER' | 'BEFORE' | 'SEPARATOR' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | 'break' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING | RULE_RICH_TEXT | RULE_RICH_TEXT_START )=> (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 LA351_1 = input.LA(1); int index351_1 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_1); if ( s>=0 ) return s; break; case 1 : int LA351_2 = input.LA(1); int index351_2 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_2); if ( s>=0 ) return s; break; case 2 : int LA351_3 = input.LA(1); int index351_3 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_3); if ( s>=0 ) return s; break; case 3 : int LA351_4 = input.LA(1); int index351_4 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_4); if ( s>=0 ) return s; break; case 4 : int LA351_5 = input.LA(1); int index351_5 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_5); if ( s>=0 ) return s; break; case 5 : int LA351_6 = input.LA(1); int index351_6 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_6); if ( s>=0 ) return s; break; case 6 : int LA351_7 = input.LA(1); int index351_7 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_7); if ( s>=0 ) return s; break; case 7 : int LA351_8 = input.LA(1); int index351_8 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_8); if ( s>=0 ) return s; break; case 8 : int LA351_9 = input.LA(1); int index351_9 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_9); if ( s>=0 ) return s; break; case 9 : int LA351_10 = input.LA(1); int index351_10 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_10); if ( s>=0 ) return s; break; case 10 : int LA351_11 = input.LA(1); int index351_11 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_11); if ( s>=0 ) return s; break; case 11 : int LA351_12 = input.LA(1); int index351_12 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_12); if ( s>=0 ) return s; break; case 12 : int LA351_13 = input.LA(1); int index351_13 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_13); if ( s>=0 ) return s; break; case 13 : int LA351_14 = input.LA(1); int index351_14 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_14); if ( s>=0 ) return s; break; case 14 : int LA351_15 = input.LA(1); int index351_15 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_15); if ( s>=0 ) return s; break; case 15 : int LA351_16 = input.LA(1); int index351_16 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_16); if ( s>=0 ) return s; break; case 16 : int LA351_17 = input.LA(1); int index351_17 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_17); if ( s>=0 ) return s; break; case 17 : int LA351_18 = input.LA(1); int index351_18 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_18); if ( s>=0 ) return s; break; case 18 : int LA351_19 = input.LA(1); int index351_19 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_19); if ( s>=0 ) return s; break; case 19 : int LA351_20 = input.LA(1); int index351_20 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_20); if ( s>=0 ) return s; break; case 20 : int LA351_21 = input.LA(1); int index351_21 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_21); if ( s>=0 ) return s; break; case 21 : int LA351_22 = input.LA(1); int index351_22 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_22); if ( s>=0 ) return s; break; case 22 : int LA351_23 = input.LA(1); int index351_23 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_23); if ( s>=0 ) return s; break; case 23 : int LA351_24 = input.LA(1); int index351_24 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_24); if ( s>=0 ) return s; break; case 24 : int LA351_25 = input.LA(1); int index351_25 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_25); if ( s>=0 ) return s; break; case 25 : int LA351_26 = input.LA(1); int index351_26 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_26); if ( s>=0 ) return s; break; case 26 : int LA351_27 = input.LA(1); int index351_27 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_27); if ( s>=0 ) return s; break; case 27 : int LA351_28 = input.LA(1); int index351_28 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_28); if ( s>=0 ) return s; break; case 28 : int LA351_29 = input.LA(1); int index351_29 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_29); if ( s>=0 ) return s; break; case 29 : int LA351_30 = input.LA(1); int index351_30 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_30); if ( s>=0 ) return s; break; case 30 : int LA351_31 = input.LA(1); int index351_31 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_31); if ( s>=0 ) return s; break; case 31 : int LA351_32 = input.LA(1); int index351_32 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_32); if ( s>=0 ) return s; break; case 32 : int LA351_33 = input.LA(1); int index351_33 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_33); if ( s>=0 ) return s; break; case 33 : int LA351_34 = input.LA(1); int index351_34 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_34); if ( s>=0 ) return s; break; case 34 : int LA351_35 = input.LA(1); int index351_35 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_35); if ( s>=0 ) return s; break; case 35 : int LA351_36 = input.LA(1); int index351_36 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_36); if ( s>=0 ) return s; break; case 36 : int LA351_37 = input.LA(1); int index351_37 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_37); if ( s>=0 ) return s; break; case 37 : int LA351_38 = input.LA(1); int index351_38 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_38); if ( s>=0 ) return s; break; case 38 : int LA351_39 = input.LA(1); int index351_39 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_39); if ( s>=0 ) return s; break; case 39 : int LA351_40 = input.LA(1); int index351_40 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_40); if ( s>=0 ) return s; break; case 40 : int LA351_41 = input.LA(1); int index351_41 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_41); if ( s>=0 ) return s; break; case 41 : int LA351_42 = input.LA(1); int index351_42 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_42); if ( s>=0 ) return s; break; case 42 : int LA351_43 = input.LA(1); int index351_43 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_43); if ( s>=0 ) return s; break; case 43 : int LA351_44 = input.LA(1); int index351_44 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_44); if ( s>=0 ) return s; break; case 44 : int LA351_45 = input.LA(1); int index351_45 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_45); if ( s>=0 ) return s; break; case 45 : int LA351_46 = input.LA(1); int index351_46 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_46); if ( s>=0 ) return s; break; case 46 : int LA351_47 = input.LA(1); int index351_47 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_47); if ( s>=0 ) return s; break; case 47 : int LA351_48 = input.LA(1); int index351_48 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_48); if ( s>=0 ) return s; break; case 48 : int LA351_49 = input.LA(1); int index351_49 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_49); if ( s>=0 ) return s; break; case 49 : int LA351_50 = input.LA(1); int index351_50 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_50); if ( s>=0 ) return s; break; case 50 : int LA351_51 = input.LA(1); int index351_51 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_51); if ( s>=0 ) return s; break; case 51 : int LA351_52 = input.LA(1); int index351_52 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_52); if ( s>=0 ) return s; break; case 52 : int LA351_53 = input.LA(1); int index351_53 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_53); if ( s>=0 ) return s; break; case 53 : int LA351_54 = input.LA(1); int index351_54 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_54); if ( s>=0 ) return s; break; case 54 : int LA351_55 = input.LA(1); int index351_55 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_55); if ( s>=0 ) return s; break; case 55 : int LA351_56 = input.LA(1); int index351_56 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_56); if ( s>=0 ) return s; break; case 56 : int LA351_57 = input.LA(1); int index351_57 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_57); if ( s>=0 ) return s; break; case 57 : int LA351_58 = input.LA(1); int index351_58 = input.index(); input.rewind(); s = -1; if ( (synpred50_InternalSARL()) ) {s = 111;} else if ( (true) ) {s = 59;} input.seek(index351_58); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 351, _s, input); error(nvae); throw nvae; } } static final String dfa_139s = "\1\1\11\uffff"; static final String dfa_140s = "\1\4\1\uffff\1\4\6\0\1\uffff"; static final String dfa_141s = "\1\u008d\1\uffff\1\u0082\6\0\1\uffff"; static final String dfa_142s = "\1\uffff\1\2\7\uffff\1\1"; static final String dfa_143s = "\3\uffff\1\5\1\3\1\0\1\1\1\4\1\2\1\uffff}>"; static final String[] dfa_144s = { "\13\1\12\uffff\53\1\1\2\23\1\6\uffff\56\1\1\uffff\1\1", "", "\1\3\24\uffff\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\2\1\1\uffff\2\1\1\4\1\1\5\uffff\1\1\7\uffff\1\1\11\uffff\16\1\1\5\1\6\1\7\1\10\1\1\52\uffff\1\1", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "" }; static final short[] dfa_139 = DFA.unpackEncodedString(dfa_139s); static final char[] dfa_140 = DFA.unpackEncodedStringToUnsignedChars(dfa_140s); static final char[] dfa_141 = DFA.unpackEncodedStringToUnsignedChars(dfa_141s); static final short[] dfa_142 = DFA.unpackEncodedString(dfa_142s); static final short[] dfa_143 = DFA.unpackEncodedString(dfa_143s); static final short[][] dfa_144 = unpackEncodedStringArray(dfa_144s); class DFA355 extends DFA { public DFA355(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 355; this.eot = dfa_103; this.eof = dfa_139; this.min = dfa_140; this.max = dfa_141; this.accept = dfa_142; this.special = dfa_143; this.transition = dfa_144; } public String getDescription() { return "()* loopback of 15382:3: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA355_5 = input.LA(1); int index355_5 = input.index(); input.rewind(); s = -1; if ( (synpred55_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index355_5); if ( s>=0 ) return s; break; case 1 : int LA355_6 = input.LA(1); int index355_6 = input.index(); input.rewind(); s = -1; if ( (synpred55_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index355_6); if ( s>=0 ) return s; break; case 2 : int LA355_8 = input.LA(1); int index355_8 = input.index(); input.rewind(); s = -1; if ( (synpred55_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index355_8); if ( s>=0 ) return s; break; case 3 : int LA355_4 = input.LA(1); int index355_4 = input.index(); input.rewind(); s = -1; if ( (synpred55_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index355_4); if ( s>=0 ) return s; break; case 4 : int LA355_7 = input.LA(1); int index355_7 = input.index(); input.rewind(); s = -1; if ( (synpred55_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index355_7); if ( s>=0 ) return s; break; case 5 : int LA355_3 = input.LA(1); int index355_3 = input.index(); input.rewind(); s = -1; if ( (synpred55_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index355_3); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 355, _s, input); error(nvae); throw nvae; } } static final String dfa_145s = "\174\uffff"; static final String dfa_146s = "\1\2\173\uffff"; static final String dfa_147s = "\1\4\1\0\172\uffff"; static final String dfa_148s = "\1\u008d\1\0\172\uffff"; static final String dfa_149s = "\2\uffff\1\2\170\uffff\1\1"; static final String dfa_150s = "\1\uffff\1\0\172\uffff}>"; static final String[] dfa_151s = { "\13\2\12\uffff\17\2\1\1\57\2\6\uffff\56\2\1\uffff\1\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] dfa_145 = DFA.unpackEncodedString(dfa_145s); static final short[] dfa_146 = DFA.unpackEncodedString(dfa_146s); static final char[] dfa_147 = DFA.unpackEncodedStringToUnsignedChars(dfa_147s); static final char[] dfa_148 = DFA.unpackEncodedStringToUnsignedChars(dfa_148s); static final short[] dfa_149 = DFA.unpackEncodedString(dfa_149s); static final short[] dfa_150 = DFA.unpackEncodedString(dfa_150s); static final short[][] dfa_151 = unpackEncodedStringArray(dfa_151s); class DFA369 extends DFA { public DFA369(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 369; this.eot = dfa_145; this.eof = dfa_146; this.min = dfa_147; this.max = dfa_148; this.accept = dfa_149; this.special = dfa_150; this.transition = dfa_151; } public String getDescription() { return "15705: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= '>' )? )* )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA369_1 = input.LA(1); int index369_1 = input.index(); input.rewind(); s = -1; if ( (synpred57_InternalSARL()) ) {s = 123;} else if ( (true) ) {s = 2;} input.seek(index369_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 369, _s, input); error(nvae); throw nvae; } } static final String[] dfa_152s = { "\13\1\12\uffff\53\1\1\2\23\1\6\uffff\56\1\1\uffff\1\1", "", "\1\3\24\uffff\1\1\2\uffff\1\1\7\uffff\1\1\2\uffff\2\1\1\uffff\2\1\1\4\1\1\5\uffff\1\1\21\uffff\16\1\1\5\1\6\1\7\1\10\1\1\52\uffff\1\1", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "" }; static final short[][] dfa_152 = unpackEncodedStringArray(dfa_152s); class DFA368 extends DFA { public DFA368(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 368; this.eot = dfa_103; this.eof = dfa_139; this.min = dfa_140; this.max = dfa_141; this.accept = dfa_142; this.special = dfa_143; this.transition = dfa_152; } public String getDescription() { return "()* loopback of 15761:4: ( ( ( ( () '.' ) )=> ( () 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 LA368_5 = input.LA(1); int index368_5 = input.index(); input.rewind(); s = -1; if ( (synpred58_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index368_5); if ( s>=0 ) return s; break; case 1 : int LA368_6 = input.LA(1); int index368_6 = input.index(); input.rewind(); s = -1; if ( (synpred58_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index368_6); if ( s>=0 ) return s; break; case 2 : int LA368_8 = input.LA(1); int index368_8 = input.index(); input.rewind(); s = -1; if ( (synpred58_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index368_8); if ( s>=0 ) return s; break; case 3 : int LA368_4 = input.LA(1); int index368_4 = input.index(); input.rewind(); s = -1; if ( (synpred58_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index368_4); if ( s>=0 ) return s; break; case 4 : int LA368_7 = input.LA(1); int index368_7 = input.index(); input.rewind(); s = -1; if ( (synpred58_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index368_7); if ( s>=0 ) return s; break; case 5 : int LA368_3 = input.LA(1); int index368_3 = input.index(); input.rewind(); s = -1; if ( (synpred58_InternalSARL()) ) {s = 9;} else if ( (true) ) {s = 1;} input.seek(index368_3); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 368, _s, input); error(nvae); throw nvae; } } class DFA367 extends DFA { public DFA367(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 367; this.eot = dfa_145; this.eof = dfa_146; this.min = dfa_147; this.max = dfa_148; this.accept = dfa_149; this.special = dfa_150; this.transition = dfa_151; } public String getDescription() { return "15799:5: ( ( ( '<' )=>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 LA367_1 = input.LA(1); int index367_1 = input.index(); input.rewind(); s = -1; if ( (synpred59_InternalSARL()) ) {s = 123;} else if ( (true) ) {s = 2;} input.seek(index367_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 367, _s, input); error(nvae); throw nvae; } } static final String dfa_153s = "\2\uffff\6\11\2\uffff\6\11\1\uffff"; static final String dfa_154s = "\1\4\1\uffff\6\31\1\4\1\uffff\6\31\1\uffff"; static final String dfa_155s = "\1\126\1\uffff\6\136\1\126\1\uffff\6\136\1\uffff"; static final String dfa_156s = "\1\uffff\1\1\7\uffff\1\2\6\uffff\1\3"; static final String[] dfa_157s = { "\1\2\47\uffff\1\4\34\uffff\1\1\11\uffff\1\3\1\5\1\6\1\7", "", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\1\12\47\uffff\1\14\16\uffff\1\20\27\uffff\1\13\1\15\1\16\1\17", "", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "\3\11\3\uffff\1\11\1\uffff\3\11\1\uffff\3\11\2\uffff\3\11\27\uffff\1\10\14\11\6\uffff\1\11\6\uffff\1\11", "" }; static final short[] dfa_153 = DFA.unpackEncodedString(dfa_153s); static final char[] dfa_154 = DFA.unpackEncodedStringToUnsignedChars(dfa_154s); static final char[] dfa_155 = DFA.unpackEncodedStringToUnsignedChars(dfa_155s); static final short[] dfa_156 = DFA.unpackEncodedString(dfa_156s); static final short[][] dfa_157 = unpackEncodedStringArray(dfa_157s); class DFA379 extends DFA { public DFA379(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 379; this.eot = dfa_55; this.eof = dfa_153; this.min = dfa_154; this.max = dfa_155; this.accept = dfa_156; this.special = dfa_59; this.transition = dfa_157; } public String getDescription() { return "16351:3: ( ( ( (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[]{0x0000100000000010L,0x0000000000780000L}); public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x00001CEE8E000002L,0x000000004081FFE0L}); public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x00001CEE8A000002L,0x000000004081FFE0L}); public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x00001CEE8A000002L,0x000000004001FFE0L}); public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x00001CEE8A000000L,0x000000004001FFE0L}); public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x000000000A000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000030000002L}); public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000020000002L}); public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x6001200042000000L,0x000000004001FFE0L}); public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000082000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000030000000L}); public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000120000000L}); public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000042000000L,0x000000004007FFE0L}); public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000202000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000020000000L}); public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x66413C8042000000L,0x000000004007FFE0L}); public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000402000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000802000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000001030000000L}); public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000001130000000L}); public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000002002000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000040000000L}); public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000004002000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000008002000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000011030000000L}); public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000020100000000L}); public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x60013C8042000000L,0x000000004007FFE0L}); public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000040002000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000010030000000L}); public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000080002000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000100044000010L,0x0000000000780000L}); public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000144000000L}); public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000100002000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x60003C8042000000L,0x000000004001FFE0L}); public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x6001200002000000L,0x000000004001FFE0L}); public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x6000200002000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x6000300002000010L,0x000000000079FFE0L}); public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000400000000000L}); public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0002100000000010L,0x0000000000780008L}); public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000800004000002L}); public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000300002000010L,0x000000000079FFE0L}); public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000C00004000002L}); public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x908B3D90320070F0L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000004000002L}); public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0001000002000000L,0x000000000001FFE0L}); public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x001A010020000000L}); public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x001A000020000000L}); public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x0004300000000010L,0x0000000040780000L}); public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0004000100000000L}); public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000300000000010L,0x0000000040780000L}); public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0018000020000000L}); public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0018000120000000L}); public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0000000002000000L,0x000000004007FFE0L}); public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0800130002000010L,0x03FFEFFF0079FFE8L}); public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x003A400024000002L}); public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0038400024000002L}); public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0038000024000002L}); public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0038000124000002L}); public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x66413C8002000000L,0x000000004007FFE0L}); public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x0080000020000000L}); public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0100000000000000L}); public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000104000002L}); public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0800130002000010L,0x03FFEFFF407FFFE8L}); public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x60013C8002000000L,0x000000004007FFE0L}); public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x60003C8002000000L,0x000000004001FFE0L}); public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x0000100002000010L,0x000000000079FFE0L}); public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x908B3D90320070F0L,0x208C0000C0FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000100000000010L,0x0000000040780000L}); public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x0800800000000002L}); public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000300000000010L,0x0000000000780000L}); public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x6000000000000000L}); public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000C00000000002L}); public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000800000000002L}); public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000400000000002L}); public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0002000000000000L}); public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0004000000000000L}); public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x908B3D90360070F0L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000001L}); public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000800000000000L}); public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0002500140000010L,0x800000000078000CL}); public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0006100000000010L,0x0000000000780008L}); public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0080000000000002L}); public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0080000000000000L}); public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0002100000000010L,0x0000000000780008L,0x0000000000001000L}); public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000010000000002L,0x0000000000000010L}); public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0082010000000002L}); public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x0082000000000002L}); public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x908F3D90320070F0L,0x308C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_94 = new BitSet(new long[]{0xF08B3D9032007FF0L,0x208C000085FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_95 = new BitSet(new long[]{0xF08B3D90320073F2L,0x208C000085FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000300L}); public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000300L,0x0000000000700000L}); public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L}); public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000000L,0x0000000038000000L}); public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000000L,0x0000000010000000L}); public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0002000000000002L}); public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x908F3D90320070F0L,0x208C0000C0FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x918B3D90320070F0L,0x208C0000C0FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0100000100000000L}); public static final BitSet FOLLOW_105 = new BitSet(new long[]{0x0000000100000002L}); public static final BitSet FOLLOW_106 = new BitSet(new long[]{0x0000030000000002L,0x0000001F00000000L}); public static final BitSet FOLLOW_107 = new BitSet(new long[]{0x0000020000000000L,0x0000002000000000L}); public static final BitSet FOLLOW_108 = new BitSet(new long[]{0x0000000000000000L,0x0000002000000000L}); public static final BitSet FOLLOW_109 = new BitSet(new long[]{0x0000000000000002L,0x0000004000000000L}); public static final BitSet FOLLOW_110 = new BitSet(new long[]{0x0000000000000002L,0x0000008000000000L}); public static final BitSet FOLLOW_111 = new BitSet(new long[]{0x0000000000000002L,0x00000F0000000000L}); public static final BitSet FOLLOW_112 = new BitSet(new long[]{0x0000030000000002L,0x0000102000000000L}); public static final BitSet FOLLOW_113 = new BitSet(new long[]{0x0000030000000002L,0x0003E00000000008L}); public static final BitSet FOLLOW_114 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L}); public static final BitSet FOLLOW_115 = new BitSet(new long[]{0x0000020000000000L}); public static final BitSet FOLLOW_116 = new BitSet(new long[]{0x0000010000000000L,0x0000000000000008L}); public static final BitSet FOLLOW_117 = new BitSet(new long[]{0x0000000000000002L,0x000C000000000000L}); public static final BitSet FOLLOW_118 = new BitSet(new long[]{0x0800000000000002L,0x0070000000000000L}); public static final BitSet FOLLOW_119 = new BitSet(new long[]{0x0800130002000012L,0x03FFEFFF0079FFE8L}); public static final BitSet FOLLOW_120 = new BitSet(new long[]{0x0000000000000002L,0x0C00000000000010L}); public static final BitSet FOLLOW_121 = new BitSet(new long[]{0x00083C9012000010L,0x0000000000FFFFE0L}); public static final BitSet FOLLOW_122 = new BitSet(new long[]{0x00083D9012000010L,0x0000000000FFFFE0L,0x0000000000000004L}); public static final BitSet FOLLOW_123 = new BitSet(new long[]{0x0082000000000002L,0x0C00000000000010L}); public static final BitSet FOLLOW_124 = new BitSet(new long[]{0x0080000000000002L,0x0C00000000000010L}); public static final BitSet FOLLOW_125 = new BitSet(new long[]{0x908B3D90720070F0L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_126 = new BitSet(new long[]{0x0000000140000000L}); public static final BitSet FOLLOW_127 = new BitSet(new long[]{0x918B3D90320070F0L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_128 = new BitSet(new long[]{0xF18B3D90320070F0L,0x308C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_129 = new BitSet(new long[]{0x0000000100000000L,0x1000000000000000L}); public static final BitSet FOLLOW_130 = new BitSet(new long[]{0xF18B3D90320070F0L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_131 = new BitSet(new long[]{0xF08B3D90360070F2L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_132 = new BitSet(new long[]{0xF08B3D90320070F2L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_133 = new BitSet(new long[]{0x0000000000000002L,0x4000000000000000L}); public static final BitSet FOLLOW_134 = new BitSet(new long[]{0x0000400100000000L,0x8000000000000000L}); public static final BitSet FOLLOW_135 = new BitSet(new long[]{0x0000400100000000L}); public static final BitSet FOLLOW_136 = new BitSet(new long[]{0xF08B3D90360070F0L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_137 = new BitSet(new long[]{0x0000000104000000L}); public static final BitSet FOLLOW_138 = new BitSet(new long[]{0xF08B3D90320070F0L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_139 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_140 = new BitSet(new long[]{0x908F3D90320070F0L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_141 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_142 = new BitSet(new long[]{0xF08B3D90720070F0L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_143 = new BitSet(new long[]{0xF08B3D90760070F0L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_144 = new BitSet(new long[]{0x0084000000000000L}); public static final BitSet FOLLOW_145 = new BitSet(new long[]{0x908B3D90320070F2L,0x208C000080FFFFE2L,0x00000000000003FFL}); public static final BitSet FOLLOW_146 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000C00L}); public static final BitSet FOLLOW_147 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000000C00L}); public static final BitSet FOLLOW_148 = new BitSet(new long[]{0x0000000000006000L}); public static final BitSet FOLLOW_149 = new BitSet(new long[]{0x0000010000000002L}); public static final BitSet FOLLOW_150 = new BitSet(new long[]{0x0000000010000002L,0x0000000000000000L,0x0000000000000004L}); public static final BitSet FOLLOW_151 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000002000L}); public static final BitSet FOLLOW_152 = new BitSet(new long[]{0x0000000010000002L}); public static final BitSet FOLLOW_153 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_154 = new BitSet(new long[]{0x0800000000000000L}); public static final BitSet FOLLOW_155 = new BitSet(new long[]{0x0000000000000002L,0x0000000000800000L}); public static final BitSet FOLLOW_156 = new BitSet(new long[]{0x0000100000000010L,0x0000000000780200L}); public static final BitSet FOLLOW_157 = new BitSet(new long[]{0x0800100000000010L,0x0000000000780000L}); public static final BitSet FOLLOW_158 = new BitSet(new long[]{0x0000100000000012L,0x0000000000780000L}); public static final BitSet FOLLOW_159 = new BitSet(new long[]{0x0000200000000002L}); }