package fr.inria.diverse.iot.xtext.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 fr.inria.diverse.iot.xtext.services.IoTGrammarAccess; 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 InternalIoTParser extends AbstractInternalAntlrParser { public static final String[] tokenNames = new String[] { "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_DOUBLE", "RULE_STRING", "RULE_HEX", "RULE_DECIMAL", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'system'", "'{'", "'}'", "'device'", "'service'", "'activity'", "'('", "','", "')'", "'nodes'", "'edges'", "'luaAction'", "'in'", "'out'", "'initial'", "'final'", "'fork'", "'join'", "'merge'", "'decision'", "'int'", "'='", "'bool'", "'true'", "'false'", "'flow'", "'from'", "'to'", "'['", "']'", "';'", "'return'", "'break'", "'do'", "'end'", "'while'", "'repeat'", "'until'", "'if'", "'then'", "'else'", "'elseif'", "'for'", "'function'", "'.'", "':'", "'local'", "'or'", "'and'", "'>'", "'>='", "'<'", "'<='", "'=='", "'~='", "'..'", "'+'", "'-'", "'*'", "'/'", "'%'", "'not'", "'#'", "'^'", "'nil'", "'...'", "'+='", "'-='", "'*='", "'/='", "'%='", "'||'", "'&&'", "'!='", "'==='", "'!=='", "'instanceof'", "'->'", "'..<'", "'=>'", "'<>'", "'?:'", "'**'", "'!'", "'as'", "'++'", "'--'", "'::'", "'?.'", "'|'", "'switch'", "'default'", "'case'", "'var'", "'val'", "'extends'", "'static'", "'import'", "'extension'", "'super'", "'new'", "'null'", "'typeof'", "'throw'", "'try'", "'finally'", "'synchronized'", "'catch'", "'?'", "'&'" }; public static final int RULE_HEX=8; public static final int T__50=50; public static final int T__59=59; public static final int T__55=55; public static final int T__56=56; public static final int T__57=57; public static final int T__58=58; public static final int T__51=51; public static final int T__52=52; public static final int T__53=53; public static final int T__54=54; public static final int T__60=60; public static final int T__61=61; public static final int RULE_ID=4; public static final int RULE_INT=5; public static final int T__66=66; public static final int RULE_ML_COMMENT=10; public static final int T__67=67; public static final int T__68=68; public static final int T__69=69; public static final int T__62=62; public static final int T__63=63; public static final int T__64=64; public static final int T__65=65; public static final int T__37=37; public static final int T__38=38; public static final int T__39=39; public static final int T__33=33; public static final int T__34=34; public static final int T__35=35; public static final int T__36=36; public static final int T__30=30; public static final int T__31=31; public static final int T__32=32; public static final int T__48=48; public static final int T__49=49; public static final int T__44=44; public static final int T__45=45; public static final int T__46=46; public static final int T__47=47; public static final int T__40=40; public static final int T__41=41; public static final int T__42=42; public static final int T__43=43; public static final int T__91=91; public static final int T__100=100; public static final int T__92=92; public static final int T__93=93; public static final int T__102=102; public static final int T__94=94; public static final int T__101=101; public static final int T__90=90; public static final int T__19=19; public static final int T__15=15; public static final int T__16=16; public static final int T__17=17; public static final int T__18=18; public static final int T__99=99; public static final int T__14=14; public static final int T__95=95; public static final int T__96=96; public static final int T__97=97; public static final int T__98=98; public static final int RULE_DECIMAL=9; public static final int T__26=26; public static final int T__27=27; public static final int T__28=28; public static final int T__29=29; public static final int T__22=22; public static final int T__23=23; public static final int T__24=24; public static final int T__25=25; public static final int T__20=20; public static final int T__21=21; public static final int T__122=122; public static final int T__70=70; public static final int T__121=121; public static final int T__71=71; public static final int T__72=72; public static final int T__123=123; public static final int T__120=120; public static final int RULE_STRING=7; public static final int RULE_SL_COMMENT=11; public static final int RULE_DOUBLE=6; public static final int T__77=77; public static final int T__119=119; public static final int T__78=78; public static final int T__118=118; public static final int T__79=79; public static final int T__73=73; public static final int T__115=115; public static final int EOF=-1; public static final int T__74=74; public static final int T__114=114; public static final int T__75=75; public static final int T__117=117; public static final int T__76=76; public static final int T__116=116; public static final int T__80=80; public static final int T__111=111; public static final int T__81=81; public static final int T__110=110; public static final int T__82=82; public static final int T__113=113; public static final int T__83=83; public static final int T__112=112; public static final int RULE_WS=12; public static final int RULE_ANY_OTHER=13; 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 InternalIoTParser(TokenStream input) { this(input, new RecognizerSharedState()); } public InternalIoTParser(TokenStream input, RecognizerSharedState state) { super(input, state); } public String[] getTokenNames() { return InternalIoTParser.tokenNames; } public String getGrammarFileName() { return "../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g"; } private IoTGrammarAccess grammarAccess; public InternalIoTParser(TokenStream input, IoTGrammarAccess grammarAccess) { this(input); this.grammarAccess = grammarAccess; registerRules(grammarAccess.getGrammar()); } @Override protected String getFirstRuleName() { return "System"; } @Override protected IoTGrammarAccess getGrammarAccess() { return grammarAccess; } // $ANTLR start "entryRuleSystem" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:67:1: entryRuleSystem returns [EObject current=null] : iv_ruleSystem= ruleSystem EOF ; public final EObject entryRuleSystem() throws RecognitionException { EObject current = null; EObject iv_ruleSystem = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:68:2: (iv_ruleSystem= ruleSystem EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:69:2: iv_ruleSystem= ruleSystem EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSystemRule()); } pushFollow(FollowSets000.FOLLOW_ruleSystem_in_entryRuleSystem75); iv_ruleSystem=ruleSystem(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleSystem; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSystem85); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleSystem" // $ANTLR start "ruleSystem" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:76:1: ruleSystem returns [EObject current=null] : (otherlv_0= 'system' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_eClassifiers_3_0= ruleDevice ) )* otherlv_4= '}' ) ; public final EObject ruleSystem() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; AntlrDatatypeRuleToken lv_name_1_0 = null; EObject lv_eClassifiers_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:79:28: ( (otherlv_0= 'system' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_eClassifiers_3_0= ruleDevice ) )* otherlv_4= '}' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:80:1: (otherlv_0= 'system' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_eClassifiers_3_0= ruleDevice ) )* otherlv_4= '}' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:80:1: (otherlv_0= 'system' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_eClassifiers_3_0= ruleDevice ) )* otherlv_4= '}' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:80:3: otherlv_0= 'system' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_eClassifiers_3_0= ruleDevice ) )* otherlv_4= '}' { otherlv_0=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleSystem122); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getSystemAccess().getSystemKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:84:1: ( (lv_name_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:85:1: (lv_name_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:85:1: (lv_name_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:86:3: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSystemAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleSystem143); lv_name_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSystemRule()); } set( current, "name", lv_name_1_0, "ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSystem155); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getSystemAccess().getLeftCurlyBracketKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:106:1: ( (lv_eClassifiers_3_0= ruleDevice ) )* loop1: do { int alt1=2; int LA1_0 = input.LA(1); if ( (LA1_0==17) ) { alt1=1; } switch (alt1) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:107:1: (lv_eClassifiers_3_0= ruleDevice ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:107:1: (lv_eClassifiers_3_0= ruleDevice ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:108:3: lv_eClassifiers_3_0= ruleDevice { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getSystemAccess().getEClassifiersDeviceParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleDevice_in_ruleSystem176); lv_eClassifiers_3_0=ruleDevice(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getSystemRule()); } add( current, "eClassifiers", lv_eClassifiers_3_0, "Device"); afterParserOrEnumRuleCall(); } } } break; default : break loop1; } } while (true); otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleSystem189); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getSystemAccess().getRightCurlyBracketKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleSystem" // $ANTLR start "entryRuleDevice" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:136:1: entryRuleDevice returns [EObject current=null] : iv_ruleDevice= ruleDevice EOF ; public final EObject entryRuleDevice() throws RecognitionException { EObject current = null; EObject iv_ruleDevice = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:137:2: (iv_ruleDevice= ruleDevice EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:138:2: iv_ruleDevice= ruleDevice EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDeviceRule()); } pushFollow(FollowSets000.FOLLOW_ruleDevice_in_entryRuleDevice225); iv_ruleDevice=ruleDevice(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleDevice; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDevice235); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleDevice" // $ANTLR start "ruleDevice" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:145:1: ruleDevice returns [EObject current=null] : (otherlv_0= 'device' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_eOperations_3_0= ruleService ) )* otherlv_4= '}' ) ; public final EObject ruleDevice() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; AntlrDatatypeRuleToken lv_name_1_0 = null; EObject lv_eOperations_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:148:28: ( (otherlv_0= 'device' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_eOperations_3_0= ruleService ) )* otherlv_4= '}' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:149:1: (otherlv_0= 'device' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_eOperations_3_0= ruleService ) )* otherlv_4= '}' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:149:1: (otherlv_0= 'device' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_eOperations_3_0= ruleService ) )* otherlv_4= '}' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:149:3: otherlv_0= 'device' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_eOperations_3_0= ruleService ) )* otherlv_4= '}' { otherlv_0=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleDevice272); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getDeviceAccess().getDeviceKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:153:1: ( (lv_name_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:154:1: (lv_name_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:154:1: (lv_name_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:155:3: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDeviceAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleDevice293); lv_name_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDeviceRule()); } set( current, "name", lv_name_1_0, "ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleDevice305); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getDeviceAccess().getLeftCurlyBracketKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:175:1: ( (lv_eOperations_3_0= ruleService ) )* loop2: do { int alt2=2; int LA2_0 = input.LA(1); if ( (LA2_0==18) ) { alt2=1; } switch (alt2) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:176:1: (lv_eOperations_3_0= ruleService ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:176:1: (lv_eOperations_3_0= ruleService ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:177:3: lv_eOperations_3_0= ruleService { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDeviceAccess().getEOperationsServiceParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleService_in_ruleDevice326); lv_eOperations_3_0=ruleService(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDeviceRule()); } add( current, "eOperations", lv_eOperations_3_0, "Service"); afterParserOrEnumRuleCall(); } } } break; default : break loop2; } } while (true); otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleDevice339); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getDeviceAccess().getRightCurlyBracketKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleDevice" // $ANTLR start "entryRuleService" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:205:1: entryRuleService returns [EObject current=null] : iv_ruleService= ruleService EOF ; public final EObject entryRuleService() throws RecognitionException { EObject current = null; EObject iv_ruleService = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:206:2: (iv_ruleService= ruleService EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:207:2: iv_ruleService= ruleService EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getServiceRule()); } pushFollow(FollowSets000.FOLLOW_ruleService_in_entryRuleService375); iv_ruleService=ruleService(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleService; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleService385); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleService" // $ANTLR start "ruleService" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:214:1: ruleService returns [EObject current=null] : (otherlv_0= 'service' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_activity_3_0= ruleActivity ) ) otherlv_4= '}' ) ; public final EObject ruleService() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; AntlrDatatypeRuleToken lv_name_1_0 = null; EObject lv_activity_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:217:28: ( (otherlv_0= 'service' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_activity_3_0= ruleActivity ) ) otherlv_4= '}' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:218:1: (otherlv_0= 'service' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_activity_3_0= ruleActivity ) ) otherlv_4= '}' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:218:1: (otherlv_0= 'service' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_activity_3_0= ruleActivity ) ) otherlv_4= '}' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:218:3: otherlv_0= 'service' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= '{' ( (lv_activity_3_0= ruleActivity ) ) otherlv_4= '}' { otherlv_0=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleService422); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getServiceAccess().getServiceKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:222:1: ( (lv_name_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:223:1: (lv_name_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:223:1: (lv_name_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:224:3: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getServiceAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleService443); lv_name_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getServiceRule()); } set( current, "name", lv_name_1_0, "ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleService455); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getServiceAccess().getLeftCurlyBracketKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:244:1: ( (lv_activity_3_0= ruleActivity ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:245:1: (lv_activity_3_0= ruleActivity ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:245:1: (lv_activity_3_0= ruleActivity ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:246:3: lv_activity_3_0= ruleActivity { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getServiceAccess().getActivityActivityParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleActivity_in_ruleService476); lv_activity_3_0=ruleActivity(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getServiceRule()); } set( current, "activity", lv_activity_3_0, "Activity"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleService488); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getServiceAccess().getRightCurlyBracketKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleService" // $ANTLR start "entryRuleActivity" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:274:1: entryRuleActivity returns [EObject current=null] : iv_ruleActivity= ruleActivity EOF ; public final EObject entryRuleActivity() throws RecognitionException { EObject current = null; EObject iv_ruleActivity = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:275:2: (iv_ruleActivity= ruleActivity EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:276:2: iv_ruleActivity= ruleActivity EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityRule()); } pushFollow(FollowSets000.FOLLOW_ruleActivity_in_entryRuleActivity524); iv_ruleActivity=ruleActivity(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleActivity; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActivity534); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleActivity" // $ANTLR start "ruleActivity" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:283:1: ruleActivity returns [EObject current=null] : ( () otherlv_1= 'activity' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '(' ( (lv_inputs_4_0= ruleVariable ) ) (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )* otherlv_7= ')' )? otherlv_8= '{' ( ( (lv_locals_9_0= ruleVariable ) ) (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )* )? (otherlv_12= 'nodes' otherlv_13= '{' ( (lv_nodes_14_0= ruleActivityNode ) ) (otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) )* otherlv_17= '}' )? (otherlv_18= 'edges' otherlv_19= '{' ( (lv_edges_20_0= ruleActivityEdge ) ) (otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) )* otherlv_23= '}' )? otherlv_24= '}' ) ; public final EObject ruleActivity() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Token otherlv_8=null; Token otherlv_10=null; Token otherlv_12=null; Token otherlv_13=null; Token otherlv_15=null; Token otherlv_17=null; Token otherlv_18=null; Token otherlv_19=null; Token otherlv_21=null; Token otherlv_23=null; Token otherlv_24=null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_inputs_4_0 = null; EObject lv_inputs_6_0 = null; EObject lv_locals_9_0 = null; EObject lv_locals_11_0 = null; EObject lv_nodes_14_0 = null; EObject lv_nodes_16_0 = null; EObject lv_edges_20_0 = null; EObject lv_edges_22_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:286:28: ( ( () otherlv_1= 'activity' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '(' ( (lv_inputs_4_0= ruleVariable ) ) (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )* otherlv_7= ')' )? otherlv_8= '{' ( ( (lv_locals_9_0= ruleVariable ) ) (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )* )? (otherlv_12= 'nodes' otherlv_13= '{' ( (lv_nodes_14_0= ruleActivityNode ) ) (otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) )* otherlv_17= '}' )? (otherlv_18= 'edges' otherlv_19= '{' ( (lv_edges_20_0= ruleActivityEdge ) ) (otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) )* otherlv_23= '}' )? otherlv_24= '}' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:287:1: ( () otherlv_1= 'activity' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '(' ( (lv_inputs_4_0= ruleVariable ) ) (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )* otherlv_7= ')' )? otherlv_8= '{' ( ( (lv_locals_9_0= ruleVariable ) ) (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )* )? (otherlv_12= 'nodes' otherlv_13= '{' ( (lv_nodes_14_0= ruleActivityNode ) ) (otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) )* otherlv_17= '}' )? (otherlv_18= 'edges' otherlv_19= '{' ( (lv_edges_20_0= ruleActivityEdge ) ) (otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) )* otherlv_23= '}' )? otherlv_24= '}' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:287:1: ( () otherlv_1= 'activity' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '(' ( (lv_inputs_4_0= ruleVariable ) ) (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )* otherlv_7= ')' )? otherlv_8= '{' ( ( (lv_locals_9_0= ruleVariable ) ) (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )* )? (otherlv_12= 'nodes' otherlv_13= '{' ( (lv_nodes_14_0= ruleActivityNode ) ) (otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) )* otherlv_17= '}' )? (otherlv_18= 'edges' otherlv_19= '{' ( (lv_edges_20_0= ruleActivityEdge ) ) (otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) )* otherlv_23= '}' )? otherlv_24= '}' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:287:2: () otherlv_1= 'activity' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '(' ( (lv_inputs_4_0= ruleVariable ) ) (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )* otherlv_7= ')' )? otherlv_8= '{' ( ( (lv_locals_9_0= ruleVariable ) ) (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )* )? (otherlv_12= 'nodes' otherlv_13= '{' ( (lv_nodes_14_0= ruleActivityNode ) ) (otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) )* otherlv_17= '}' )? (otherlv_18= 'edges' otherlv_19= '{' ( (lv_edges_20_0= ruleActivityEdge ) ) (otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) )* otherlv_23= '}' )? otherlv_24= '}' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:287:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:288:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getActivityAccess().getActivityAction_0(), current); } } otherlv_1=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleActivity580); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getActivityAccess().getActivityKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:297:1: ( (lv_name_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:298:1: (lv_name_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:298:1: (lv_name_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:299:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleActivity601); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getActivityRule()); } set( current, "name", lv_name_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:315:2: (otherlv_3= '(' ( (lv_inputs_4_0= ruleVariable ) ) (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )* otherlv_7= ')' )? int alt4=2; int LA4_0 = input.LA(1); if ( (LA4_0==20) ) { alt4=1; } switch (alt4) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:315:4: otherlv_3= '(' ( (lv_inputs_4_0= ruleVariable ) ) (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )* otherlv_7= ')' { otherlv_3=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleActivity614); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getActivityAccess().getLeftParenthesisKeyword_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:319:1: ( (lv_inputs_4_0= ruleVariable ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:320:1: (lv_inputs_4_0= ruleVariable ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:320:1: (lv_inputs_4_0= ruleVariable ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:321:3: lv_inputs_4_0= ruleVariable { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityAccess().getInputsVariableParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleVariable_in_ruleActivity635); lv_inputs_4_0=ruleVariable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getActivityRule()); } add( current, "inputs", lv_inputs_4_0, "Variable"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:337:2: (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )* loop3: do { int alt3=2; int LA3_0 = input.LA(1); if ( (LA3_0==21) ) { alt3=1; } switch (alt3) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:337:4: otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) { otherlv_5=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleActivity648); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getActivityAccess().getCommaKeyword_3_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:341:1: ( (lv_inputs_6_0= ruleVariable ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:342:1: (lv_inputs_6_0= ruleVariable ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:342:1: (lv_inputs_6_0= ruleVariable ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:343:3: lv_inputs_6_0= ruleVariable { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityAccess().getInputsVariableParserRuleCall_3_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleVariable_in_ruleActivity669); lv_inputs_6_0=ruleVariable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getActivityRule()); } add( current, "inputs", lv_inputs_6_0, "Variable"); afterParserOrEnumRuleCall(); } } } } break; default : break loop3; } } while (true); otherlv_7=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleActivity683); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getActivityAccess().getRightParenthesisKeyword_3_3()); } } break; } otherlv_8=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleActivity697); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getActivityAccess().getLeftCurlyBracketKeyword_4()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:367:1: ( ( (lv_locals_9_0= ruleVariable ) ) (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )* )? int alt6=2; int LA6_0 = input.LA(1); if ( (LA6_0==34||LA6_0==36) ) { alt6=1; } switch (alt6) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:367:2: ( (lv_locals_9_0= ruleVariable ) ) (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:367:2: ( (lv_locals_9_0= ruleVariable ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:368:1: (lv_locals_9_0= ruleVariable ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:368:1: (lv_locals_9_0= ruleVariable ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:369:3: lv_locals_9_0= ruleVariable { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityAccess().getLocalsVariableParserRuleCall_5_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleVariable_in_ruleActivity719); lv_locals_9_0=ruleVariable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getActivityRule()); } add( current, "locals", lv_locals_9_0, "Variable"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:385:2: (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )* loop5: do { int alt5=2; int LA5_0 = input.LA(1); if ( (LA5_0==21) ) { alt5=1; } switch (alt5) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:385:4: otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) { otherlv_10=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleActivity732); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getActivityAccess().getCommaKeyword_5_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:389:1: ( (lv_locals_11_0= ruleVariable ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:390:1: (lv_locals_11_0= ruleVariable ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:390:1: (lv_locals_11_0= ruleVariable ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:391:3: lv_locals_11_0= ruleVariable { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityAccess().getLocalsVariableParserRuleCall_5_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleVariable_in_ruleActivity753); lv_locals_11_0=ruleVariable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getActivityRule()); } add( current, "locals", lv_locals_11_0, "Variable"); afterParserOrEnumRuleCall(); } } } } break; default : break loop5; } } while (true); } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:407:6: (otherlv_12= 'nodes' otherlv_13= '{' ( (lv_nodes_14_0= ruleActivityNode ) ) (otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) )* otherlv_17= '}' )? int alt8=2; int LA8_0 = input.LA(1); if ( (LA8_0==23) ) { alt8=1; } switch (alt8) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:407:8: otherlv_12= 'nodes' otherlv_13= '{' ( (lv_nodes_14_0= ruleActivityNode ) ) (otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) )* otherlv_17= '}' { otherlv_12=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleActivity770); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getActivityAccess().getNodesKeyword_6_0()); } otherlv_13=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleActivity782); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getActivityAccess().getLeftCurlyBracketKeyword_6_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:415:1: ( (lv_nodes_14_0= ruleActivityNode ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:416:1: (lv_nodes_14_0= ruleActivityNode ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:416:1: (lv_nodes_14_0= ruleActivityNode ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:417:3: lv_nodes_14_0= ruleActivityNode { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityAccess().getNodesActivityNodeParserRuleCall_6_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleActivityNode_in_ruleActivity803); lv_nodes_14_0=ruleActivityNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getActivityRule()); } add( current, "nodes", lv_nodes_14_0, "ActivityNode"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:433:2: (otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) )* loop7: do { int alt7=2; int LA7_0 = input.LA(1); if ( (LA7_0==21) ) { alt7=1; } switch (alt7) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:433:4: otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) { otherlv_15=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleActivity816); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getActivityAccess().getCommaKeyword_6_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:437:1: ( (lv_nodes_16_0= ruleActivityNode ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:438:1: (lv_nodes_16_0= ruleActivityNode ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:438:1: (lv_nodes_16_0= ruleActivityNode ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:439:3: lv_nodes_16_0= ruleActivityNode { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityAccess().getNodesActivityNodeParserRuleCall_6_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleActivityNode_in_ruleActivity837); lv_nodes_16_0=ruleActivityNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getActivityRule()); } add( current, "nodes", lv_nodes_16_0, "ActivityNode"); afterParserOrEnumRuleCall(); } } } } break; default : break loop7; } } while (true); otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleActivity851); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getActivityAccess().getRightCurlyBracketKeyword_6_4()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:459:3: (otherlv_18= 'edges' otherlv_19= '{' ( (lv_edges_20_0= ruleActivityEdge ) ) (otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) )* otherlv_23= '}' )? int alt10=2; int LA10_0 = input.LA(1); if ( (LA10_0==24) ) { alt10=1; } switch (alt10) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:459:5: otherlv_18= 'edges' otherlv_19= '{' ( (lv_edges_20_0= ruleActivityEdge ) ) (otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) )* otherlv_23= '}' { otherlv_18=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleActivity866); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_18, grammarAccess.getActivityAccess().getEdgesKeyword_7_0()); } otherlv_19=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleActivity878); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_19, grammarAccess.getActivityAccess().getLeftCurlyBracketKeyword_7_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:467:1: ( (lv_edges_20_0= ruleActivityEdge ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:468:1: (lv_edges_20_0= ruleActivityEdge ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:468:1: (lv_edges_20_0= ruleActivityEdge ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:469:3: lv_edges_20_0= ruleActivityEdge { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityAccess().getEdgesActivityEdgeParserRuleCall_7_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleActivityEdge_in_ruleActivity899); lv_edges_20_0=ruleActivityEdge(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getActivityRule()); } add( current, "edges", lv_edges_20_0, "ActivityEdge"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:485:2: (otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) )* loop9: do { int alt9=2; int LA9_0 = input.LA(1); if ( (LA9_0==21) ) { alt9=1; } switch (alt9) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:485:4: otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) { otherlv_21=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleActivity912); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_21, grammarAccess.getActivityAccess().getCommaKeyword_7_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:489:1: ( (lv_edges_22_0= ruleActivityEdge ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:490:1: (lv_edges_22_0= ruleActivityEdge ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:490:1: (lv_edges_22_0= ruleActivityEdge ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:491:3: lv_edges_22_0= ruleActivityEdge { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityAccess().getEdgesActivityEdgeParserRuleCall_7_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleActivityEdge_in_ruleActivity933); lv_edges_22_0=ruleActivityEdge(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getActivityRule()); } add( current, "edges", lv_edges_22_0, "ActivityEdge"); afterParserOrEnumRuleCall(); } } } } break; default : break loop9; } } while (true); otherlv_23=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleActivity947); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_23, grammarAccess.getActivityAccess().getRightCurlyBracketKeyword_7_4()); } } break; } otherlv_24=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleActivity961); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_24, grammarAccess.getActivityAccess().getRightCurlyBracketKeyword_8()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleActivity" // $ANTLR start "entryRuleActivityNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:523:1: entryRuleActivityNode returns [EObject current=null] : iv_ruleActivityNode= ruleActivityNode EOF ; public final EObject entryRuleActivityNode() throws RecognitionException { EObject current = null; EObject iv_ruleActivityNode = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:524:2: (iv_ruleActivityNode= ruleActivityNode EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:525:2: iv_ruleActivityNode= ruleActivityNode EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityNodeRule()); } pushFollow(FollowSets000.FOLLOW_ruleActivityNode_in_entryRuleActivityNode997); iv_ruleActivityNode=ruleActivityNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleActivityNode; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActivityNode1007); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleActivityNode" // $ANTLR start "ruleActivityNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:532:1: ruleActivityNode returns [EObject current=null] : (this_OpaqueAction_0= ruleOpaqueAction | this_InitialNode_1= ruleInitialNode | this_ActivityFinalNode_2= ruleActivityFinalNode | this_ForkNode_3= ruleForkNode | this_JoinNode_4= ruleJoinNode | this_MergeNode_5= ruleMergeNode | this_DecisionNode_6= ruleDecisionNode ) ; public final EObject ruleActivityNode() throws RecognitionException { EObject current = null; EObject this_OpaqueAction_0 = null; EObject this_InitialNode_1 = null; EObject this_ActivityFinalNode_2 = null; EObject this_ForkNode_3 = null; EObject this_JoinNode_4 = null; EObject this_MergeNode_5 = null; EObject this_DecisionNode_6 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:535:28: ( (this_OpaqueAction_0= ruleOpaqueAction | this_InitialNode_1= ruleInitialNode | this_ActivityFinalNode_2= ruleActivityFinalNode | this_ForkNode_3= ruleForkNode | this_JoinNode_4= ruleJoinNode | this_MergeNode_5= ruleMergeNode | this_DecisionNode_6= ruleDecisionNode ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:536:1: (this_OpaqueAction_0= ruleOpaqueAction | this_InitialNode_1= ruleInitialNode | this_ActivityFinalNode_2= ruleActivityFinalNode | this_ForkNode_3= ruleForkNode | this_JoinNode_4= ruleJoinNode | this_MergeNode_5= ruleMergeNode | this_DecisionNode_6= ruleDecisionNode ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:536:1: (this_OpaqueAction_0= ruleOpaqueAction | this_InitialNode_1= ruleInitialNode | this_ActivityFinalNode_2= ruleActivityFinalNode | this_ForkNode_3= ruleForkNode | this_JoinNode_4= ruleJoinNode | this_MergeNode_5= ruleMergeNode | this_DecisionNode_6= ruleDecisionNode ) int alt11=7; switch ( input.LA(1) ) { case 25: { alt11=1; } break; case 28: { alt11=2; } break; case 29: { alt11=3; } break; case 30: { alt11=4; } break; case 31: { alt11=5; } break; case 32: { alt11=6; } break; case 33: { alt11=7; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 11, 0, input); throw nvae; } switch (alt11) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:537:5: this_OpaqueAction_0= ruleOpaqueAction { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityNodeAccess().getOpaqueActionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpaqueAction_in_ruleActivityNode1054); this_OpaqueAction_0=ruleOpaqueAction(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_OpaqueAction_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:547:5: this_InitialNode_1= ruleInitialNode { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityNodeAccess().getInitialNodeParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleInitialNode_in_ruleActivityNode1081); this_InitialNode_1=ruleInitialNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_InitialNode_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:557:5: this_ActivityFinalNode_2= ruleActivityFinalNode { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityNodeAccess().getActivityFinalNodeParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleActivityFinalNode_in_ruleActivityNode1108); this_ActivityFinalNode_2=ruleActivityFinalNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_ActivityFinalNode_2; afterParserOrEnumRuleCall(); } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:567:5: this_ForkNode_3= ruleForkNode { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityNodeAccess().getForkNodeParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_ruleForkNode_in_ruleActivityNode1135); this_ForkNode_3=ruleForkNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_ForkNode_3; afterParserOrEnumRuleCall(); } } break; case 5 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:577:5: this_JoinNode_4= ruleJoinNode { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityNodeAccess().getJoinNodeParserRuleCall_4()); } pushFollow(FollowSets000.FOLLOW_ruleJoinNode_in_ruleActivityNode1162); this_JoinNode_4=ruleJoinNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_JoinNode_4; afterParserOrEnumRuleCall(); } } break; case 6 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:587:5: this_MergeNode_5= ruleMergeNode { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityNodeAccess().getMergeNodeParserRuleCall_5()); } pushFollow(FollowSets000.FOLLOW_ruleMergeNode_in_ruleActivityNode1189); this_MergeNode_5=ruleMergeNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_MergeNode_5; afterParserOrEnumRuleCall(); } } break; case 7 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:597:5: this_DecisionNode_6= ruleDecisionNode { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityNodeAccess().getDecisionNodeParserRuleCall_6()); } pushFollow(FollowSets000.FOLLOW_ruleDecisionNode_in_ruleActivityNode1216); this_DecisionNode_6=ruleDecisionNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_DecisionNode_6; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleActivityNode" // $ANTLR start "entryRuleActivityEdge" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:613:1: entryRuleActivityEdge returns [EObject current=null] : iv_ruleActivityEdge= ruleActivityEdge EOF ; public final EObject entryRuleActivityEdge() throws RecognitionException { EObject current = null; EObject iv_ruleActivityEdge = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:614:2: (iv_ruleActivityEdge= ruleActivityEdge EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:615:2: iv_ruleActivityEdge= ruleActivityEdge EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityEdgeRule()); } pushFollow(FollowSets000.FOLLOW_ruleActivityEdge_in_entryRuleActivityEdge1251); iv_ruleActivityEdge=ruleActivityEdge(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleActivityEdge; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActivityEdge1261); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleActivityEdge" // $ANTLR start "ruleActivityEdge" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:622:1: ruleActivityEdge returns [EObject current=null] : this_ControlFlow_0= ruleControlFlow ; public final EObject ruleActivityEdge() throws RecognitionException { EObject current = null; EObject this_ControlFlow_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:625:28: (this_ControlFlow_0= ruleControlFlow ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:627:5: this_ControlFlow_0= ruleControlFlow { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityEdgeAccess().getControlFlowParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_ruleControlFlow_in_ruleActivityEdge1307); this_ControlFlow_0=ruleControlFlow(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_ControlFlow_0; afterParserOrEnumRuleCall(); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleActivityEdge" // $ANTLR start "entryRuleVariable" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:643:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ; public final EObject entryRuleVariable() throws RecognitionException { EObject current = null; EObject iv_ruleVariable = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:644:2: (iv_ruleVariable= ruleVariable EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:645:2: iv_ruleVariable= ruleVariable EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVariableRule()); } pushFollow(FollowSets000.FOLLOW_ruleVariable_in_entryRuleVariable1341); iv_ruleVariable=ruleVariable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleVariable; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVariable1351); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleVariable" // $ANTLR start "ruleVariable" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:652:1: ruleVariable returns [EObject current=null] : (this_IntegerVariable_0= ruleIntegerVariable | this_BooleanVariable_1= ruleBooleanVariable ) ; public final EObject ruleVariable() throws RecognitionException { EObject current = null; EObject this_IntegerVariable_0 = null; EObject this_BooleanVariable_1 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:655:28: ( (this_IntegerVariable_0= ruleIntegerVariable | this_BooleanVariable_1= ruleBooleanVariable ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:656:1: (this_IntegerVariable_0= ruleIntegerVariable | this_BooleanVariable_1= ruleBooleanVariable ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:656:1: (this_IntegerVariable_0= ruleIntegerVariable | this_BooleanVariable_1= ruleBooleanVariable ) int alt12=2; int LA12_0 = input.LA(1); if ( (LA12_0==34) ) { alt12=1; } else if ( (LA12_0==36) ) { alt12=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 12, 0, input); throw nvae; } switch (alt12) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:657:5: this_IntegerVariable_0= ruleIntegerVariable { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVariableAccess().getIntegerVariableParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleIntegerVariable_in_ruleVariable1398); this_IntegerVariable_0=ruleIntegerVariable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_IntegerVariable_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:667:5: this_BooleanVariable_1= ruleBooleanVariable { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getVariableAccess().getBooleanVariableParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleBooleanVariable_in_ruleVariable1425); this_BooleanVariable_1=ruleBooleanVariable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_BooleanVariable_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleVariable" // $ANTLR start "entryRuleValue" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:683:1: entryRuleValue returns [EObject current=null] : iv_ruleValue= ruleValue EOF ; public final EObject entryRuleValue() throws RecognitionException { EObject current = null; EObject iv_ruleValue = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:684:2: (iv_ruleValue= ruleValue EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:685:2: iv_ruleValue= ruleValue EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getValueRule()); } pushFollow(FollowSets000.FOLLOW_ruleValue_in_entryRuleValue1460); iv_ruleValue=ruleValue(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleValue; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleValue1470); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleValue" // $ANTLR start "ruleValue" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:692:1: ruleValue returns [EObject current=null] : (this_BooleanValue_0= ruleBooleanValue | this_IntegerValue_1= ruleIntegerValue ) ; public final EObject ruleValue() throws RecognitionException { EObject current = null; EObject this_BooleanValue_0 = null; EObject this_IntegerValue_1 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:695:28: ( (this_BooleanValue_0= ruleBooleanValue | this_IntegerValue_1= ruleIntegerValue ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:696:1: (this_BooleanValue_0= ruleBooleanValue | this_IntegerValue_1= ruleIntegerValue ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:696:1: (this_BooleanValue_0= ruleBooleanValue | this_IntegerValue_1= ruleIntegerValue ) int alt13=2; int LA13_0 = input.LA(1); if ( ((LA13_0>=37 && LA13_0<=38)) ) { alt13=1; } else if ( (LA13_0==RULE_INT) ) { alt13=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 13, 0, input); throw nvae; } switch (alt13) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:697:5: this_BooleanValue_0= ruleBooleanValue { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getValueAccess().getBooleanValueParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleBooleanValue_in_ruleValue1517); this_BooleanValue_0=ruleBooleanValue(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_BooleanValue_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:707:5: this_IntegerValue_1= ruleIntegerValue { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getValueAccess().getIntegerValueParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleIntegerValue_in_ruleValue1544); this_IntegerValue_1=ruleIntegerValue(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_IntegerValue_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleValue" // $ANTLR start "entryRuleOpaqueAction" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:723:1: entryRuleOpaqueAction returns [EObject current=null] : iv_ruleOpaqueAction= ruleOpaqueAction EOF ; public final EObject entryRuleOpaqueAction() throws RecognitionException { EObject current = null; EObject iv_ruleOpaqueAction = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:724:2: (iv_ruleOpaqueAction= ruleOpaqueAction EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:725:2: iv_ruleOpaqueAction= ruleOpaqueAction EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpaqueActionRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpaqueAction_in_entryRuleOpaqueAction1579); iv_ruleOpaqueAction=ruleOpaqueAction(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpaqueAction; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpaqueAction1589); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpaqueAction" // $ANTLR start "ruleOpaqueAction" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:732:1: ruleOpaqueAction returns [EObject current=null] : ( () otherlv_1= 'luaAction' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? (otherlv_15= '{' ( (lv_lua_16_0= ruleBlock ) ) otherlv_17= '}' )? ) ; public final EObject ruleOpaqueAction() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_5=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_8=null; Token otherlv_9=null; Token otherlv_10=null; Token otherlv_11=null; Token otherlv_12=null; Token otherlv_13=null; Token otherlv_14=null; Token otherlv_15=null; Token otherlv_17=null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_lua_16_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:735:28: ( ( () otherlv_1= 'luaAction' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? (otherlv_15= '{' ( (lv_lua_16_0= ruleBlock ) ) otherlv_17= '}' )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:736:1: ( () otherlv_1= 'luaAction' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? (otherlv_15= '{' ( (lv_lua_16_0= ruleBlock ) ) otherlv_17= '}' )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:736:1: ( () otherlv_1= 'luaAction' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? (otherlv_15= '{' ( (lv_lua_16_0= ruleBlock ) ) otherlv_17= '}' )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:736:2: () otherlv_1= 'luaAction' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? (otherlv_15= '{' ( (lv_lua_16_0= ruleBlock ) ) otherlv_17= '}' )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:736:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:737:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getOpaqueActionAccess().getOpaqueActionAction_0(), current); } } otherlv_1=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleOpaqueAction1635); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getOpaqueActionAccess().getLuaActionKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:746:1: ( (lv_name_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:747:1: (lv_name_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:747:1: (lv_name_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:748:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpaqueActionAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleOpaqueAction1656); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getOpaqueActionRule()); } set( current, "name", lv_name_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:764:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? int alt15=2; int LA15_0 = input.LA(1); if ( (LA15_0==26) ) { alt15=1; } switch (alt15) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:764:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' { otherlv_3=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleOpaqueAction1669); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getOpaqueActionAccess().getInKeyword_3_0()); } otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleOpaqueAction1681); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getOpaqueActionAccess().getLeftParenthesisKeyword_3_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:772:1: ( (otherlv_5= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:773:1: (otherlv_5= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:773:1: (otherlv_5= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:774:3: otherlv_5= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getOpaqueActionRule()); } } otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleOpaqueAction1701); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getOpaqueActionAccess().getIncomingActivityEdgeCrossReference_3_2_0()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:785:2: (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* loop14: do { int alt14=2; int LA14_0 = input.LA(1); if ( (LA14_0==21) ) { alt14=1; } switch (alt14) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:785:4: otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) { otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleOpaqueAction1714); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getOpaqueActionAccess().getCommaKeyword_3_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:789:1: ( (otherlv_7= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:790:1: (otherlv_7= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:790:1: (otherlv_7= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:791:3: otherlv_7= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getOpaqueActionRule()); } } otherlv_7=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleOpaqueAction1734); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getOpaqueActionAccess().getIncomingActivityEdgeCrossReference_3_3_1_0()); } } } } break; default : break loop14; } } while (true); otherlv_8=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleOpaqueAction1748); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getOpaqueActionAccess().getRightParenthesisKeyword_3_4()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:806:3: (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? int alt17=2; int LA17_0 = input.LA(1); if ( (LA17_0==27) ) { alt17=1; } switch (alt17) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:806:5: otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' { otherlv_9=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleOpaqueAction1763); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getOpaqueActionAccess().getOutKeyword_4_0()); } otherlv_10=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleOpaqueAction1775); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getOpaqueActionAccess().getLeftParenthesisKeyword_4_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:814:1: ( (otherlv_11= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:815:1: (otherlv_11= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:815:1: (otherlv_11= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:816:3: otherlv_11= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getOpaqueActionRule()); } } otherlv_11=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleOpaqueAction1795); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getOpaqueActionAccess().getOutgoingActivityEdgeCrossReference_4_2_0()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:827:2: (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* loop16: do { int alt16=2; int LA16_0 = input.LA(1); if ( (LA16_0==21) ) { alt16=1; } switch (alt16) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:827:4: otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) { otherlv_12=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleOpaqueAction1808); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getOpaqueActionAccess().getCommaKeyword_4_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:831:1: ( (otherlv_13= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:832:1: (otherlv_13= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:832:1: (otherlv_13= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:833:3: otherlv_13= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getOpaqueActionRule()); } } otherlv_13=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleOpaqueAction1828); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getOpaqueActionAccess().getOutgoingActivityEdgeCrossReference_4_3_1_0()); } } } } break; default : break loop16; } } while (true); otherlv_14=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleOpaqueAction1842); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_14, grammarAccess.getOpaqueActionAccess().getRightParenthesisKeyword_4_4()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:848:3: (otherlv_15= '{' ( (lv_lua_16_0= ruleBlock ) ) otherlv_17= '}' )? int alt18=2; int LA18_0 = input.LA(1); if ( (LA18_0==15) ) { alt18=1; } switch (alt18) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:848:5: otherlv_15= '{' ( (lv_lua_16_0= ruleBlock ) ) otherlv_17= '}' { otherlv_15=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleOpaqueAction1857); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getOpaqueActionAccess().getLeftCurlyBracketKeyword_5_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:852:1: ( (lv_lua_16_0= ruleBlock ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:853:1: (lv_lua_16_0= ruleBlock ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:853:1: (lv_lua_16_0= ruleBlock ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:854:3: lv_lua_16_0= ruleBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpaqueActionAccess().getLuaBlockParserRuleCall_5_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleOpaqueAction1878); lv_lua_16_0=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getOpaqueActionRule()); } set( current, "lua", lv_lua_16_0, "Block"); afterParserOrEnumRuleCall(); } } } otherlv_17=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleOpaqueAction1890); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_17, grammarAccess.getOpaqueActionAccess().getRightCurlyBracketKeyword_5_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleOpaqueAction" // $ANTLR start "entryRuleInitialNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:882:1: entryRuleInitialNode returns [EObject current=null] : iv_ruleInitialNode= ruleInitialNode EOF ; public final EObject entryRuleInitialNode() throws RecognitionException { EObject current = null; EObject iv_ruleInitialNode = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:883:2: (iv_ruleInitialNode= ruleInitialNode EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:884:2: iv_ruleInitialNode= ruleInitialNode EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInitialNodeRule()); } pushFollow(FollowSets000.FOLLOW_ruleInitialNode_in_entryRuleInitialNode1928); iv_ruleInitialNode=ruleInitialNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleInitialNode; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInitialNode1938); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleInitialNode" // $ANTLR start "ruleInitialNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:891:1: ruleInitialNode returns [EObject current=null] : ( () otherlv_1= 'initial' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) ) ; public final EObject ruleInitialNode() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_5=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_8=null; AntlrDatatypeRuleToken lv_name_2_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:894:28: ( ( () otherlv_1= 'initial' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:895:1: ( () otherlv_1= 'initial' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:895:1: ( () otherlv_1= 'initial' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:895:2: () otherlv_1= 'initial' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:895:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:896:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getInitialNodeAccess().getInitialNodeAction_0(), current); } } otherlv_1=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruleInitialNode1984); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getInitialNodeAccess().getInitialKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:905:1: ( (lv_name_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:906:1: (lv_name_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:906:1: (lv_name_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:907:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getInitialNodeAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleInitialNode2005); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getInitialNodeRule()); } set( current, "name", lv_name_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:923:2: (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:923:4: otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' { otherlv_3=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleInitialNode2018); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getInitialNodeAccess().getOutKeyword_3_0()); } otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleInitialNode2030); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getInitialNodeAccess().getLeftParenthesisKeyword_3_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:931:1: ( (otherlv_5= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:932:1: (otherlv_5= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:932:1: (otherlv_5= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:933:3: otherlv_5= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getInitialNodeRule()); } } otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleInitialNode2050); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getInitialNodeAccess().getOutgoingActivityEdgeCrossReference_3_2_0()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:944:2: (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* loop19: do { int alt19=2; int LA19_0 = input.LA(1); if ( (LA19_0==21) ) { alt19=1; } switch (alt19) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:944:4: otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) { otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleInitialNode2063); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getInitialNodeAccess().getCommaKeyword_3_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:948:1: ( (otherlv_7= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:949:1: (otherlv_7= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:949:1: (otherlv_7= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:950:3: otherlv_7= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getInitialNodeRule()); } } otherlv_7=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleInitialNode2083); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getInitialNodeAccess().getOutgoingActivityEdgeCrossReference_3_3_1_0()); } } } } break; default : break loop19; } } while (true); otherlv_8=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleInitialNode2097); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getInitialNodeAccess().getRightParenthesisKeyword_3_4()); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleInitialNode" // $ANTLR start "entryRuleActivityFinalNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:973:1: entryRuleActivityFinalNode returns [EObject current=null] : iv_ruleActivityFinalNode= ruleActivityFinalNode EOF ; public final EObject entryRuleActivityFinalNode() throws RecognitionException { EObject current = null; EObject iv_ruleActivityFinalNode = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:974:2: (iv_ruleActivityFinalNode= ruleActivityFinalNode EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:975:2: iv_ruleActivityFinalNode= ruleActivityFinalNode EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityFinalNodeRule()); } pushFollow(FollowSets000.FOLLOW_ruleActivityFinalNode_in_entryRuleActivityFinalNode2134); iv_ruleActivityFinalNode=ruleActivityFinalNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleActivityFinalNode; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActivityFinalNode2144); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleActivityFinalNode" // $ANTLR start "ruleActivityFinalNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:982:1: ruleActivityFinalNode returns [EObject current=null] : ( () otherlv_1= 'final' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) ) ; public final EObject ruleActivityFinalNode() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_5=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_8=null; AntlrDatatypeRuleToken lv_name_2_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:985:28: ( ( () otherlv_1= 'final' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:986:1: ( () otherlv_1= 'final' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:986:1: ( () otherlv_1= 'final' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:986:2: () otherlv_1= 'final' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:986:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:987:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getActivityFinalNodeAccess().getActivityFinalNodeAction_0(), current); } } otherlv_1=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleActivityFinalNode2190); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getActivityFinalNodeAccess().getFinalKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:996:1: ( (lv_name_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:997:1: (lv_name_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:997:1: (lv_name_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:998:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getActivityFinalNodeAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleActivityFinalNode2211); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getActivityFinalNodeRule()); } set( current, "name", lv_name_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1014:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1014:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' { otherlv_3=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleActivityFinalNode2224); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getActivityFinalNodeAccess().getInKeyword_3_0()); } otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleActivityFinalNode2236); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getActivityFinalNodeAccess().getLeftParenthesisKeyword_3_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1022:1: ( (otherlv_5= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1023:1: (otherlv_5= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1023:1: (otherlv_5= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1024:3: otherlv_5= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getActivityFinalNodeRule()); } } otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleActivityFinalNode2256); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getActivityFinalNodeAccess().getIncomingActivityEdgeCrossReference_3_2_0()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1035:2: (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* loop20: do { int alt20=2; int LA20_0 = input.LA(1); if ( (LA20_0==21) ) { alt20=1; } switch (alt20) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1035:4: otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) { otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleActivityFinalNode2269); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getActivityFinalNodeAccess().getCommaKeyword_3_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1039:1: ( (otherlv_7= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1040:1: (otherlv_7= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1040:1: (otherlv_7= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1041:3: otherlv_7= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getActivityFinalNodeRule()); } } otherlv_7=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleActivityFinalNode2289); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getActivityFinalNodeAccess().getIncomingActivityEdgeCrossReference_3_3_1_0()); } } } } break; default : break loop20; } } while (true); otherlv_8=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleActivityFinalNode2303); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getActivityFinalNodeAccess().getRightParenthesisKeyword_3_4()); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleActivityFinalNode" // $ANTLR start "entryRuleForkNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1064:1: entryRuleForkNode returns [EObject current=null] : iv_ruleForkNode= ruleForkNode EOF ; public final EObject entryRuleForkNode() throws RecognitionException { EObject current = null; EObject iv_ruleForkNode = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1065:2: (iv_ruleForkNode= ruleForkNode EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1066:2: iv_ruleForkNode= ruleForkNode EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getForkNodeRule()); } pushFollow(FollowSets000.FOLLOW_ruleForkNode_in_entryRuleForkNode2340); iv_ruleForkNode=ruleForkNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleForkNode; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleForkNode2350); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleForkNode" // $ANTLR start "ruleForkNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1073:1: ruleForkNode returns [EObject current=null] : ( () otherlv_1= 'fork' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? ) ; public final EObject ruleForkNode() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_5=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_8=null; Token otherlv_9=null; Token otherlv_10=null; Token otherlv_11=null; Token otherlv_12=null; AntlrDatatypeRuleToken lv_name_2_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1076:28: ( ( () otherlv_1= 'fork' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1077:1: ( () otherlv_1= 'fork' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1077:1: ( () otherlv_1= 'fork' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1077:2: () otherlv_1= 'fork' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1077:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1078:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getForkNodeAccess().getForkNodeAction_0(), current); } } otherlv_1=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleForkNode2396); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getForkNodeAccess().getForkKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1087:1: ( (lv_name_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1088:1: (lv_name_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1088:1: (lv_name_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1089:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getForkNodeAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleForkNode2417); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getForkNodeRule()); } set( current, "name", lv_name_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1105:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1105:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' { otherlv_3=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleForkNode2430); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getForkNodeAccess().getInKeyword_3_0()); } otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleForkNode2442); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getForkNodeAccess().getLeftParenthesisKeyword_3_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1113:1: ( (otherlv_5= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1114:1: (otherlv_5= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1114:1: (otherlv_5= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1115:3: otherlv_5= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getForkNodeRule()); } } otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleForkNode2462); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getForkNodeAccess().getIncomingActivityEdgeCrossReference_3_2_0()); } } } otherlv_6=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleForkNode2474); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getForkNodeAccess().getRightParenthesisKeyword_3_3()); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1130:2: (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? int alt22=2; int LA22_0 = input.LA(1); if ( (LA22_0==27) ) { alt22=1; } switch (alt22) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1130:4: otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' { otherlv_7=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleForkNode2488); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getForkNodeAccess().getOutKeyword_4_0()); } otherlv_8=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleForkNode2500); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getForkNodeAccess().getLeftParenthesisKeyword_4_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1138:1: ( (otherlv_9= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1139:1: (otherlv_9= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1139:1: (otherlv_9= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1140:3: otherlv_9= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getForkNodeRule()); } } otherlv_9=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleForkNode2520); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getForkNodeAccess().getOutgoingActivityEdgeCrossReference_4_2_0()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1151:2: (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* loop21: do { int alt21=2; int LA21_0 = input.LA(1); if ( (LA21_0==21) ) { alt21=1; } switch (alt21) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1151:4: otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) { otherlv_10=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleForkNode2533); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getForkNodeAccess().getCommaKeyword_4_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1155:1: ( (otherlv_11= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1156:1: (otherlv_11= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1156:1: (otherlv_11= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1157:3: otherlv_11= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getForkNodeRule()); } } otherlv_11=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleForkNode2553); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getForkNodeAccess().getOutgoingActivityEdgeCrossReference_4_3_1_0()); } } } } break; default : break loop21; } } while (true); otherlv_12=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleForkNode2567); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getForkNodeAccess().getRightParenthesisKeyword_4_4()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleForkNode" // $ANTLR start "entryRuleJoinNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1180:1: entryRuleJoinNode returns [EObject current=null] : iv_ruleJoinNode= ruleJoinNode EOF ; public final EObject entryRuleJoinNode() throws RecognitionException { EObject current = null; EObject iv_ruleJoinNode = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1181:2: (iv_ruleJoinNode= ruleJoinNode EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1182:2: iv_ruleJoinNode= ruleJoinNode EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJoinNodeRule()); } pushFollow(FollowSets000.FOLLOW_ruleJoinNode_in_entryRuleJoinNode2605); iv_ruleJoinNode=ruleJoinNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJoinNode; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJoinNode2615); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJoinNode" // $ANTLR start "ruleJoinNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1189:1: ruleJoinNode returns [EObject current=null] : ( () otherlv_1= 'join' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) ) ; public final EObject ruleJoinNode() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_5=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_8=null; Token otherlv_9=null; Token otherlv_10=null; Token otherlv_11=null; Token otherlv_12=null; AntlrDatatypeRuleToken lv_name_2_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1192:28: ( ( () otherlv_1= 'join' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1193:1: ( () otherlv_1= 'join' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1193:1: ( () otherlv_1= 'join' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1193:2: () otherlv_1= 'join' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1193:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1194:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getJoinNodeAccess().getJoinNodeAction_0(), current); } } otherlv_1=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleJoinNode2661); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getJoinNodeAccess().getJoinKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1203:1: ( (lv_name_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1204:1: (lv_name_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1204:1: (lv_name_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1205:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJoinNodeAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleJoinNode2682); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJoinNodeRule()); } set( current, "name", lv_name_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1221:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? int alt24=2; int LA24_0 = input.LA(1); if ( (LA24_0==26) ) { alt24=1; } switch (alt24) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1221:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' { otherlv_3=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleJoinNode2695); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getJoinNodeAccess().getInKeyword_3_0()); } otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleJoinNode2707); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getJoinNodeAccess().getLeftParenthesisKeyword_3_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1229:1: ( (otherlv_5= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1230:1: (otherlv_5= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1230:1: (otherlv_5= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1231:3: otherlv_5= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getJoinNodeRule()); } } otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleJoinNode2727); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getJoinNodeAccess().getIncomingActivityEdgeCrossReference_3_2_0()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1242:2: (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* loop23: do { int alt23=2; int LA23_0 = input.LA(1); if ( (LA23_0==21) ) { alt23=1; } switch (alt23) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1242:4: otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) { otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleJoinNode2740); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getJoinNodeAccess().getCommaKeyword_3_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1246:1: ( (otherlv_7= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1247:1: (otherlv_7= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1247:1: (otherlv_7= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1248:3: otherlv_7= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getJoinNodeRule()); } } otherlv_7=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleJoinNode2760); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getJoinNodeAccess().getIncomingActivityEdgeCrossReference_3_3_1_0()); } } } } break; default : break loop23; } } while (true); otherlv_8=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleJoinNode2774); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getJoinNodeAccess().getRightParenthesisKeyword_3_4()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1263:3: (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1263:5: otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' { otherlv_9=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleJoinNode2789); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getJoinNodeAccess().getOutKeyword_4_0()); } otherlv_10=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleJoinNode2801); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getJoinNodeAccess().getLeftParenthesisKeyword_4_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1271:1: ( (otherlv_11= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1272:1: (otherlv_11= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1272:1: (otherlv_11= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1273:3: otherlv_11= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getJoinNodeRule()); } } otherlv_11=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleJoinNode2821); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getJoinNodeAccess().getOutgoingActivityEdgeCrossReference_4_2_0()); } } } otherlv_12=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleJoinNode2833); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getJoinNodeAccess().getRightParenthesisKeyword_4_3()); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJoinNode" // $ANTLR start "entryRuleMergeNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1296:1: entryRuleMergeNode returns [EObject current=null] : iv_ruleMergeNode= ruleMergeNode EOF ; public final EObject entryRuleMergeNode() throws RecognitionException { EObject current = null; EObject iv_ruleMergeNode = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1297:2: (iv_ruleMergeNode= ruleMergeNode EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1298:2: iv_ruleMergeNode= ruleMergeNode EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeNodeRule()); } pushFollow(FollowSets000.FOLLOW_ruleMergeNode_in_entryRuleMergeNode2870); iv_ruleMergeNode=ruleMergeNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleMergeNode; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMergeNode2880); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleMergeNode" // $ANTLR start "ruleMergeNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1305:1: ruleMergeNode returns [EObject current=null] : ( () otherlv_1= 'merge' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) ) ; public final EObject ruleMergeNode() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_5=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_8=null; Token otherlv_9=null; Token otherlv_10=null; Token otherlv_11=null; Token otherlv_12=null; AntlrDatatypeRuleToken lv_name_2_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1308:28: ( ( () otherlv_1= 'merge' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1309:1: ( () otherlv_1= 'merge' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1309:1: ( () otherlv_1= 'merge' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1309:2: () otherlv_1= 'merge' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1309:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1310:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getMergeNodeAccess().getMergeNodeAction_0(), current); } } otherlv_1=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleMergeNode2926); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getMergeNodeAccess().getMergeKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1319:1: ( (lv_name_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1320:1: (lv_name_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1320:1: (lv_name_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1321:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getMergeNodeAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleMergeNode2947); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getMergeNodeRule()); } set( current, "name", lv_name_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1337:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )? int alt26=2; int LA26_0 = input.LA(1); if ( (LA26_0==26) ) { alt26=1; } switch (alt26) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1337:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' { otherlv_3=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleMergeNode2960); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getMergeNodeAccess().getInKeyword_3_0()); } otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleMergeNode2972); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getMergeNodeAccess().getLeftParenthesisKeyword_3_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1345:1: ( (otherlv_5= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1346:1: (otherlv_5= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1346:1: (otherlv_5= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1347:3: otherlv_5= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getMergeNodeRule()); } } otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleMergeNode2992); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getMergeNodeAccess().getIncomingActivityEdgeCrossReference_3_2_0()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1358:2: (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* loop25: do { int alt25=2; int LA25_0 = input.LA(1); if ( (LA25_0==21) ) { alt25=1; } switch (alt25) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1358:4: otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) { otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleMergeNode3005); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getMergeNodeAccess().getCommaKeyword_3_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1362:1: ( (otherlv_7= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1363:1: (otherlv_7= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1363:1: (otherlv_7= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1364:3: otherlv_7= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getMergeNodeRule()); } } otherlv_7=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleMergeNode3025); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getMergeNodeAccess().getIncomingActivityEdgeCrossReference_3_3_1_0()); } } } } break; default : break loop25; } } while (true); otherlv_8=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleMergeNode3039); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getMergeNodeAccess().getRightParenthesisKeyword_3_4()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1379:3: (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1379:5: otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' { otherlv_9=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleMergeNode3054); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getMergeNodeAccess().getOutKeyword_4_0()); } otherlv_10=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleMergeNode3066); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getMergeNodeAccess().getLeftParenthesisKeyword_4_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1387:1: ( (otherlv_11= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1388:1: (otherlv_11= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1388:1: (otherlv_11= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1389:3: otherlv_11= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getMergeNodeRule()); } } otherlv_11=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleMergeNode3086); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getMergeNodeAccess().getOutgoingActivityEdgeCrossReference_4_2_0()); } } } otherlv_12=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleMergeNode3098); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getMergeNodeAccess().getRightParenthesisKeyword_4_3()); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleMergeNode" // $ANTLR start "entryRuleDecisionNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1412:1: entryRuleDecisionNode returns [EObject current=null] : iv_ruleDecisionNode= ruleDecisionNode EOF ; public final EObject entryRuleDecisionNode() throws RecognitionException { EObject current = null; EObject iv_ruleDecisionNode = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1413:2: (iv_ruleDecisionNode= ruleDecisionNode EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1414:2: iv_ruleDecisionNode= ruleDecisionNode EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDecisionNodeRule()); } pushFollow(FollowSets000.FOLLOW_ruleDecisionNode_in_entryRuleDecisionNode3135); iv_ruleDecisionNode=ruleDecisionNode(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleDecisionNode; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDecisionNode3145); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleDecisionNode" // $ANTLR start "ruleDecisionNode" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1421:1: ruleDecisionNode returns [EObject current=null] : ( () otherlv_1= 'decision' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? ) ; public final EObject ruleDecisionNode() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_5=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_8=null; Token otherlv_9=null; Token otherlv_10=null; Token otherlv_11=null; Token otherlv_12=null; AntlrDatatypeRuleToken lv_name_2_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1424:28: ( ( () otherlv_1= 'decision' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1425:1: ( () otherlv_1= 'decision' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1425:1: ( () otherlv_1= 'decision' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1425:2: () otherlv_1= 'decision' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1425:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1426:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getDecisionNodeAccess().getDecisionNodeAction_0(), current); } } otherlv_1=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleDecisionNode3191); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getDecisionNodeAccess().getDecisionKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1435:1: ( (lv_name_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1436:1: (lv_name_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1436:1: (lv_name_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1437:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getDecisionNodeAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleDecisionNode3212); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getDecisionNodeRule()); } set( current, "name", lv_name_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1453:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1453:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' { otherlv_3=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleDecisionNode3225); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getDecisionNodeAccess().getInKeyword_3_0()); } otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleDecisionNode3237); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getDecisionNodeAccess().getLeftParenthesisKeyword_3_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1461:1: ( (otherlv_5= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1462:1: (otherlv_5= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1462:1: (otherlv_5= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1463:3: otherlv_5= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getDecisionNodeRule()); } } otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleDecisionNode3257); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getDecisionNodeAccess().getIncomingActivityEdgeCrossReference_3_2_0()); } } } otherlv_6=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleDecisionNode3269); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getDecisionNodeAccess().getRightParenthesisKeyword_3_3()); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1478:2: (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )? int alt28=2; int LA28_0 = input.LA(1); if ( (LA28_0==27) ) { alt28=1; } switch (alt28) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1478:4: otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' { otherlv_7=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleDecisionNode3283); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getDecisionNodeAccess().getOutKeyword_4_0()); } otherlv_8=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleDecisionNode3295); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getDecisionNodeAccess().getLeftParenthesisKeyword_4_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1486:1: ( (otherlv_9= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1487:1: (otherlv_9= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1487:1: (otherlv_9= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1488:3: otherlv_9= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getDecisionNodeRule()); } } otherlv_9=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleDecisionNode3315); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getDecisionNodeAccess().getOutgoingActivityEdgeCrossReference_4_2_0()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1499:2: (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* loop27: do { int alt27=2; int LA27_0 = input.LA(1); if ( (LA27_0==21) ) { alt27=1; } switch (alt27) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1499:4: otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) { otherlv_10=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleDecisionNode3328); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getDecisionNodeAccess().getCommaKeyword_4_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1503:1: ( (otherlv_11= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1504:1: (otherlv_11= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1504:1: (otherlv_11= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1505:3: otherlv_11= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getDecisionNodeRule()); } } otherlv_11=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleDecisionNode3348); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getDecisionNodeAccess().getOutgoingActivityEdgeCrossReference_4_3_1_0()); } } } } break; default : break loop27; } } while (true); otherlv_12=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleDecisionNode3362); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getDecisionNodeAccess().getRightParenthesisKeyword_4_4()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleDecisionNode" // $ANTLR start "entryRuleIntegerVariable" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1528:1: entryRuleIntegerVariable returns [EObject current=null] : iv_ruleIntegerVariable= ruleIntegerVariable EOF ; public final EObject entryRuleIntegerVariable() throws RecognitionException { EObject current = null; EObject iv_ruleIntegerVariable = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1529:2: (iv_ruleIntegerVariable= ruleIntegerVariable EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1530:2: iv_ruleIntegerVariable= ruleIntegerVariable EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIntegerVariableRule()); } pushFollow(FollowSets000.FOLLOW_ruleIntegerVariable_in_entryRuleIntegerVariable3400); iv_ruleIntegerVariable=ruleIntegerVariable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleIntegerVariable; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIntegerVariable3410); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleIntegerVariable" // $ANTLR start "ruleIntegerVariable" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1537:1: ruleIntegerVariable returns [EObject current=null] : ( () otherlv_1= 'int' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? ) ; public final EObject ruleIntegerVariable() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_initialValue_4_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1540:28: ( ( () otherlv_1= 'int' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1541:1: ( () otherlv_1= 'int' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1541:1: ( () otherlv_1= 'int' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1541:2: () otherlv_1= 'int' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1541:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1542:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getIntegerVariableAccess().getIntegerVariableAction_0(), current); } } otherlv_1=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleIntegerVariable3456); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getIntegerVariableAccess().getIntKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1551:1: ( (lv_name_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1552:1: (lv_name_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1552:1: (lv_name_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1553:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIntegerVariableAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleIntegerVariable3477); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getIntegerVariableRule()); } set( current, "name", lv_name_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1569:2: (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? int alt29=2; int LA29_0 = input.LA(1); if ( (LA29_0==35) ) { alt29=1; } switch (alt29) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1569:4: otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) { otherlv_3=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleIntegerVariable3490); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getIntegerVariableAccess().getEqualsSignKeyword_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1573:1: ( (lv_initialValue_4_0= ruleValue ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1574:1: (lv_initialValue_4_0= ruleValue ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1574:1: (lv_initialValue_4_0= ruleValue ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1575:3: lv_initialValue_4_0= ruleValue { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIntegerVariableAccess().getInitialValueValueParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValue_in_ruleIntegerVariable3511); lv_initialValue_4_0=ruleValue(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getIntegerVariableRule()); } set( current, "initialValue", lv_initialValue_4_0, "Value"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleIntegerVariable" // $ANTLR start "entryRuleBooleanVariable" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1599:1: entryRuleBooleanVariable returns [EObject current=null] : iv_ruleBooleanVariable= ruleBooleanVariable EOF ; public final EObject entryRuleBooleanVariable() throws RecognitionException { EObject current = null; EObject iv_ruleBooleanVariable = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1600:2: (iv_ruleBooleanVariable= ruleBooleanVariable EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1601:2: iv_ruleBooleanVariable= ruleBooleanVariable EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBooleanVariableRule()); } pushFollow(FollowSets000.FOLLOW_ruleBooleanVariable_in_entryRuleBooleanVariable3549); iv_ruleBooleanVariable=ruleBooleanVariable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleBooleanVariable; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanVariable3559); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleBooleanVariable" // $ANTLR start "ruleBooleanVariable" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1608:1: ruleBooleanVariable returns [EObject current=null] : ( () otherlv_1= 'bool' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? ) ; public final EObject ruleBooleanVariable() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; AntlrDatatypeRuleToken lv_name_2_0 = null; EObject lv_initialValue_4_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1611:28: ( ( () otherlv_1= 'bool' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1612:1: ( () otherlv_1= 'bool' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1612:1: ( () otherlv_1= 'bool' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1612:2: () otherlv_1= 'bool' ( (lv_name_2_0= ruleValidID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1612:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1613:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getBooleanVariableAccess().getBooleanVariableAction_0(), current); } } otherlv_1=(Token)match(input,36,FollowSets000.FOLLOW_36_in_ruleBooleanVariable3605); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getBooleanVariableAccess().getBoolKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1622:1: ( (lv_name_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1623:1: (lv_name_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1623:1: (lv_name_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1624:3: lv_name_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBooleanVariableAccess().getNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleBooleanVariable3626); lv_name_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getBooleanVariableRule()); } set( current, "name", lv_name_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1640:2: (otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) )? int alt30=2; int LA30_0 = input.LA(1); if ( (LA30_0==35) ) { alt30=1; } switch (alt30) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1640:4: otherlv_3= '=' ( (lv_initialValue_4_0= ruleValue ) ) { otherlv_3=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleBooleanVariable3639); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getBooleanVariableAccess().getEqualsSignKeyword_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1644:1: ( (lv_initialValue_4_0= ruleValue ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1645:1: (lv_initialValue_4_0= ruleValue ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1645:1: (lv_initialValue_4_0= ruleValue ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1646:3: lv_initialValue_4_0= ruleValue { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBooleanVariableAccess().getInitialValueValueParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValue_in_ruleBooleanVariable3660); lv_initialValue_4_0=ruleValue(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getBooleanVariableRule()); } set( current, "initialValue", lv_initialValue_4_0, "Value"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleBooleanVariable" // $ANTLR start "entryRuleBooleanValue" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1670:1: entryRuleBooleanValue returns [EObject current=null] : iv_ruleBooleanValue= ruleBooleanValue EOF ; public final EObject entryRuleBooleanValue() throws RecognitionException { EObject current = null; EObject iv_ruleBooleanValue = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1671:2: (iv_ruleBooleanValue= ruleBooleanValue EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1672:2: iv_ruleBooleanValue= ruleBooleanValue EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBooleanValueRule()); } pushFollow(FollowSets000.FOLLOW_ruleBooleanValue_in_entryRuleBooleanValue3698); iv_ruleBooleanValue=ruleBooleanValue(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleBooleanValue; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanValue3708); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleBooleanValue" // $ANTLR start "ruleBooleanValue" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1679:1: ruleBooleanValue returns [EObject current=null] : ( (lv_value_0_0= ruleEBoolean ) ) ; public final EObject ruleBooleanValue() throws RecognitionException { EObject current = null; AntlrDatatypeRuleToken lv_value_0_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1682:28: ( ( (lv_value_0_0= ruleEBoolean ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1683:1: ( (lv_value_0_0= ruleEBoolean ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1683:1: ( (lv_value_0_0= ruleEBoolean ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1684:1: (lv_value_0_0= ruleEBoolean ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1684:1: (lv_value_0_0= ruleEBoolean ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1685:3: lv_value_0_0= ruleEBoolean { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBooleanValueAccess().getValueEBooleanParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleEBoolean_in_ruleBooleanValue3753); lv_value_0_0=ruleEBoolean(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getBooleanValueRule()); } set( current, "value", lv_value_0_0, "EBoolean"); afterParserOrEnumRuleCall(); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleBooleanValue" // $ANTLR start "entryRuleIntegerValue" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1709:1: entryRuleIntegerValue returns [EObject current=null] : iv_ruleIntegerValue= ruleIntegerValue EOF ; public final EObject entryRuleIntegerValue() throws RecognitionException { EObject current = null; EObject iv_ruleIntegerValue = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1710:2: (iv_ruleIntegerValue= ruleIntegerValue EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1711:2: iv_ruleIntegerValue= ruleIntegerValue EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIntegerValueRule()); } pushFollow(FollowSets000.FOLLOW_ruleIntegerValue_in_entryRuleIntegerValue3788); iv_ruleIntegerValue=ruleIntegerValue(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleIntegerValue; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIntegerValue3798); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleIntegerValue" // $ANTLR start "ruleIntegerValue" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1718:1: ruleIntegerValue returns [EObject current=null] : ( (lv_value_0_0= RULE_INT ) ) ; public final EObject ruleIntegerValue() throws RecognitionException { EObject current = null; Token lv_value_0_0=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1721:28: ( ( (lv_value_0_0= RULE_INT ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1722:1: ( (lv_value_0_0= RULE_INT ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1722:1: ( (lv_value_0_0= RULE_INT ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1723:1: (lv_value_0_0= RULE_INT ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1723:1: (lv_value_0_0= RULE_INT ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1724:3: lv_value_0_0= RULE_INT { lv_value_0_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleIntegerValue3839); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_0_0, grammarAccess.getIntegerValueAccess().getValueINTTerminalRuleCall_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getIntegerValueRule()); } setWithLastConsumed( current, "value", lv_value_0_0, "INT"); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleIntegerValue" // $ANTLR start "entryRuleEBoolean" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1748:1: entryRuleEBoolean returns [String current=null] : iv_ruleEBoolean= ruleEBoolean EOF ; public final String entryRuleEBoolean() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleEBoolean = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1749:2: (iv_ruleEBoolean= ruleEBoolean EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1750:2: iv_ruleEBoolean= ruleEBoolean EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getEBooleanRule()); } pushFollow(FollowSets000.FOLLOW_ruleEBoolean_in_entryRuleEBoolean3880); iv_ruleEBoolean=ruleEBoolean(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleEBoolean.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEBoolean3891); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleEBoolean" // $ANTLR start "ruleEBoolean" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1757:1: ruleEBoolean returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'true' | kw= 'false' ) ; public final AntlrDatatypeRuleToken ruleEBoolean() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1760:28: ( (kw= 'true' | kw= 'false' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1761:1: (kw= 'true' | kw= 'false' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1761:1: (kw= 'true' | kw= 'false' ) int alt31=2; int LA31_0 = input.LA(1); if ( (LA31_0==37) ) { alt31=1; } else if ( (LA31_0==38) ) { alt31=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 31, 0, input); throw nvae; } switch (alt31) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1762:2: kw= 'true' { kw=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleEBoolean3929); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEBooleanAccess().getTrueKeyword_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1769:2: kw= 'false' { kw=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleEBoolean3948); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getEBooleanAccess().getFalseKeyword_1()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleEBoolean" // $ANTLR start "entryRuleControlFlow" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1782:1: entryRuleControlFlow returns [EObject current=null] : iv_ruleControlFlow= ruleControlFlow EOF ; public final EObject entryRuleControlFlow() throws RecognitionException { EObject current = null; EObject iv_ruleControlFlow = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1783:2: (iv_ruleControlFlow= ruleControlFlow EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1784:2: iv_ruleControlFlow= ruleControlFlow EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getControlFlowRule()); } pushFollow(FollowSets000.FOLLOW_ruleControlFlow_in_entryRuleControlFlow3988); iv_ruleControlFlow=ruleControlFlow(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleControlFlow; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleControlFlow3998); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleControlFlow" // $ANTLR start "ruleControlFlow" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1791:1: ruleControlFlow returns [EObject current=null] : (otherlv_0= 'flow' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= 'from' ( (otherlv_3= RULE_ID ) ) otherlv_4= 'to' ( (otherlv_5= RULE_ID ) ) (otherlv_6= '[' ( (otherlv_7= RULE_ID ) ) otherlv_8= ']' )? ) ; public final EObject ruleControlFlow() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_5=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_8=null; AntlrDatatypeRuleToken lv_name_1_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1794:28: ( (otherlv_0= 'flow' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= 'from' ( (otherlv_3= RULE_ID ) ) otherlv_4= 'to' ( (otherlv_5= RULE_ID ) ) (otherlv_6= '[' ( (otherlv_7= RULE_ID ) ) otherlv_8= ']' )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1795:1: (otherlv_0= 'flow' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= 'from' ( (otherlv_3= RULE_ID ) ) otherlv_4= 'to' ( (otherlv_5= RULE_ID ) ) (otherlv_6= '[' ( (otherlv_7= RULE_ID ) ) otherlv_8= ']' )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1795:1: (otherlv_0= 'flow' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= 'from' ( (otherlv_3= RULE_ID ) ) otherlv_4= 'to' ( (otherlv_5= RULE_ID ) ) (otherlv_6= '[' ( (otherlv_7= RULE_ID ) ) otherlv_8= ']' )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1795:3: otherlv_0= 'flow' ( (lv_name_1_0= ruleValidID ) ) otherlv_2= 'from' ( (otherlv_3= RULE_ID ) ) otherlv_4= 'to' ( (otherlv_5= RULE_ID ) ) (otherlv_6= '[' ( (otherlv_7= RULE_ID ) ) otherlv_8= ']' )? { otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_39_in_ruleControlFlow4035); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getControlFlowAccess().getFlowKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1799:1: ( (lv_name_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1800:1: (lv_name_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1800:1: (lv_name_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1801:3: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getControlFlowAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleControlFlow4056); lv_name_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getControlFlowRule()); } set( current, "name", lv_name_1_0, "ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,40,FollowSets000.FOLLOW_40_in_ruleControlFlow4068); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getControlFlowAccess().getFromKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1821:1: ( (otherlv_3= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1822:1: (otherlv_3= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1822:1: (otherlv_3= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1823:3: otherlv_3= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getControlFlowRule()); } } otherlv_3=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleControlFlow4088); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getControlFlowAccess().getSourceActivityNodeCrossReference_3_0()); } } } otherlv_4=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleControlFlow4100); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getControlFlowAccess().getToKeyword_4()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1838:1: ( (otherlv_5= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1839:1: (otherlv_5= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1839:1: (otherlv_5= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1840:3: otherlv_5= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getControlFlowRule()); } } otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleControlFlow4120); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getControlFlowAccess().getTargetActivityNodeCrossReference_5_0()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1851:2: (otherlv_6= '[' ( (otherlv_7= RULE_ID ) ) otherlv_8= ']' )? int alt32=2; int LA32_0 = input.LA(1); if ( (LA32_0==42) ) { alt32=1; } switch (alt32) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1851:4: otherlv_6= '[' ( (otherlv_7= RULE_ID ) ) otherlv_8= ']' { otherlv_6=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleControlFlow4133); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getControlFlowAccess().getLeftSquareBracketKeyword_6_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1855:1: ( (otherlv_7= RULE_ID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1856:1: (otherlv_7= RULE_ID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1856:1: (otherlv_7= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1857:3: otherlv_7= RULE_ID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getControlFlowRule()); } } otherlv_7=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleControlFlow4153); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getControlFlowAccess().getGuardBooleanVariableCrossReference_6_1_0()); } } } otherlv_8=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleControlFlow4165); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getControlFlowAccess().getRightSquareBracketKeyword_6_2()); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleControlFlow" // $ANTLR start "entryRuleBlock" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1882:1: entryRuleBlock returns [EObject current=null] : iv_ruleBlock= ruleBlock EOF ; public final EObject entryRuleBlock() throws RecognitionException { EObject current = null; EObject iv_ruleBlock = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1883:2: (iv_ruleBlock= ruleBlock EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1884:2: iv_ruleBlock= ruleBlock EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBlockRule()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_entryRuleBlock4205); iv_ruleBlock=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleBlock; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBlock4215); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleBlock" // $ANTLR start "ruleBlock" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1891:1: ruleBlock returns [EObject current=null] : ( () ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )* ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )? ) ; public final EObject ruleBlock() throws RecognitionException { EObject current = null; Token otherlv_2=null; Token otherlv_4=null; EObject lv_statements_1_0 = null; EObject lv_returnValue_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1894:28: ( ( () ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )* ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1895:1: ( () ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )* ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1895:1: ( () ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )* ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1895:2: () ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )* ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1895:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1896:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getBlockAccess().getBlockAction_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1901:2: ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )* loop34: do { int alt34=2; int LA34_0 = input.LA(1); if ( (LA34_0==RULE_ID||LA34_0==20||LA34_0==47||(LA34_0>=49 && LA34_0<=50)||LA34_0==52||(LA34_0>=56 && LA34_0<=57)||LA34_0==60) ) { alt34=1; } switch (alt34) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1901:3: ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1901:3: ( (lv_statements_1_0= ruleStatement ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1902:1: (lv_statements_1_0= ruleStatement ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1902:1: (lv_statements_1_0= ruleStatement ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1903:3: lv_statements_1_0= ruleStatement { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBlockAccess().getStatementsStatementParserRuleCall_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_in_ruleBlock4271); lv_statements_1_0=ruleStatement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getBlockRule()); } add( current, "statements", lv_statements_1_0, "Statement"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1919:2: (otherlv_2= ';' )? int alt33=2; int LA33_0 = input.LA(1); if ( (LA33_0==44) ) { alt33=1; } switch (alt33) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1919:4: otherlv_2= ';' { otherlv_2=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleBlock4284); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getBlockAccess().getSemicolonKeyword_1_1()); } } break; } } break; default : break loop34; } } while (true); // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1923:5: ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )? int alt36=2; int LA36_0 = input.LA(1); if ( ((LA36_0>=45 && LA36_0<=46)) ) { alt36=1; } switch (alt36) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1923:6: ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1923:6: ( (lv_returnValue_3_0= ruleLastStatement ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1924:1: (lv_returnValue_3_0= ruleLastStatement ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1924:1: (lv_returnValue_3_0= ruleLastStatement ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1925:3: lv_returnValue_3_0= ruleLastStatement { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getBlockAccess().getReturnValueLastStatementParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleLastStatement_in_ruleBlock4310); lv_returnValue_3_0=ruleLastStatement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getBlockRule()); } set( current, "returnValue", lv_returnValue_3_0, "LastStatement"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1941:2: (otherlv_4= ';' )? int alt35=2; int LA35_0 = input.LA(1); if ( (LA35_0==44) ) { alt35=1; } switch (alt35) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1941:4: otherlv_4= ';' { otherlv_4=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleBlock4323); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getBlockAccess().getSemicolonKeyword_2_1()); } } break; } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleBlock" // $ANTLR start "entryRuleLastStatement" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1953:1: entryRuleLastStatement returns [EObject current=null] : iv_ruleLastStatement= ruleLastStatement EOF ; public final EObject entryRuleLastStatement() throws RecognitionException { EObject current = null; EObject iv_ruleLastStatement = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1954:2: (iv_ruleLastStatement= ruleLastStatement EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1955:2: iv_ruleLastStatement= ruleLastStatement EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLastStatementRule()); } pushFollow(FollowSets000.FOLLOW_ruleLastStatement_in_entryRuleLastStatement4363); iv_ruleLastStatement=ruleLastStatement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleLastStatement; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLastStatement4373); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleLastStatement" // $ANTLR start "ruleLastStatement" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1962:1: ruleLastStatement returns [EObject current=null] : (this_LastStatement_Return_0= ruleLastStatement_Return | this_LastStatement_Break_1= ruleLastStatement_Break ) ; public final EObject ruleLastStatement() throws RecognitionException { EObject current = null; EObject this_LastStatement_Return_0 = null; EObject this_LastStatement_Break_1 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1965:28: ( (this_LastStatement_Return_0= ruleLastStatement_Return | this_LastStatement_Break_1= ruleLastStatement_Break ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1966:1: (this_LastStatement_Return_0= ruleLastStatement_Return | this_LastStatement_Break_1= ruleLastStatement_Break ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1966:1: (this_LastStatement_Return_0= ruleLastStatement_Return | this_LastStatement_Break_1= ruleLastStatement_Break ) int alt37=2; int LA37_0 = input.LA(1); if ( (LA37_0==45) ) { alt37=1; } else if ( (LA37_0==46) ) { alt37=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 37, 0, input); throw nvae; } switch (alt37) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1967:5: this_LastStatement_Return_0= ruleLastStatement_Return { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLastStatementAccess().getLastStatement_ReturnParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleLastStatement_Return_in_ruleLastStatement4420); this_LastStatement_Return_0=ruleLastStatement_Return(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_LastStatement_Return_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1977:5: this_LastStatement_Break_1= ruleLastStatement_Break { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLastStatementAccess().getLastStatement_BreakParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleLastStatement_Break_in_ruleLastStatement4447); this_LastStatement_Break_1=ruleLastStatement_Break(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_LastStatement_Break_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleLastStatement" // $ANTLR start "entryRuleLastStatement_Return" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1993:1: entryRuleLastStatement_Return returns [EObject current=null] : iv_ruleLastStatement_Return= ruleLastStatement_Return EOF ; public final EObject entryRuleLastStatement_Return() throws RecognitionException { EObject current = null; EObject iv_ruleLastStatement_Return = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1994:2: (iv_ruleLastStatement_Return= ruleLastStatement_Return EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:1995:2: iv_ruleLastStatement_Return= ruleLastStatement_Return EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLastStatement_ReturnRule()); } pushFollow(FollowSets000.FOLLOW_ruleLastStatement_Return_in_entryRuleLastStatement_Return4482); iv_ruleLastStatement_Return=ruleLastStatement_Return(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleLastStatement_Return; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLastStatement_Return4492); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleLastStatement_Return" // $ANTLR start "ruleLastStatement_Return" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2002:1: ruleLastStatement_Return returns [EObject current=null] : (otherlv_0= 'return' () ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )? ) ; public final EObject ruleLastStatement_Return() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_3=null; EObject lv_returnValues_2_0 = null; EObject lv_returnValues_4_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2005:28: ( (otherlv_0= 'return' () ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2006:1: (otherlv_0= 'return' () ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2006:1: (otherlv_0= 'return' () ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2006:3: otherlv_0= 'return' () ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )? { otherlv_0=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleLastStatement_Return4529); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getLastStatement_ReturnAccess().getReturnKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2010:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2011:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getLastStatement_ReturnAccess().getLastStatement_ReturnWithValueAction_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2016:2: ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )? int alt39=2; int LA39_0 = input.LA(1); if ( (LA39_0==RULE_ID||(LA39_0>=RULE_DOUBLE && LA39_0<=RULE_STRING)||LA39_0==15||LA39_0==20||(LA39_0>=37 && LA39_0<=38)||LA39_0==57||LA39_0==71||(LA39_0>=75 && LA39_0<=76)||(LA39_0>=78 && LA39_0<=79)) ) { alt39=1; } switch (alt39) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2016:3: ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2016:3: ( (lv_returnValues_2_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2017:1: (lv_returnValues_2_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2017:1: (lv_returnValues_2_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2018:3: lv_returnValues_2_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLastStatement_ReturnAccess().getReturnValuesExpressionParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleLastStatement_Return4560); lv_returnValues_2_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getLastStatement_ReturnRule()); } add( current, "returnValues", lv_returnValues_2_0, "Expression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2034:2: (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* loop38: do { int alt38=2; int LA38_0 = input.LA(1); if ( (LA38_0==21) ) { alt38=1; } switch (alt38) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2034:4: otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) { otherlv_3=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleLastStatement_Return4573); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getLastStatement_ReturnAccess().getCommaKeyword_2_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2038:1: ( (lv_returnValues_4_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2039:1: (lv_returnValues_4_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2039:1: (lv_returnValues_4_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2040:3: lv_returnValues_4_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLastStatement_ReturnAccess().getReturnValuesExpressionParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleLastStatement_Return4594); lv_returnValues_4_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getLastStatement_ReturnRule()); } add( current, "returnValues", lv_returnValues_4_0, "Expression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop38; } } while (true); } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleLastStatement_Return" // $ANTLR start "entryRuleLastStatement_Break" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2064:1: entryRuleLastStatement_Break returns [EObject current=null] : iv_ruleLastStatement_Break= ruleLastStatement_Break EOF ; public final EObject entryRuleLastStatement_Break() throws RecognitionException { EObject current = null; EObject iv_ruleLastStatement_Break = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2065:2: (iv_ruleLastStatement_Break= ruleLastStatement_Break EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2066:2: iv_ruleLastStatement_Break= ruleLastStatement_Break EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getLastStatement_BreakRule()); } pushFollow(FollowSets000.FOLLOW_ruleLastStatement_Break_in_entryRuleLastStatement_Break4634); iv_ruleLastStatement_Break=ruleLastStatement_Break(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleLastStatement_Break; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLastStatement_Break4644); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleLastStatement_Break" // $ANTLR start "ruleLastStatement_Break" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2073:1: ruleLastStatement_Break returns [EObject current=null] : (otherlv_0= 'break' () ) ; public final EObject ruleLastStatement_Break() throws RecognitionException { EObject current = null; Token otherlv_0=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2076:28: ( (otherlv_0= 'break' () ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2077:1: (otherlv_0= 'break' () ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2077:1: (otherlv_0= 'break' () ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2077:3: otherlv_0= 'break' () { otherlv_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleLastStatement_Break4681); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getLastStatement_BreakAccess().getBreakKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2081:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2082:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getLastStatement_BreakAccess().getLastStatement_BreakAction_1(), current); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleLastStatement_Break" // $ANTLR start "entryRuleStatement" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2095:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ; public final EObject entryRuleStatement() throws RecognitionException { EObject current = null; EObject iv_ruleStatement = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2096:2: (iv_ruleStatement= ruleStatement EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2097:2: iv_ruleStatement= ruleStatement EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_in_entryRuleStatement4726); iv_ruleStatement=ruleStatement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement4736); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement" // $ANTLR start "ruleStatement" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2104:1: ruleStatement returns [EObject current=null] : (this_Statement_Block_0= ruleStatement_Block | this_Statement_While_1= ruleStatement_While | this_Statement_Repeat_2= ruleStatement_Repeat | this_Statement_If_Then_Else_3= ruleStatement_If_Then_Else | this_Statement_For_Numeric_4= ruleStatement_For_Numeric | this_Statement_For_Generic_5= ruleStatement_For_Generic | this_Statement_GlobalFunction_Declaration_6= ruleStatement_GlobalFunction_Declaration | this_Statement_LocalFunction_Declaration_7= ruleStatement_LocalFunction_Declaration | this_Statement_Local_Variable_Declaration_8= ruleStatement_Local_Variable_Declaration | this_Statement_FunctioncallOrAssignment_9= ruleStatement_FunctioncallOrAssignment ) ; public final EObject ruleStatement() throws RecognitionException { EObject current = null; EObject this_Statement_Block_0 = null; EObject this_Statement_While_1 = null; EObject this_Statement_Repeat_2 = null; EObject this_Statement_If_Then_Else_3 = null; EObject this_Statement_For_Numeric_4 = null; EObject this_Statement_For_Generic_5 = null; EObject this_Statement_GlobalFunction_Declaration_6 = null; EObject this_Statement_LocalFunction_Declaration_7 = null; EObject this_Statement_Local_Variable_Declaration_8 = null; EObject this_Statement_FunctioncallOrAssignment_9 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2107:28: ( (this_Statement_Block_0= ruleStatement_Block | this_Statement_While_1= ruleStatement_While | this_Statement_Repeat_2= ruleStatement_Repeat | this_Statement_If_Then_Else_3= ruleStatement_If_Then_Else | this_Statement_For_Numeric_4= ruleStatement_For_Numeric | this_Statement_For_Generic_5= ruleStatement_For_Generic | this_Statement_GlobalFunction_Declaration_6= ruleStatement_GlobalFunction_Declaration | this_Statement_LocalFunction_Declaration_7= ruleStatement_LocalFunction_Declaration | this_Statement_Local_Variable_Declaration_8= ruleStatement_Local_Variable_Declaration | this_Statement_FunctioncallOrAssignment_9= ruleStatement_FunctioncallOrAssignment ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2108:1: (this_Statement_Block_0= ruleStatement_Block | this_Statement_While_1= ruleStatement_While | this_Statement_Repeat_2= ruleStatement_Repeat | this_Statement_If_Then_Else_3= ruleStatement_If_Then_Else | this_Statement_For_Numeric_4= ruleStatement_For_Numeric | this_Statement_For_Generic_5= ruleStatement_For_Generic | this_Statement_GlobalFunction_Declaration_6= ruleStatement_GlobalFunction_Declaration | this_Statement_LocalFunction_Declaration_7= ruleStatement_LocalFunction_Declaration | this_Statement_Local_Variable_Declaration_8= ruleStatement_Local_Variable_Declaration | this_Statement_FunctioncallOrAssignment_9= ruleStatement_FunctioncallOrAssignment ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2108:1: (this_Statement_Block_0= ruleStatement_Block | this_Statement_While_1= ruleStatement_While | this_Statement_Repeat_2= ruleStatement_Repeat | this_Statement_If_Then_Else_3= ruleStatement_If_Then_Else | this_Statement_For_Numeric_4= ruleStatement_For_Numeric | this_Statement_For_Generic_5= ruleStatement_For_Generic | this_Statement_GlobalFunction_Declaration_6= ruleStatement_GlobalFunction_Declaration | this_Statement_LocalFunction_Declaration_7= ruleStatement_LocalFunction_Declaration | this_Statement_Local_Variable_Declaration_8= ruleStatement_Local_Variable_Declaration | this_Statement_FunctioncallOrAssignment_9= ruleStatement_FunctioncallOrAssignment ) int alt40=10; alt40 = dfa40.predict(input); switch (alt40) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2109:5: this_Statement_Block_0= ruleStatement_Block { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementAccess().getStatement_BlockParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_Block_in_ruleStatement4783); this_Statement_Block_0=ruleStatement_Block(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Statement_Block_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2119:5: this_Statement_While_1= ruleStatement_While { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementAccess().getStatement_WhileParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_While_in_ruleStatement4810); this_Statement_While_1=ruleStatement_While(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Statement_While_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2129:5: this_Statement_Repeat_2= ruleStatement_Repeat { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementAccess().getStatement_RepeatParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_Repeat_in_ruleStatement4837); this_Statement_Repeat_2=ruleStatement_Repeat(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Statement_Repeat_2; afterParserOrEnumRuleCall(); } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2139:5: this_Statement_If_Then_Else_3= ruleStatement_If_Then_Else { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementAccess().getStatement_If_Then_ElseParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_If_Then_Else_in_ruleStatement4864); this_Statement_If_Then_Else_3=ruleStatement_If_Then_Else(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Statement_If_Then_Else_3; afterParserOrEnumRuleCall(); } } break; case 5 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2149:5: this_Statement_For_Numeric_4= ruleStatement_For_Numeric { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementAccess().getStatement_For_NumericParserRuleCall_4()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_For_Numeric_in_ruleStatement4891); this_Statement_For_Numeric_4=ruleStatement_For_Numeric(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Statement_For_Numeric_4; afterParserOrEnumRuleCall(); } } break; case 6 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2159:5: this_Statement_For_Generic_5= ruleStatement_For_Generic { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementAccess().getStatement_For_GenericParserRuleCall_5()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_For_Generic_in_ruleStatement4918); this_Statement_For_Generic_5=ruleStatement_For_Generic(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Statement_For_Generic_5; afterParserOrEnumRuleCall(); } } break; case 7 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2169:5: this_Statement_GlobalFunction_Declaration_6= ruleStatement_GlobalFunction_Declaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementAccess().getStatement_GlobalFunction_DeclarationParserRuleCall_6()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_GlobalFunction_Declaration_in_ruleStatement4945); this_Statement_GlobalFunction_Declaration_6=ruleStatement_GlobalFunction_Declaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Statement_GlobalFunction_Declaration_6; afterParserOrEnumRuleCall(); } } break; case 8 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2179:5: this_Statement_LocalFunction_Declaration_7= ruleStatement_LocalFunction_Declaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementAccess().getStatement_LocalFunction_DeclarationParserRuleCall_7()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_LocalFunction_Declaration_in_ruleStatement4972); this_Statement_LocalFunction_Declaration_7=ruleStatement_LocalFunction_Declaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Statement_LocalFunction_Declaration_7; afterParserOrEnumRuleCall(); } } break; case 9 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2189:5: this_Statement_Local_Variable_Declaration_8= ruleStatement_Local_Variable_Declaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementAccess().getStatement_Local_Variable_DeclarationParserRuleCall_8()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_Local_Variable_Declaration_in_ruleStatement4999); this_Statement_Local_Variable_Declaration_8=ruleStatement_Local_Variable_Declaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Statement_Local_Variable_Declaration_8; afterParserOrEnumRuleCall(); } } break; case 10 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2199:5: this_Statement_FunctioncallOrAssignment_9= ruleStatement_FunctioncallOrAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatementAccess().getStatement_FunctioncallOrAssignmentParserRuleCall_9()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_FunctioncallOrAssignment_in_ruleStatement5026); this_Statement_FunctioncallOrAssignment_9=ruleStatement_FunctioncallOrAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Statement_FunctioncallOrAssignment_9; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement" // $ANTLR start "entryRuleStatement_Block" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2215:1: entryRuleStatement_Block returns [EObject current=null] : iv_ruleStatement_Block= ruleStatement_Block EOF ; public final EObject entryRuleStatement_Block() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_Block = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2216:2: (iv_ruleStatement_Block= ruleStatement_Block EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2217:2: iv_ruleStatement_Block= ruleStatement_Block EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_BlockRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_Block_in_entryRuleStatement_Block5061); iv_ruleStatement_Block=ruleStatement_Block(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_Block; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_Block5071); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_Block" // $ANTLR start "ruleStatement_Block" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2224:1: ruleStatement_Block returns [EObject current=null] : (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'end' ) ; public final EObject ruleStatement_Block() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; EObject lv_block_1_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2227:28: ( (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'end' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2228:1: (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'end' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2228:1: (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'end' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2228:3: otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'end' { otherlv_0=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleStatement_Block5108); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getStatement_BlockAccess().getDoKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2232:1: ( (lv_block_1_0= ruleBlock ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2233:1: (lv_block_1_0= ruleBlock ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2233:1: (lv_block_1_0= ruleBlock ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2234:3: lv_block_1_0= ruleBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_BlockAccess().getBlockBlockParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_Block5129); lv_block_1_0=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_BlockRule()); } set( current, "block", lv_block_1_0, "Block"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleStatement_Block5141); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getStatement_BlockAccess().getEndKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_Block" // $ANTLR start "entryRuleStatement_While" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2262:1: entryRuleStatement_While returns [EObject current=null] : iv_ruleStatement_While= ruleStatement_While EOF ; public final EObject entryRuleStatement_While() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_While = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2263:2: (iv_ruleStatement_While= ruleStatement_While EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2264:2: iv_ruleStatement_While= ruleStatement_While EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_WhileRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_While_in_entryRuleStatement_While5177); iv_ruleStatement_While=ruleStatement_While(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_While; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_While5187); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_While" // $ANTLR start "ruleStatement_While" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2271:1: ruleStatement_While returns [EObject current=null] : (otherlv_0= 'while' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_block_3_0= ruleBlock ) ) otherlv_4= 'end' ) ; public final EObject ruleStatement_While() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; EObject lv_expression_1_0 = null; EObject lv_block_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2274:28: ( (otherlv_0= 'while' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_block_3_0= ruleBlock ) ) otherlv_4= 'end' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2275:1: (otherlv_0= 'while' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_block_3_0= ruleBlock ) ) otherlv_4= 'end' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2275:1: (otherlv_0= 'while' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_block_3_0= ruleBlock ) ) otherlv_4= 'end' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2275:3: otherlv_0= 'while' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_block_3_0= ruleBlock ) ) otherlv_4= 'end' { otherlv_0=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleStatement_While5224); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getStatement_WhileAccess().getWhileKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2279:1: ( (lv_expression_1_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2280:1: (lv_expression_1_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2280:1: (lv_expression_1_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2281:3: lv_expression_1_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_WhileAccess().getExpressionExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_While5245); lv_expression_1_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_WhileRule()); } set( current, "expression", lv_expression_1_0, "Expression"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleStatement_While5257); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getStatement_WhileAccess().getDoKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2301:1: ( (lv_block_3_0= ruleBlock ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2302:1: (lv_block_3_0= ruleBlock ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2302:1: (lv_block_3_0= ruleBlock ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2303:3: lv_block_3_0= ruleBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_WhileAccess().getBlockBlockParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_While5278); lv_block_3_0=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_WhileRule()); } set( current, "block", lv_block_3_0, "Block"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleStatement_While5290); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getStatement_WhileAccess().getEndKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_While" // $ANTLR start "entryRuleStatement_Repeat" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2331:1: entryRuleStatement_Repeat returns [EObject current=null] : iv_ruleStatement_Repeat= ruleStatement_Repeat EOF ; public final EObject entryRuleStatement_Repeat() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_Repeat = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2332:2: (iv_ruleStatement_Repeat= ruleStatement_Repeat EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2333:2: iv_ruleStatement_Repeat= ruleStatement_Repeat EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_RepeatRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_Repeat_in_entryRuleStatement_Repeat5326); iv_ruleStatement_Repeat=ruleStatement_Repeat(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_Repeat; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_Repeat5336); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_Repeat" // $ANTLR start "ruleStatement_Repeat" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2340:1: ruleStatement_Repeat returns [EObject current=null] : (otherlv_0= 'repeat' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'until' ( (lv_expression_3_0= ruleExpression ) ) ) ; public final EObject ruleStatement_Repeat() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; EObject lv_block_1_0 = null; EObject lv_expression_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2343:28: ( (otherlv_0= 'repeat' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'until' ( (lv_expression_3_0= ruleExpression ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2344:1: (otherlv_0= 'repeat' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'until' ( (lv_expression_3_0= ruleExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2344:1: (otherlv_0= 'repeat' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'until' ( (lv_expression_3_0= ruleExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2344:3: otherlv_0= 'repeat' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'until' ( (lv_expression_3_0= ruleExpression ) ) { otherlv_0=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleStatement_Repeat5373); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getStatement_RepeatAccess().getRepeatKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2348:1: ( (lv_block_1_0= ruleBlock ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2349:1: (lv_block_1_0= ruleBlock ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2349:1: (lv_block_1_0= ruleBlock ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2350:3: lv_block_1_0= ruleBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_RepeatAccess().getBlockBlockParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_Repeat5394); lv_block_1_0=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_RepeatRule()); } set( current, "block", lv_block_1_0, "Block"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleStatement_Repeat5406); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getStatement_RepeatAccess().getUntilKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2370:1: ( (lv_expression_3_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2371:1: (lv_expression_3_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2371:1: (lv_expression_3_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2372:3: lv_expression_3_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_RepeatAccess().getExpressionExpressionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_Repeat5427); lv_expression_3_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_RepeatRule()); } set( current, "expression", lv_expression_3_0, "Expression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_Repeat" // $ANTLR start "entryRuleStatement_If_Then_Else" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2396:1: entryRuleStatement_If_Then_Else returns [EObject current=null] : iv_ruleStatement_If_Then_Else= ruleStatement_If_Then_Else EOF ; public final EObject entryRuleStatement_If_Then_Else() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_If_Then_Else = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2397:2: (iv_ruleStatement_If_Then_Else= ruleStatement_If_Then_Else EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2398:2: iv_ruleStatement_If_Then_Else= ruleStatement_If_Then_Else EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_If_Then_ElseRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_If_Then_Else_in_entryRuleStatement_If_Then_Else5463); iv_ruleStatement_If_Then_Else=ruleStatement_If_Then_Else(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_If_Then_Else; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_If_Then_Else5473); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_If_Then_Else" // $ANTLR start "ruleStatement_If_Then_Else" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2405:1: ruleStatement_If_Then_Else returns [EObject current=null] : (otherlv_0= 'if' ( (lv_ifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_ifBlock_3_0= ruleBlock ) ) ( (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart ) )* (otherlv_5= 'else' ( (lv_elseBlock_6_0= ruleBlock ) ) )? otherlv_7= 'end' ) ; public final EObject ruleStatement_If_Then_Else() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_5=null; Token otherlv_7=null; EObject lv_ifExpression_1_0 = null; EObject lv_ifBlock_3_0 = null; EObject lv_elseIf_4_0 = null; EObject lv_elseBlock_6_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2408:28: ( (otherlv_0= 'if' ( (lv_ifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_ifBlock_3_0= ruleBlock ) ) ( (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart ) )* (otherlv_5= 'else' ( (lv_elseBlock_6_0= ruleBlock ) ) )? otherlv_7= 'end' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2409:1: (otherlv_0= 'if' ( (lv_ifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_ifBlock_3_0= ruleBlock ) ) ( (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart ) )* (otherlv_5= 'else' ( (lv_elseBlock_6_0= ruleBlock ) ) )? otherlv_7= 'end' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2409:1: (otherlv_0= 'if' ( (lv_ifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_ifBlock_3_0= ruleBlock ) ) ( (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart ) )* (otherlv_5= 'else' ( (lv_elseBlock_6_0= ruleBlock ) ) )? otherlv_7= 'end' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2409:3: otherlv_0= 'if' ( (lv_ifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_ifBlock_3_0= ruleBlock ) ) ( (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart ) )* (otherlv_5= 'else' ( (lv_elseBlock_6_0= ruleBlock ) ) )? otherlv_7= 'end' { otherlv_0=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleStatement_If_Then_Else5510); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getStatement_If_Then_ElseAccess().getIfKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2413:1: ( (lv_ifExpression_1_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2414:1: (lv_ifExpression_1_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2414:1: (lv_ifExpression_1_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2415:3: lv_ifExpression_1_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_If_Then_ElseAccess().getIfExpressionExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_If_Then_Else5531); lv_ifExpression_1_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_If_Then_ElseRule()); } set( current, "ifExpression", lv_ifExpression_1_0, "Expression"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleStatement_If_Then_Else5543); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getStatement_If_Then_ElseAccess().getThenKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2435:1: ( (lv_ifBlock_3_0= ruleBlock ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2436:1: (lv_ifBlock_3_0= ruleBlock ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2436:1: (lv_ifBlock_3_0= ruleBlock ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2437:3: lv_ifBlock_3_0= ruleBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_If_Then_ElseAccess().getIfBlockBlockParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_If_Then_Else5564); lv_ifBlock_3_0=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_If_Then_ElseRule()); } set( current, "ifBlock", lv_ifBlock_3_0, "Block"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2453:2: ( (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart ) )* loop41: do { int alt41=2; int LA41_0 = input.LA(1); if ( (LA41_0==55) ) { alt41=1; } switch (alt41) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2454:1: (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2454:1: (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2455:3: lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_If_Then_ElseAccess().getElseIfStatement_If_Then_Else_ElseIfPartParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_If_Then_Else_ElseIfPart_in_ruleStatement_If_Then_Else5585); lv_elseIf_4_0=ruleStatement_If_Then_Else_ElseIfPart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_If_Then_ElseRule()); } add( current, "elseIf", lv_elseIf_4_0, "Statement_If_Then_Else_ElseIfPart"); afterParserOrEnumRuleCall(); } } } break; default : break loop41; } } while (true); // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2471:3: (otherlv_5= 'else' ( (lv_elseBlock_6_0= ruleBlock ) ) )? int alt42=2; int LA42_0 = input.LA(1); if ( (LA42_0==54) ) { alt42=1; } switch (alt42) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2471:5: otherlv_5= 'else' ( (lv_elseBlock_6_0= ruleBlock ) ) { otherlv_5=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleStatement_If_Then_Else5599); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getStatement_If_Then_ElseAccess().getElseKeyword_5_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2475:1: ( (lv_elseBlock_6_0= ruleBlock ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2476:1: (lv_elseBlock_6_0= ruleBlock ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2476:1: (lv_elseBlock_6_0= ruleBlock ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2477:3: lv_elseBlock_6_0= ruleBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_If_Then_ElseAccess().getElseBlockBlockParserRuleCall_5_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_If_Then_Else5620); lv_elseBlock_6_0=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_If_Then_ElseRule()); } set( current, "elseBlock", lv_elseBlock_6_0, "Block"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_7=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleStatement_If_Then_Else5634); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getStatement_If_Then_ElseAccess().getEndKeyword_6()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_If_Then_Else" // $ANTLR start "entryRuleStatement_If_Then_Else_ElseIfPart" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2505:1: entryRuleStatement_If_Then_Else_ElseIfPart returns [EObject current=null] : iv_ruleStatement_If_Then_Else_ElseIfPart= ruleStatement_If_Then_Else_ElseIfPart EOF ; public final EObject entryRuleStatement_If_Then_Else_ElseIfPart() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_If_Then_Else_ElseIfPart = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2506:2: (iv_ruleStatement_If_Then_Else_ElseIfPart= ruleStatement_If_Then_Else_ElseIfPart EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2507:2: iv_ruleStatement_If_Then_Else_ElseIfPart= ruleStatement_If_Then_Else_ElseIfPart EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_If_Then_Else_ElseIfPartRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_If_Then_Else_ElseIfPart_in_entryRuleStatement_If_Then_Else_ElseIfPart5670); iv_ruleStatement_If_Then_Else_ElseIfPart=ruleStatement_If_Then_Else_ElseIfPart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_If_Then_Else_ElseIfPart; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_If_Then_Else_ElseIfPart5680); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_If_Then_Else_ElseIfPart" // $ANTLR start "ruleStatement_If_Then_Else_ElseIfPart" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2514:1: ruleStatement_If_Then_Else_ElseIfPart returns [EObject current=null] : (otherlv_0= 'elseif' ( (lv_elseifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_elseifBlock_3_0= ruleBlock ) ) ) ; public final EObject ruleStatement_If_Then_Else_ElseIfPart() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; EObject lv_elseifExpression_1_0 = null; EObject lv_elseifBlock_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2517:28: ( (otherlv_0= 'elseif' ( (lv_elseifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_elseifBlock_3_0= ruleBlock ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2518:1: (otherlv_0= 'elseif' ( (lv_elseifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_elseifBlock_3_0= ruleBlock ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2518:1: (otherlv_0= 'elseif' ( (lv_elseifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_elseifBlock_3_0= ruleBlock ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2518:3: otherlv_0= 'elseif' ( (lv_elseifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_elseifBlock_3_0= ruleBlock ) ) { otherlv_0=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleStatement_If_Then_Else_ElseIfPart5717); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getStatement_If_Then_Else_ElseIfPartAccess().getElseifKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2522:1: ( (lv_elseifExpression_1_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2523:1: (lv_elseifExpression_1_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2523:1: (lv_elseifExpression_1_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2524:3: lv_elseifExpression_1_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_If_Then_Else_ElseIfPartAccess().getElseifExpressionExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_If_Then_Else_ElseIfPart5738); lv_elseifExpression_1_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_If_Then_Else_ElseIfPartRule()); } set( current, "elseifExpression", lv_elseifExpression_1_0, "Expression"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleStatement_If_Then_Else_ElseIfPart5750); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getStatement_If_Then_Else_ElseIfPartAccess().getThenKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2544:1: ( (lv_elseifBlock_3_0= ruleBlock ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2545:1: (lv_elseifBlock_3_0= ruleBlock ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2545:1: (lv_elseifBlock_3_0= ruleBlock ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2546:3: lv_elseifBlock_3_0= ruleBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_If_Then_Else_ElseIfPartAccess().getElseifBlockBlockParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_If_Then_Else_ElseIfPart5771); lv_elseifBlock_3_0=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_If_Then_Else_ElseIfPartRule()); } set( current, "elseifBlock", lv_elseifBlock_3_0, "Block"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_If_Then_Else_ElseIfPart" // $ANTLR start "entryRuleStatement_For_Numeric" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2570:1: entryRuleStatement_For_Numeric returns [EObject current=null] : iv_ruleStatement_For_Numeric= ruleStatement_For_Numeric EOF ; public final EObject entryRuleStatement_For_Numeric() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_For_Numeric = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2571:2: (iv_ruleStatement_For_Numeric= ruleStatement_For_Numeric EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2572:2: iv_ruleStatement_For_Numeric= ruleStatement_For_Numeric EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_NumericRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_For_Numeric_in_entryRuleStatement_For_Numeric5807); iv_ruleStatement_For_Numeric=ruleStatement_For_Numeric(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_For_Numeric; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_For_Numeric5817); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_For_Numeric" // $ANTLR start "ruleStatement_For_Numeric" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2579:1: ruleStatement_For_Numeric returns [EObject current=null] : (otherlv_0= 'for' ( (lv_iteratorName_1_0= ruleValidID ) ) otherlv_2= '=' ( (lv_startExpr_3_0= ruleExpression ) ) otherlv_4= ',' ( (lv_untilExpr_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_stepExpr_7_0= ruleExpression ) ) )? otherlv_8= 'do' ( (lv_block_9_0= ruleBlock ) ) otherlv_10= 'end' ) ; public final EObject ruleStatement_For_Numeric() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_8=null; Token otherlv_10=null; AntlrDatatypeRuleToken lv_iteratorName_1_0 = null; EObject lv_startExpr_3_0 = null; EObject lv_untilExpr_5_0 = null; EObject lv_stepExpr_7_0 = null; EObject lv_block_9_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2582:28: ( (otherlv_0= 'for' ( (lv_iteratorName_1_0= ruleValidID ) ) otherlv_2= '=' ( (lv_startExpr_3_0= ruleExpression ) ) otherlv_4= ',' ( (lv_untilExpr_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_stepExpr_7_0= ruleExpression ) ) )? otherlv_8= 'do' ( (lv_block_9_0= ruleBlock ) ) otherlv_10= 'end' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2583:1: (otherlv_0= 'for' ( (lv_iteratorName_1_0= ruleValidID ) ) otherlv_2= '=' ( (lv_startExpr_3_0= ruleExpression ) ) otherlv_4= ',' ( (lv_untilExpr_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_stepExpr_7_0= ruleExpression ) ) )? otherlv_8= 'do' ( (lv_block_9_0= ruleBlock ) ) otherlv_10= 'end' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2583:1: (otherlv_0= 'for' ( (lv_iteratorName_1_0= ruleValidID ) ) otherlv_2= '=' ( (lv_startExpr_3_0= ruleExpression ) ) otherlv_4= ',' ( (lv_untilExpr_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_stepExpr_7_0= ruleExpression ) ) )? otherlv_8= 'do' ( (lv_block_9_0= ruleBlock ) ) otherlv_10= 'end' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2583:3: otherlv_0= 'for' ( (lv_iteratorName_1_0= ruleValidID ) ) otherlv_2= '=' ( (lv_startExpr_3_0= ruleExpression ) ) otherlv_4= ',' ( (lv_untilExpr_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_stepExpr_7_0= ruleExpression ) ) )? otherlv_8= 'do' ( (lv_block_9_0= ruleBlock ) ) otherlv_10= 'end' { otherlv_0=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleStatement_For_Numeric5854); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getStatement_For_NumericAccess().getForKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2587:1: ( (lv_iteratorName_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2588:1: (lv_iteratorName_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2588:1: (lv_iteratorName_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2589:3: lv_iteratorName_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_NumericAccess().getIteratorNameValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleStatement_For_Numeric5875); lv_iteratorName_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_For_NumericRule()); } set( current, "iteratorName", lv_iteratorName_1_0, "ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleStatement_For_Numeric5887); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getStatement_For_NumericAccess().getEqualsSignKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2609:1: ( (lv_startExpr_3_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2610:1: (lv_startExpr_3_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2610:1: (lv_startExpr_3_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2611:3: lv_startExpr_3_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_NumericAccess().getStartExprExpressionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_For_Numeric5908); lv_startExpr_3_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_For_NumericRule()); } set( current, "startExpr", lv_startExpr_3_0, "Expression"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleStatement_For_Numeric5920); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getStatement_For_NumericAccess().getCommaKeyword_4()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2631:1: ( (lv_untilExpr_5_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2632:1: (lv_untilExpr_5_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2632:1: (lv_untilExpr_5_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2633:3: lv_untilExpr_5_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_NumericAccess().getUntilExprExpressionParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_For_Numeric5941); lv_untilExpr_5_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_For_NumericRule()); } set( current, "untilExpr", lv_untilExpr_5_0, "Expression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2649:2: (otherlv_6= ',' ( (lv_stepExpr_7_0= ruleExpression ) ) )? int alt43=2; int LA43_0 = input.LA(1); if ( (LA43_0==21) ) { alt43=1; } switch (alt43) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2649:4: otherlv_6= ',' ( (lv_stepExpr_7_0= ruleExpression ) ) { otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleStatement_For_Numeric5954); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getStatement_For_NumericAccess().getCommaKeyword_6_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2653:1: ( (lv_stepExpr_7_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2654:1: (lv_stepExpr_7_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2654:1: (lv_stepExpr_7_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2655:3: lv_stepExpr_7_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_NumericAccess().getStepExprExpressionParserRuleCall_6_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_For_Numeric5975); lv_stepExpr_7_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_For_NumericRule()); } set( current, "stepExpr", lv_stepExpr_7_0, "Expression"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_8=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleStatement_For_Numeric5989); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getStatement_For_NumericAccess().getDoKeyword_7()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2675:1: ( (lv_block_9_0= ruleBlock ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2676:1: (lv_block_9_0= ruleBlock ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2676:1: (lv_block_9_0= ruleBlock ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2677:3: lv_block_9_0= ruleBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_NumericAccess().getBlockBlockParserRuleCall_8_0()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_For_Numeric6010); lv_block_9_0=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_For_NumericRule()); } set( current, "block", lv_block_9_0, "Block"); afterParserOrEnumRuleCall(); } } } otherlv_10=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleStatement_For_Numeric6022); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getStatement_For_NumericAccess().getEndKeyword_9()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_For_Numeric" // $ANTLR start "entryRuleStatement_For_Generic" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2705:1: entryRuleStatement_For_Generic returns [EObject current=null] : iv_ruleStatement_For_Generic= ruleStatement_For_Generic EOF ; public final EObject entryRuleStatement_For_Generic() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_For_Generic = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2706:2: (iv_ruleStatement_For_Generic= ruleStatement_For_Generic EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2707:2: iv_ruleStatement_For_Generic= ruleStatement_For_Generic EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_GenericRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_For_Generic_in_entryRuleStatement_For_Generic6058); iv_ruleStatement_For_Generic=ruleStatement_For_Generic(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_For_Generic; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_For_Generic6068); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_For_Generic" // $ANTLR start "ruleStatement_For_Generic" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2714:1: ruleStatement_For_Generic returns [EObject current=null] : (otherlv_0= 'for' ( (lv_names_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_names_3_0= ruleValidID ) ) )* otherlv_4= 'in' ( (lv_expressions_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleExpression ) ) )* otherlv_8= 'do' ( (lv_block_9_0= ruleBlock ) ) otherlv_10= 'end' ) ; public final EObject ruleStatement_For_Generic() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_8=null; Token otherlv_10=null; AntlrDatatypeRuleToken lv_names_1_0 = null; AntlrDatatypeRuleToken lv_names_3_0 = null; EObject lv_expressions_5_0 = null; EObject lv_expressions_7_0 = null; EObject lv_block_9_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2717:28: ( (otherlv_0= 'for' ( (lv_names_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_names_3_0= ruleValidID ) ) )* otherlv_4= 'in' ( (lv_expressions_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleExpression ) ) )* otherlv_8= 'do' ( (lv_block_9_0= ruleBlock ) ) otherlv_10= 'end' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2718:1: (otherlv_0= 'for' ( (lv_names_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_names_3_0= ruleValidID ) ) )* otherlv_4= 'in' ( (lv_expressions_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleExpression ) ) )* otherlv_8= 'do' ( (lv_block_9_0= ruleBlock ) ) otherlv_10= 'end' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2718:1: (otherlv_0= 'for' ( (lv_names_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_names_3_0= ruleValidID ) ) )* otherlv_4= 'in' ( (lv_expressions_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleExpression ) ) )* otherlv_8= 'do' ( (lv_block_9_0= ruleBlock ) ) otherlv_10= 'end' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2718:3: otherlv_0= 'for' ( (lv_names_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_names_3_0= ruleValidID ) ) )* otherlv_4= 'in' ( (lv_expressions_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleExpression ) ) )* otherlv_8= 'do' ( (lv_block_9_0= ruleBlock ) ) otherlv_10= 'end' { otherlv_0=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleStatement_For_Generic6105); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getStatement_For_GenericAccess().getForKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2722:1: ( (lv_names_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2723:1: (lv_names_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2723:1: (lv_names_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2724:3: lv_names_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_GenericAccess().getNamesValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleStatement_For_Generic6126); lv_names_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_For_GenericRule()); } add( current, "names", lv_names_1_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2740:2: (otherlv_2= ',' ( (lv_names_3_0= ruleValidID ) ) )* loop44: do { int alt44=2; int LA44_0 = input.LA(1); if ( (LA44_0==21) ) { alt44=1; } switch (alt44) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2740:4: otherlv_2= ',' ( (lv_names_3_0= ruleValidID ) ) { otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleStatement_For_Generic6139); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getStatement_For_GenericAccess().getCommaKeyword_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2744:1: ( (lv_names_3_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2745:1: (lv_names_3_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2745:1: (lv_names_3_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2746:3: lv_names_3_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_GenericAccess().getNamesValidIDParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleStatement_For_Generic6160); lv_names_3_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_For_GenericRule()); } add( current, "names", lv_names_3_0, "ValidID"); afterParserOrEnumRuleCall(); } } } } break; default : break loop44; } } while (true); otherlv_4=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleStatement_For_Generic6174); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getStatement_For_GenericAccess().getInKeyword_3()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2766:1: ( (lv_expressions_5_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2767:1: (lv_expressions_5_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2767:1: (lv_expressions_5_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2768:3: lv_expressions_5_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_GenericAccess().getExpressionsExpressionParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_For_Generic6195); lv_expressions_5_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_For_GenericRule()); } add( current, "expressions", lv_expressions_5_0, "Expression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2784:2: (otherlv_6= ',' ( (lv_expressions_7_0= ruleExpression ) ) )* loop45: do { int alt45=2; int LA45_0 = input.LA(1); if ( (LA45_0==21) ) { alt45=1; } switch (alt45) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2784:4: otherlv_6= ',' ( (lv_expressions_7_0= ruleExpression ) ) { otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleStatement_For_Generic6208); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getStatement_For_GenericAccess().getCommaKeyword_5_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2788:1: ( (lv_expressions_7_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2789:1: (lv_expressions_7_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2789:1: (lv_expressions_7_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2790:3: lv_expressions_7_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_GenericAccess().getExpressionsExpressionParserRuleCall_5_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_For_Generic6229); lv_expressions_7_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_For_GenericRule()); } add( current, "expressions", lv_expressions_7_0, "Expression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop45; } } while (true); otherlv_8=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleStatement_For_Generic6243); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getStatement_For_GenericAccess().getDoKeyword_6()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2810:1: ( (lv_block_9_0= ruleBlock ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2811:1: (lv_block_9_0= ruleBlock ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2811:1: (lv_block_9_0= ruleBlock ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2812:3: lv_block_9_0= ruleBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_For_GenericAccess().getBlockBlockParserRuleCall_7_0()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_For_Generic6264); lv_block_9_0=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_For_GenericRule()); } set( current, "block", lv_block_9_0, "Block"); afterParserOrEnumRuleCall(); } } } otherlv_10=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleStatement_For_Generic6276); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getStatement_For_GenericAccess().getEndKeyword_8()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_For_Generic" // $ANTLR start "entryRuleStatement_GlobalFunction_Declaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2840:1: entryRuleStatement_GlobalFunction_Declaration returns [EObject current=null] : iv_ruleStatement_GlobalFunction_Declaration= ruleStatement_GlobalFunction_Declaration EOF ; public final EObject entryRuleStatement_GlobalFunction_Declaration() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_GlobalFunction_Declaration = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2841:2: (iv_ruleStatement_GlobalFunction_Declaration= ruleStatement_GlobalFunction_Declaration EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2842:2: iv_ruleStatement_GlobalFunction_Declaration= ruleStatement_GlobalFunction_Declaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_GlobalFunction_DeclarationRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_GlobalFunction_Declaration_in_entryRuleStatement_GlobalFunction_Declaration6312); iv_ruleStatement_GlobalFunction_Declaration=ruleStatement_GlobalFunction_Declaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_GlobalFunction_Declaration; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_GlobalFunction_Declaration6322); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_GlobalFunction_Declaration" // $ANTLR start "ruleStatement_GlobalFunction_Declaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2849:1: ruleStatement_GlobalFunction_Declaration returns [EObject current=null] : (otherlv_0= 'function' ( (lv_prefix_1_0= ruleValidID ) ) (otherlv_2= '.' ( (lv_prefix_3_0= ruleValidID ) ) )* (otherlv_4= ':' ( (lv_functionName_5_0= ruleValidID ) ) )? ( (lv_function_6_0= ruleFunction ) ) otherlv_7= 'end' ) ; public final EObject ruleStatement_GlobalFunction_Declaration() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_7=null; AntlrDatatypeRuleToken lv_prefix_1_0 = null; AntlrDatatypeRuleToken lv_prefix_3_0 = null; AntlrDatatypeRuleToken lv_functionName_5_0 = null; EObject lv_function_6_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2852:28: ( (otherlv_0= 'function' ( (lv_prefix_1_0= ruleValidID ) ) (otherlv_2= '.' ( (lv_prefix_3_0= ruleValidID ) ) )* (otherlv_4= ':' ( (lv_functionName_5_0= ruleValidID ) ) )? ( (lv_function_6_0= ruleFunction ) ) otherlv_7= 'end' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2853:1: (otherlv_0= 'function' ( (lv_prefix_1_0= ruleValidID ) ) (otherlv_2= '.' ( (lv_prefix_3_0= ruleValidID ) ) )* (otherlv_4= ':' ( (lv_functionName_5_0= ruleValidID ) ) )? ( (lv_function_6_0= ruleFunction ) ) otherlv_7= 'end' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2853:1: (otherlv_0= 'function' ( (lv_prefix_1_0= ruleValidID ) ) (otherlv_2= '.' ( (lv_prefix_3_0= ruleValidID ) ) )* (otherlv_4= ':' ( (lv_functionName_5_0= ruleValidID ) ) )? ( (lv_function_6_0= ruleFunction ) ) otherlv_7= 'end' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2853:3: otherlv_0= 'function' ( (lv_prefix_1_0= ruleValidID ) ) (otherlv_2= '.' ( (lv_prefix_3_0= ruleValidID ) ) )* (otherlv_4= ':' ( (lv_functionName_5_0= ruleValidID ) ) )? ( (lv_function_6_0= ruleFunction ) ) otherlv_7= 'end' { otherlv_0=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleStatement_GlobalFunction_Declaration6359); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getFunctionKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2857:1: ( (lv_prefix_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2858:1: (lv_prefix_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2858:1: (lv_prefix_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2859:3: lv_prefix_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getPrefixValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleStatement_GlobalFunction_Declaration6380); lv_prefix_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_GlobalFunction_DeclarationRule()); } add( current, "prefix", lv_prefix_1_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2875:2: (otherlv_2= '.' ( (lv_prefix_3_0= ruleValidID ) ) )* loop46: do { int alt46=2; int LA46_0 = input.LA(1); if ( (LA46_0==58) ) { alt46=1; } switch (alt46) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2875:4: otherlv_2= '.' ( (lv_prefix_3_0= ruleValidID ) ) { otherlv_2=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleStatement_GlobalFunction_Declaration6393); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getFullStopKeyword_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2879:1: ( (lv_prefix_3_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2880:1: (lv_prefix_3_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2880:1: (lv_prefix_3_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2881:3: lv_prefix_3_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getPrefixValidIDParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleStatement_GlobalFunction_Declaration6414); lv_prefix_3_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_GlobalFunction_DeclarationRule()); } add( current, "prefix", lv_prefix_3_0, "ValidID"); afterParserOrEnumRuleCall(); } } } } break; default : break loop46; } } while (true); // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2897:4: (otherlv_4= ':' ( (lv_functionName_5_0= ruleValidID ) ) )? int alt47=2; int LA47_0 = input.LA(1); if ( (LA47_0==59) ) { alt47=1; } switch (alt47) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2897:6: otherlv_4= ':' ( (lv_functionName_5_0= ruleValidID ) ) { otherlv_4=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleStatement_GlobalFunction_Declaration6429); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getColonKeyword_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2901:1: ( (lv_functionName_5_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2902:1: (lv_functionName_5_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2902:1: (lv_functionName_5_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2903:3: lv_functionName_5_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getFunctionNameValidIDParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleStatement_GlobalFunction_Declaration6450); lv_functionName_5_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_GlobalFunction_DeclarationRule()); } set( current, "functionName", lv_functionName_5_0, "ValidID"); afterParserOrEnumRuleCall(); } } } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2919:4: ( (lv_function_6_0= ruleFunction ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2920:1: (lv_function_6_0= ruleFunction ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2920:1: (lv_function_6_0= ruleFunction ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2921:3: lv_function_6_0= ruleFunction { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getFunctionFunctionParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleFunction_in_ruleStatement_GlobalFunction_Declaration6473); lv_function_6_0=ruleFunction(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_GlobalFunction_DeclarationRule()); } set( current, "function", lv_function_6_0, "Function"); afterParserOrEnumRuleCall(); } } } otherlv_7=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleStatement_GlobalFunction_Declaration6485); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getEndKeyword_5()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_GlobalFunction_Declaration" // $ANTLR start "entryRuleStatement_LocalFunction_Declaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2949:1: entryRuleStatement_LocalFunction_Declaration returns [EObject current=null] : iv_ruleStatement_LocalFunction_Declaration= ruleStatement_LocalFunction_Declaration EOF ; public final EObject entryRuleStatement_LocalFunction_Declaration() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_LocalFunction_Declaration = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2950:2: (iv_ruleStatement_LocalFunction_Declaration= ruleStatement_LocalFunction_Declaration EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2951:2: iv_ruleStatement_LocalFunction_Declaration= ruleStatement_LocalFunction_Declaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_LocalFunction_DeclarationRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_LocalFunction_Declaration_in_entryRuleStatement_LocalFunction_Declaration6521); iv_ruleStatement_LocalFunction_Declaration=ruleStatement_LocalFunction_Declaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_LocalFunction_Declaration; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_LocalFunction_Declaration6531); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_LocalFunction_Declaration" // $ANTLR start "ruleStatement_LocalFunction_Declaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2958:1: ruleStatement_LocalFunction_Declaration returns [EObject current=null] : (otherlv_0= 'local' otherlv_1= 'function' ( (lv_functionName_2_0= ruleValidID ) ) ( (lv_function_3_0= ruleFunction ) ) otherlv_4= 'end' ) ; public final EObject ruleStatement_LocalFunction_Declaration() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_1=null; Token otherlv_4=null; AntlrDatatypeRuleToken lv_functionName_2_0 = null; EObject lv_function_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2961:28: ( (otherlv_0= 'local' otherlv_1= 'function' ( (lv_functionName_2_0= ruleValidID ) ) ( (lv_function_3_0= ruleFunction ) ) otherlv_4= 'end' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2962:1: (otherlv_0= 'local' otherlv_1= 'function' ( (lv_functionName_2_0= ruleValidID ) ) ( (lv_function_3_0= ruleFunction ) ) otherlv_4= 'end' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2962:1: (otherlv_0= 'local' otherlv_1= 'function' ( (lv_functionName_2_0= ruleValidID ) ) ( (lv_function_3_0= ruleFunction ) ) otherlv_4= 'end' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2962:3: otherlv_0= 'local' otherlv_1= 'function' ( (lv_functionName_2_0= ruleValidID ) ) ( (lv_function_3_0= ruleFunction ) ) otherlv_4= 'end' { otherlv_0=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleStatement_LocalFunction_Declaration6568); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getStatement_LocalFunction_DeclarationAccess().getLocalKeyword_0()); } otherlv_1=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleStatement_LocalFunction_Declaration6580); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getStatement_LocalFunction_DeclarationAccess().getFunctionKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2970:1: ( (lv_functionName_2_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2971:1: (lv_functionName_2_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2971:1: (lv_functionName_2_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2972:3: lv_functionName_2_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_LocalFunction_DeclarationAccess().getFunctionNameValidIDParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleStatement_LocalFunction_Declaration6601); lv_functionName_2_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_LocalFunction_DeclarationRule()); } set( current, "functionName", lv_functionName_2_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2988:2: ( (lv_function_3_0= ruleFunction ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2989:1: (lv_function_3_0= ruleFunction ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2989:1: (lv_function_3_0= ruleFunction ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:2990:3: lv_function_3_0= ruleFunction { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_LocalFunction_DeclarationAccess().getFunctionFunctionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleFunction_in_ruleStatement_LocalFunction_Declaration6622); lv_function_3_0=ruleFunction(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_LocalFunction_DeclarationRule()); } set( current, "function", lv_function_3_0, "Function"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleStatement_LocalFunction_Declaration6634); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getStatement_LocalFunction_DeclarationAccess().getEndKeyword_4()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_LocalFunction_Declaration" // $ANTLR start "entryRuleStatement_Local_Variable_Declaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3018:1: entryRuleStatement_Local_Variable_Declaration returns [EObject current=null] : iv_ruleStatement_Local_Variable_Declaration= ruleStatement_Local_Variable_Declaration EOF ; public final EObject entryRuleStatement_Local_Variable_Declaration() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_Local_Variable_Declaration = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3019:2: (iv_ruleStatement_Local_Variable_Declaration= ruleStatement_Local_Variable_Declaration EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3020:2: iv_ruleStatement_Local_Variable_Declaration= ruleStatement_Local_Variable_Declaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_Local_Variable_DeclarationRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_Local_Variable_Declaration_in_entryRuleStatement_Local_Variable_Declaration6670); iv_ruleStatement_Local_Variable_Declaration=ruleStatement_Local_Variable_Declaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_Local_Variable_Declaration; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_Local_Variable_Declaration6680); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_Local_Variable_Declaration" // $ANTLR start "ruleStatement_Local_Variable_Declaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3027:1: ruleStatement_Local_Variable_Declaration returns [EObject current=null] : (otherlv_0= 'local' ( (lv_variableNames_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_variableNames_3_0= ruleValidID ) ) )* (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )? ) ; public final EObject ruleStatement_Local_Variable_Declaration() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; AntlrDatatypeRuleToken lv_variableNames_1_0 = null; AntlrDatatypeRuleToken lv_variableNames_3_0 = null; EObject lv_initialValue_5_0 = null; EObject lv_initialValue_7_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3030:28: ( (otherlv_0= 'local' ( (lv_variableNames_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_variableNames_3_0= ruleValidID ) ) )* (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3031:1: (otherlv_0= 'local' ( (lv_variableNames_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_variableNames_3_0= ruleValidID ) ) )* (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3031:1: (otherlv_0= 'local' ( (lv_variableNames_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_variableNames_3_0= ruleValidID ) ) )* (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3031:3: otherlv_0= 'local' ( (lv_variableNames_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_variableNames_3_0= ruleValidID ) ) )* (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )? { otherlv_0=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleStatement_Local_Variable_Declaration6717); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getStatement_Local_Variable_DeclarationAccess().getLocalKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3035:1: ( (lv_variableNames_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3036:1: (lv_variableNames_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3036:1: (lv_variableNames_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3037:3: lv_variableNames_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_Local_Variable_DeclarationAccess().getVariableNamesValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleStatement_Local_Variable_Declaration6738); lv_variableNames_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_Local_Variable_DeclarationRule()); } add( current, "variableNames", lv_variableNames_1_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3053:2: (otherlv_2= ',' ( (lv_variableNames_3_0= ruleValidID ) ) )* loop48: do { int alt48=2; int LA48_0 = input.LA(1); if ( (LA48_0==21) ) { alt48=1; } switch (alt48) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3053:4: otherlv_2= ',' ( (lv_variableNames_3_0= ruleValidID ) ) { otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleStatement_Local_Variable_Declaration6751); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getStatement_Local_Variable_DeclarationAccess().getCommaKeyword_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3057:1: ( (lv_variableNames_3_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3058:1: (lv_variableNames_3_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3058:1: (lv_variableNames_3_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3059:3: lv_variableNames_3_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_Local_Variable_DeclarationAccess().getVariableNamesValidIDParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleStatement_Local_Variable_Declaration6772); lv_variableNames_3_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_Local_Variable_DeclarationRule()); } add( current, "variableNames", lv_variableNames_3_0, "ValidID"); afterParserOrEnumRuleCall(); } } } } break; default : break loop48; } } while (true); // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3075:4: (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )? int alt50=2; int LA50_0 = input.LA(1); if ( (LA50_0==35) ) { alt50=1; } switch (alt50) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3075:6: otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* { otherlv_4=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleStatement_Local_Variable_Declaration6787); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getStatement_Local_Variable_DeclarationAccess().getEqualsSignKeyword_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3079:1: ( (lv_initialValue_5_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3080:1: (lv_initialValue_5_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3080:1: (lv_initialValue_5_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3081:3: lv_initialValue_5_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_Local_Variable_DeclarationAccess().getInitialValueExpressionParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_Local_Variable_Declaration6808); lv_initialValue_5_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_Local_Variable_DeclarationRule()); } add( current, "initialValue", lv_initialValue_5_0, "Expression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3097:2: (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* loop49: do { int alt49=2; int LA49_0 = input.LA(1); if ( (LA49_0==21) ) { alt49=1; } switch (alt49) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3097:4: otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) { otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleStatement_Local_Variable_Declaration6821); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getStatement_Local_Variable_DeclarationAccess().getCommaKeyword_3_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3101:1: ( (lv_initialValue_7_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3102:1: (lv_initialValue_7_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3102:1: (lv_initialValue_7_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3103:3: lv_initialValue_7_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_Local_Variable_DeclarationAccess().getInitialValueExpressionParserRuleCall_3_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_Local_Variable_Declaration6842); lv_initialValue_7_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_Local_Variable_DeclarationRule()); } add( current, "initialValue", lv_initialValue_7_0, "Expression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop49; } } while (true); } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_Local_Variable_Declaration" // $ANTLR start "entryRuleStatement_FunctioncallOrAssignment" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3127:1: entryRuleStatement_FunctioncallOrAssignment returns [EObject current=null] : iv_ruleStatement_FunctioncallOrAssignment= ruleStatement_FunctioncallOrAssignment EOF ; public final EObject entryRuleStatement_FunctioncallOrAssignment() throws RecognitionException { EObject current = null; EObject iv_ruleStatement_FunctioncallOrAssignment = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3128:2: (iv_ruleStatement_FunctioncallOrAssignment= ruleStatement_FunctioncallOrAssignment EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3129:2: iv_ruleStatement_FunctioncallOrAssignment= ruleStatement_FunctioncallOrAssignment EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_FunctioncallOrAssignmentRule()); } pushFollow(FollowSets000.FOLLOW_ruleStatement_FunctioncallOrAssignment_in_entryRuleStatement_FunctioncallOrAssignment6882); iv_ruleStatement_FunctioncallOrAssignment=ruleStatement_FunctioncallOrAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleStatement_FunctioncallOrAssignment; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement_FunctioncallOrAssignment6892); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleStatement_FunctioncallOrAssignment" // $ANTLR start "ruleStatement_FunctioncallOrAssignment" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3136:1: ruleStatement_FunctioncallOrAssignment returns [EObject current=null] : (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( () ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )* otherlv_4= '=' ( (lv_values_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )* ) | (otherlv_8= ':' () ( (lv_memberFunctionName_10_0= ruleValidID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) ) ) ; public final EObject ruleStatement_FunctioncallOrAssignment() throws RecognitionException { EObject current = null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_8=null; EObject this_Expression_AccessMemberOrArrayElement_0 = null; EObject lv_variable_3_0 = null; EObject lv_values_5_0 = null; EObject lv_values_7_0 = null; AntlrDatatypeRuleToken lv_memberFunctionName_10_0 = null; EObject lv_arguments_11_0 = null; EObject lv_arguments_13_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3139:28: ( (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( () ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )* otherlv_4= '=' ( (lv_values_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )* ) | (otherlv_8= ':' () ( (lv_memberFunctionName_10_0= ruleValidID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3140:1: (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( () ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )* otherlv_4= '=' ( (lv_values_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )* ) | (otherlv_8= ':' () ( (lv_memberFunctionName_10_0= ruleValidID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3140:1: (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( () ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )* otherlv_4= '=' ( (lv_values_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )* ) | (otherlv_8= ':' () ( (lv_memberFunctionName_10_0= ruleValidID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3141:5: this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( () ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )* otherlv_4= '=' ( (lv_values_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )* ) | (otherlv_8= ':' () ( (lv_memberFunctionName_10_0= ruleValidID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) ) { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getExpression_AccessMemberOrArrayElementParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_ruleStatement_FunctioncallOrAssignment6939); this_Expression_AccessMemberOrArrayElement_0=ruleExpression_AccessMemberOrArrayElement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_AccessMemberOrArrayElement_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3149:1: ( ( () ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )* otherlv_4= '=' ( (lv_values_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )* ) | (otherlv_8= ':' () ( (lv_memberFunctionName_10_0= ruleValidID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) ) int alt53=3; switch ( input.LA(1) ) { case 21: case 35: { alt53=1; } break; case 59: { alt53=2; } break; case RULE_STRING: case 15: case 20: { alt53=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 53, 0, input); throw nvae; } switch (alt53) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3149:2: ( () ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )* otherlv_4= '=' ( (lv_values_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3149:2: ( () ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )* otherlv_4= '=' ( (lv_values_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3149:3: () ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )* otherlv_4= '=' ( (lv_values_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3149:3: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3150:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndAdd( grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getStatement_AssignmentVariableAction_1_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3155:2: ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )* loop51: do { int alt51=2; int LA51_0 = input.LA(1); if ( (LA51_0==21) && (synpred1_InternalIoT())) { alt51=1; } switch (alt51) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3155:3: ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3155:3: ( ( ',' )=>otherlv_2= ',' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3155:4: ( ',' )=>otherlv_2= ',' { otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleStatement_FunctioncallOrAssignment6970); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getCommaKeyword_1_0_1_0()); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3160:2: ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3161:1: (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3161:1: (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3162:3: lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getVariableExpression_AccessMemberOrArrayElementParserRuleCall_1_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_ruleStatement_FunctioncallOrAssignment6992); lv_variable_3_0=ruleExpression_AccessMemberOrArrayElement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_FunctioncallOrAssignmentRule()); } add( current, "variable", lv_variable_3_0, "Expression_AccessMemberOrArrayElement"); afterParserOrEnumRuleCall(); } } } } break; default : break loop51; } } while (true); otherlv_4=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleStatement_FunctioncallOrAssignment7006); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getEqualsSignKeyword_1_0_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3182:1: ( (lv_values_5_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3183:1: (lv_values_5_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3183:1: (lv_values_5_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3184:3: lv_values_5_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getValuesExpressionParserRuleCall_1_0_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_FunctioncallOrAssignment7027); lv_values_5_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_FunctioncallOrAssignmentRule()); } add( current, "values", lv_values_5_0, "Expression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3200:2: (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )* loop52: do { int alt52=2; int LA52_0 = input.LA(1); if ( (LA52_0==21) ) { alt52=1; } switch (alt52) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3200:4: otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) { otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleStatement_FunctioncallOrAssignment7040); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getCommaKeyword_1_0_4_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3204:1: ( (lv_values_7_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3205:1: (lv_values_7_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3205:1: (lv_values_7_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3206:3: lv_values_7_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getValuesExpressionParserRuleCall_1_0_4_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_FunctioncallOrAssignment7061); lv_values_7_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_FunctioncallOrAssignmentRule()); } add( current, "values", lv_values_7_0, "Expression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop52; } } while (true); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3223:6: (otherlv_8= ':' () ( (lv_memberFunctionName_10_0= ruleValidID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3223:6: (otherlv_8= ':' () ( (lv_memberFunctionName_10_0= ruleValidID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3223:8: otherlv_8= ':' () ( (lv_memberFunctionName_10_0= ruleValidID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) { otherlv_8=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleStatement_FunctioncallOrAssignment7083); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getColonKeyword_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3227:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3228:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getStatement_CallMemberFunctionObjectAction_1_1_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3233:2: ( (lv_memberFunctionName_10_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3234:1: (lv_memberFunctionName_10_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3234:1: (lv_memberFunctionName_10_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3235:3: lv_memberFunctionName_10_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getMemberFunctionNameValidIDParserRuleCall_1_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleStatement_FunctioncallOrAssignment7113); lv_memberFunctionName_10_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_FunctioncallOrAssignmentRule()); } set( current, "memberFunctionName", lv_memberFunctionName_10_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3251:2: ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3252:1: (lv_arguments_11_0= ruleFunctioncall_Arguments ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3252:1: (lv_arguments_11_0= ruleFunctioncall_Arguments ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3253:3: lv_arguments_11_0= ruleFunctioncall_Arguments { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleFunctioncall_Arguments_in_ruleStatement_FunctioncallOrAssignment7134); lv_arguments_11_0=ruleFunctioncall_Arguments(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_FunctioncallOrAssignmentRule()); } set( current, "arguments", lv_arguments_11_0, "Functioncall_Arguments"); afterParserOrEnumRuleCall(); } } } } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3270:6: ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3270:6: ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3270:7: () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3270:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3271:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getStatement_CallFunctionObjectAction_1_2_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3276:2: ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3277:1: (lv_arguments_13_0= ruleFunctioncall_Arguments ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3277:1: (lv_arguments_13_0= ruleFunctioncall_Arguments ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3278:3: lv_arguments_13_0= ruleFunctioncall_Arguments { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getArgumentsFunctioncall_ArgumentsParserRuleCall_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleFunctioncall_Arguments_in_ruleStatement_FunctioncallOrAssignment7172); lv_arguments_13_0=ruleFunctioncall_Arguments(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getStatement_FunctioncallOrAssignmentRule()); } set( current, "arguments", lv_arguments_13_0, "Functioncall_Arguments"); afterParserOrEnumRuleCall(); } } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleStatement_FunctioncallOrAssignment" // $ANTLR start "entryRuleExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3302:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; public final EObject entryRuleExpression() throws RecognitionException { EObject current = null; EObject iv_ruleExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3303:2: (iv_ruleExpression= ruleExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3304:2: iv_ruleExpression= ruleExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_entryRuleExpression7210); iv_ruleExpression=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression7220); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression" // $ANTLR start "ruleExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3311:1: ruleExpression returns [EObject current=null] : this_Expression_Or_0= ruleExpression_Or ; public final EObject ruleExpression() throws RecognitionException { EObject current = null; EObject this_Expression_Or_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3314:28: (this_Expression_Or_0= ruleExpression_Or ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3316:5: this_Expression_Or_0= ruleExpression_Or { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpressionAccess().getExpression_OrParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Or_in_ruleExpression7266); this_Expression_Or_0=ruleExpression_Or(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_Or_0; afterParserOrEnumRuleCall(); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression" // $ANTLR start "entryRuleExpression_Or" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3332:1: entryRuleExpression_Or returns [EObject current=null] : iv_ruleExpression_Or= ruleExpression_Or EOF ; public final EObject entryRuleExpression_Or() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_Or = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3333:2: (iv_ruleExpression_Or= ruleExpression_Or EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3334:2: iv_ruleExpression_Or= ruleExpression_Or EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_OrRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Or_in_entryRuleExpression_Or7300); iv_ruleExpression_Or=ruleExpression_Or(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_Or; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_Or7310); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_Or" // $ANTLR start "ruleExpression_Or" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3341:1: ruleExpression_Or returns [EObject current=null] : (this_Expression_And_0= ruleExpression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) )* ) ; public final EObject ruleExpression_Or() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject this_Expression_And_0 = null; EObject lv_right_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3344:28: ( (this_Expression_And_0= ruleExpression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3345:1: (this_Expression_And_0= ruleExpression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3345:1: (this_Expression_And_0= ruleExpression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3346:5: this_Expression_And_0= ruleExpression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_OrAccess().getExpression_AndParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_And_in_ruleExpression_Or7357); this_Expression_And_0=ruleExpression_And(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_And_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3354:1: (otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) )* loop54: do { int alt54=2; int LA54_0 = input.LA(1); if ( (LA54_0==61) ) { alt54=1; } switch (alt54) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3354:3: otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) { otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleExpression_Or7369); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExpression_OrAccess().getOrKeyword_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3358:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3359:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_OrAccess().getExpression_OrLeftAction_1_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3364:2: ( (lv_right_3_0= ruleExpression_And ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3365:1: (lv_right_3_0= ruleExpression_And ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3365:1: (lv_right_3_0= ruleExpression_And ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3366:3: lv_right_3_0= ruleExpression_And { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_OrAccess().getRightExpression_AndParserRuleCall_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_And_in_ruleExpression_Or7399); lv_right_3_0=ruleExpression_And(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_OrRule()); } set( current, "right", lv_right_3_0, "Expression_And"); afterParserOrEnumRuleCall(); } } } } break; default : break loop54; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_Or" // $ANTLR start "entryRuleExpression_And" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3390:1: entryRuleExpression_And returns [EObject current=null] : iv_ruleExpression_And= ruleExpression_And EOF ; public final EObject entryRuleExpression_And() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_And = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3391:2: (iv_ruleExpression_And= ruleExpression_And EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3392:2: iv_ruleExpression_And= ruleExpression_And EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_AndRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_And_in_entryRuleExpression_And7437); iv_ruleExpression_And=ruleExpression_And(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_And; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_And7447); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_And" // $ANTLR start "ruleExpression_And" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3399:1: ruleExpression_And returns [EObject current=null] : (this_Expression_Compare_0= ruleExpression_Compare (otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) )* ) ; public final EObject ruleExpression_And() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject this_Expression_Compare_0 = null; EObject lv_right_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3402:28: ( (this_Expression_Compare_0= ruleExpression_Compare (otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3403:1: (this_Expression_Compare_0= ruleExpression_Compare (otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3403:1: (this_Expression_Compare_0= ruleExpression_Compare (otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3404:5: this_Expression_Compare_0= ruleExpression_Compare (otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_AndAccess().getExpression_CompareParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Compare_in_ruleExpression_And7494); this_Expression_Compare_0=ruleExpression_Compare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_Compare_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3412:1: (otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) )* loop55: do { int alt55=2; int LA55_0 = input.LA(1); if ( (LA55_0==62) ) { alt55=1; } switch (alt55) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3412:3: otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) { otherlv_1=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleExpression_And7506); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExpression_AndAccess().getAndKeyword_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3416:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3417:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_AndAccess().getExpression_AndLeftAction_1_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3422:2: ( (lv_right_3_0= ruleExpression_Compare ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3423:1: (lv_right_3_0= ruleExpression_Compare ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3423:1: (lv_right_3_0= ruleExpression_Compare ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3424:3: lv_right_3_0= ruleExpression_Compare { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_AndAccess().getRightExpression_CompareParserRuleCall_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Compare_in_ruleExpression_And7536); lv_right_3_0=ruleExpression_Compare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_AndRule()); } set( current, "right", lv_right_3_0, "Expression_Compare"); afterParserOrEnumRuleCall(); } } } } break; default : break loop55; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_And" // $ANTLR start "entryRuleExpression_Compare" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3448:1: entryRuleExpression_Compare returns [EObject current=null] : iv_ruleExpression_Compare= ruleExpression_Compare EOF ; public final EObject entryRuleExpression_Compare() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_Compare = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3449:2: (iv_ruleExpression_Compare= ruleExpression_Compare EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3450:2: iv_ruleExpression_Compare= ruleExpression_Compare EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_CompareRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Compare_in_entryRuleExpression_Compare7574); iv_ruleExpression_Compare=ruleExpression_Compare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_Compare; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_Compare7584); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_Compare" // $ANTLR start "ruleExpression_Compare" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3457:1: ruleExpression_Compare returns [EObject current=null] : (this_Expression_Concatenation_0= ruleExpression_Concatenation ( (otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) ) | (otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) ) | (otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) ) )* ) ; public final EObject ruleExpression_Compare() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_4=null; Token otherlv_7=null; Token otherlv_10=null; Token otherlv_13=null; Token otherlv_16=null; EObject this_Expression_Concatenation_0 = null; EObject lv_right_3_0 = null; EObject lv_right_6_0 = null; EObject lv_right_9_0 = null; EObject lv_right_12_0 = null; EObject lv_right_15_0 = null; EObject lv_right_18_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3460:28: ( (this_Expression_Concatenation_0= ruleExpression_Concatenation ( (otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) ) | (otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) ) | (otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3461:1: (this_Expression_Concatenation_0= ruleExpression_Concatenation ( (otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) ) | (otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) ) | (otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3461:1: (this_Expression_Concatenation_0= ruleExpression_Concatenation ( (otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) ) | (otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) ) | (otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3462:5: this_Expression_Concatenation_0= ruleExpression_Concatenation ( (otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) ) | (otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) ) | (otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_CompareAccess().getExpression_ConcatenationParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7631); this_Expression_Concatenation_0=ruleExpression_Concatenation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_Concatenation_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3470:1: ( (otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) ) | (otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) ) | (otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) ) | (otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) ) | (otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) ) | (otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) ) )* loop56: do { int alt56=7; switch ( input.LA(1) ) { case 63: { alt56=1; } break; case 64: { alt56=2; } break; case 65: { alt56=3; } break; case 66: { alt56=4; } break; case 67: { alt56=5; } break; case 68: { alt56=6; } break; } switch (alt56) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3470:2: (otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3470:2: (otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3470:4: otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) { otherlv_1=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleExpression_Compare7644); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExpression_CompareAccess().getGreaterThanSignKeyword_1_0_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3474:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3475:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_CompareAccess().getExpression_LargerLeftAction_1_0_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3480:2: ( (lv_right_3_0= ruleExpression_Concatenation ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3481:1: (lv_right_3_0= ruleExpression_Concatenation ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3481:1: (lv_right_3_0= ruleExpression_Concatenation ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3482:3: lv_right_3_0= ruleExpression_Concatenation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_CompareAccess().getRightExpression_ConcatenationParserRuleCall_1_0_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7674); lv_right_3_0=ruleExpression_Concatenation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_CompareRule()); } set( current, "right", lv_right_3_0, "Expression_Concatenation"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3499:6: (otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3499:6: (otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3499:8: otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) { otherlv_4=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleExpression_Compare7694); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getExpression_CompareAccess().getGreaterThanSignEqualsSignKeyword_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3503:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3504:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_CompareAccess().getExpression_Larger_EqualLeftAction_1_1_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3509:2: ( (lv_right_6_0= ruleExpression_Concatenation ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3510:1: (lv_right_6_0= ruleExpression_Concatenation ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3510:1: (lv_right_6_0= ruleExpression_Concatenation ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3511:3: lv_right_6_0= ruleExpression_Concatenation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_CompareAccess().getRightExpression_ConcatenationParserRuleCall_1_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7724); lv_right_6_0=ruleExpression_Concatenation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_CompareRule()); } set( current, "right", lv_right_6_0, "Expression_Concatenation"); afterParserOrEnumRuleCall(); } } } } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3528:6: (otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3528:6: (otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3528:8: otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) { otherlv_7=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleExpression_Compare7744); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getExpression_CompareAccess().getLessThanSignKeyword_1_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3532:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3533:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_CompareAccess().getExpression_SmallerLeftAction_1_2_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3538:2: ( (lv_right_9_0= ruleExpression_Concatenation ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3539:1: (lv_right_9_0= ruleExpression_Concatenation ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3539:1: (lv_right_9_0= ruleExpression_Concatenation ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3540:3: lv_right_9_0= ruleExpression_Concatenation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_CompareAccess().getRightExpression_ConcatenationParserRuleCall_1_2_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7774); lv_right_9_0=ruleExpression_Concatenation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_CompareRule()); } set( current, "right", lv_right_9_0, "Expression_Concatenation"); afterParserOrEnumRuleCall(); } } } } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3557:6: (otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3557:6: (otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3557:8: otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) { otherlv_10=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleExpression_Compare7794); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getExpression_CompareAccess().getLessThanSignEqualsSignKeyword_1_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3561:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3562:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_CompareAccess().getExpression_Smaller_EqualLeftAction_1_3_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3567:2: ( (lv_right_12_0= ruleExpression_Concatenation ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3568:1: (lv_right_12_0= ruleExpression_Concatenation ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3568:1: (lv_right_12_0= ruleExpression_Concatenation ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3569:3: lv_right_12_0= ruleExpression_Concatenation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_CompareAccess().getRightExpression_ConcatenationParserRuleCall_1_3_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7824); lv_right_12_0=ruleExpression_Concatenation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_CompareRule()); } set( current, "right", lv_right_12_0, "Expression_Concatenation"); afterParserOrEnumRuleCall(); } } } } } break; case 5 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3586:6: (otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3586:6: (otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3586:8: otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) { otherlv_13=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleExpression_Compare7844); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getExpression_CompareAccess().getEqualsSignEqualsSignKeyword_1_4_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3590:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3591:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_CompareAccess().getExpression_EqualLeftAction_1_4_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3596:2: ( (lv_right_15_0= ruleExpression_Concatenation ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3597:1: (lv_right_15_0= ruleExpression_Concatenation ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3597:1: (lv_right_15_0= ruleExpression_Concatenation ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3598:3: lv_right_15_0= ruleExpression_Concatenation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_CompareAccess().getRightExpression_ConcatenationParserRuleCall_1_4_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7874); lv_right_15_0=ruleExpression_Concatenation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_CompareRule()); } set( current, "right", lv_right_15_0, "Expression_Concatenation"); afterParserOrEnumRuleCall(); } } } } } break; case 6 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3615:6: (otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3615:6: (otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3615:8: otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) { otherlv_16=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleExpression_Compare7894); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_16, grammarAccess.getExpression_CompareAccess().getTildeEqualsSignKeyword_1_5_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3619:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3620:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_CompareAccess().getExpression_Not_EqualLeftAction_1_5_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3625:2: ( (lv_right_18_0= ruleExpression_Concatenation ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3626:1: (lv_right_18_0= ruleExpression_Concatenation ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3626:1: (lv_right_18_0= ruleExpression_Concatenation ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3627:3: lv_right_18_0= ruleExpression_Concatenation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_CompareAccess().getRightExpression_ConcatenationParserRuleCall_1_5_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7924); lv_right_18_0=ruleExpression_Concatenation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_CompareRule()); } set( current, "right", lv_right_18_0, "Expression_Concatenation"); afterParserOrEnumRuleCall(); } } } } } break; default : break loop56; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_Compare" // $ANTLR start "entryRuleExpression_Concatenation" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3651:1: entryRuleExpression_Concatenation returns [EObject current=null] : iv_ruleExpression_Concatenation= ruleExpression_Concatenation EOF ; public final EObject entryRuleExpression_Concatenation() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_Concatenation = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3652:2: (iv_ruleExpression_Concatenation= ruleExpression_Concatenation EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3653:2: iv_ruleExpression_Concatenation= ruleExpression_Concatenation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_ConcatenationRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Concatenation_in_entryRuleExpression_Concatenation7963); iv_ruleExpression_Concatenation=ruleExpression_Concatenation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_Concatenation; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_Concatenation7973); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_Concatenation" // $ANTLR start "ruleExpression_Concatenation" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3660:1: ruleExpression_Concatenation returns [EObject current=null] : (this_Expression_PlusMinus_0= ruleExpression_PlusMinus (otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )? ) ; public final EObject ruleExpression_Concatenation() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject this_Expression_PlusMinus_0 = null; EObject lv_right_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3663:28: ( (this_Expression_PlusMinus_0= ruleExpression_PlusMinus (otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3664:1: (this_Expression_PlusMinus_0= ruleExpression_PlusMinus (otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3664:1: (this_Expression_PlusMinus_0= ruleExpression_PlusMinus (otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3665:5: this_Expression_PlusMinus_0= ruleExpression_PlusMinus (otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_ConcatenationAccess().getExpression_PlusMinusParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_PlusMinus_in_ruleExpression_Concatenation8020); this_Expression_PlusMinus_0=ruleExpression_PlusMinus(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_PlusMinus_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3673:1: (otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )? int alt57=2; int LA57_0 = input.LA(1); if ( (LA57_0==69) ) { alt57=1; } switch (alt57) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3673:3: otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) { otherlv_1=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleExpression_Concatenation8032); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExpression_ConcatenationAccess().getFullStopFullStopKeyword_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3677:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3678:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_ConcatenationAccess().getExpression_ConcatenationLeftAction_1_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3683:2: ( (lv_right_3_0= ruleExpression_Concatenation ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3684:1: (lv_right_3_0= ruleExpression_Concatenation ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3684:1: (lv_right_3_0= ruleExpression_Concatenation ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3685:3: lv_right_3_0= ruleExpression_Concatenation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_ConcatenationAccess().getRightExpression_ConcatenationParserRuleCall_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Concatenation8062); lv_right_3_0=ruleExpression_Concatenation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_ConcatenationRule()); } set( current, "right", lv_right_3_0, "Expression_Concatenation"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_Concatenation" // $ANTLR start "entryRuleExpression_PlusMinus" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3709:1: entryRuleExpression_PlusMinus returns [EObject current=null] : iv_ruleExpression_PlusMinus= ruleExpression_PlusMinus EOF ; public final EObject entryRuleExpression_PlusMinus() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_PlusMinus = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3710:2: (iv_ruleExpression_PlusMinus= ruleExpression_PlusMinus EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3711:2: iv_ruleExpression_PlusMinus= ruleExpression_PlusMinus EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_PlusMinusRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_PlusMinus_in_entryRuleExpression_PlusMinus8100); iv_ruleExpression_PlusMinus=ruleExpression_PlusMinus(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_PlusMinus; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_PlusMinus8110); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_PlusMinus" // $ANTLR start "ruleExpression_PlusMinus" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3718:1: ruleExpression_PlusMinus returns [EObject current=null] : (this_Expression_MultiplicationDivisionModulo_0= ruleExpression_MultiplicationDivisionModulo ( (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) ) )* ) ; public final EObject ruleExpression_PlusMinus() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_4=null; EObject this_Expression_MultiplicationDivisionModulo_0 = null; EObject lv_right_3_0 = null; EObject lv_right_6_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3721:28: ( (this_Expression_MultiplicationDivisionModulo_0= ruleExpression_MultiplicationDivisionModulo ( (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3722:1: (this_Expression_MultiplicationDivisionModulo_0= ruleExpression_MultiplicationDivisionModulo ( (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3722:1: (this_Expression_MultiplicationDivisionModulo_0= ruleExpression_MultiplicationDivisionModulo ( (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3723:5: this_Expression_MultiplicationDivisionModulo_0= ruleExpression_MultiplicationDivisionModulo ( (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_PlusMinusAccess().getExpression_MultiplicationDivisionModuloParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_ruleExpression_PlusMinus8157); this_Expression_MultiplicationDivisionModulo_0=ruleExpression_MultiplicationDivisionModulo(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_MultiplicationDivisionModulo_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3731:1: ( (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) ) )* loop58: do { int alt58=3; int LA58_0 = input.LA(1); if ( (LA58_0==70) ) { alt58=1; } else if ( (LA58_0==71) ) { alt58=2; } switch (alt58) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3731:2: (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3731:2: (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3731:4: otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) { otherlv_1=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleExpression_PlusMinus8170); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExpression_PlusMinusAccess().getPlusSignKeyword_1_0_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3735:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3736:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_PlusMinusAccess().getExpression_PlusLeftAction_1_0_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3741:2: ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3742:1: (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3742:1: (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3743:3: lv_right_3_0= ruleExpression_MultiplicationDivisionModulo { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_PlusMinusAccess().getRightExpression_MultiplicationDivisionModuloParserRuleCall_1_0_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_ruleExpression_PlusMinus8200); lv_right_3_0=ruleExpression_MultiplicationDivisionModulo(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_PlusMinusRule()); } set( current, "right", lv_right_3_0, "Expression_MultiplicationDivisionModulo"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3760:6: (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3760:6: (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3760:8: otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) { otherlv_4=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleExpression_PlusMinus8220); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getExpression_PlusMinusAccess().getHyphenMinusKeyword_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3764:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3765:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_PlusMinusAccess().getExpression_MinusLeftAction_1_1_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3770:2: ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3771:1: (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3771:1: (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3772:3: lv_right_6_0= ruleExpression_MultiplicationDivisionModulo { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_PlusMinusAccess().getRightExpression_MultiplicationDivisionModuloParserRuleCall_1_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_ruleExpression_PlusMinus8250); lv_right_6_0=ruleExpression_MultiplicationDivisionModulo(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_PlusMinusRule()); } set( current, "right", lv_right_6_0, "Expression_MultiplicationDivisionModulo"); afterParserOrEnumRuleCall(); } } } } } break; default : break loop58; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_PlusMinus" // $ANTLR start "entryRuleExpression_MultiplicationDivisionModulo" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3796:1: entryRuleExpression_MultiplicationDivisionModulo returns [EObject current=null] : iv_ruleExpression_MultiplicationDivisionModulo= ruleExpression_MultiplicationDivisionModulo EOF ; public final EObject entryRuleExpression_MultiplicationDivisionModulo() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_MultiplicationDivisionModulo = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3797:2: (iv_ruleExpression_MultiplicationDivisionModulo= ruleExpression_MultiplicationDivisionModulo EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3798:2: iv_ruleExpression_MultiplicationDivisionModulo= ruleExpression_MultiplicationDivisionModulo EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_MultiplicationDivisionModuloRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_entryRuleExpression_MultiplicationDivisionModulo8289); iv_ruleExpression_MultiplicationDivisionModulo=ruleExpression_MultiplicationDivisionModulo(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_MultiplicationDivisionModulo; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_MultiplicationDivisionModulo8299); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_MultiplicationDivisionModulo" // $ANTLR start "ruleExpression_MultiplicationDivisionModulo" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3805:1: ruleExpression_MultiplicationDivisionModulo returns [EObject current=null] : (this_Expression_Unary_0= ruleExpression_Unary ( (otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) ) )* ) ; public final EObject ruleExpression_MultiplicationDivisionModulo() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_4=null; Token otherlv_7=null; EObject this_Expression_Unary_0 = null; EObject lv_right_3_0 = null; EObject lv_right_6_0 = null; EObject lv_right_9_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3808:28: ( (this_Expression_Unary_0= ruleExpression_Unary ( (otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3809:1: (this_Expression_Unary_0= ruleExpression_Unary ( (otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3809:1: (this_Expression_Unary_0= ruleExpression_Unary ( (otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3810:5: this_Expression_Unary_0= ruleExpression_Unary ( (otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getExpression_UnaryParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo8346); this_Expression_Unary_0=ruleExpression_Unary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_Unary_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3818:1: ( (otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) ) | (otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) ) | (otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) ) )* loop59: do { int alt59=4; switch ( input.LA(1) ) { case 72: { alt59=1; } break; case 73: { alt59=2; } break; case 74: { alt59=3; } break; } switch (alt59) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3818:2: (otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3818:2: (otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3818:4: otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) { otherlv_1=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleExpression_MultiplicationDivisionModulo8359); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getAsteriskKeyword_1_0_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3822:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3823:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getExpression_MultiplicationLeftAction_1_0_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3828:2: ( (lv_right_3_0= ruleExpression_Unary ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3829:1: (lv_right_3_0= ruleExpression_Unary ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3829:1: (lv_right_3_0= ruleExpression_Unary ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3830:3: lv_right_3_0= ruleExpression_Unary { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getRightExpression_UnaryParserRuleCall_1_0_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo8389); lv_right_3_0=ruleExpression_Unary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_MultiplicationDivisionModuloRule()); } set( current, "right", lv_right_3_0, "Expression_Unary"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3847:6: (otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3847:6: (otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3847:8: otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) { otherlv_4=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleExpression_MultiplicationDivisionModulo8409); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getSolidusKeyword_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3851:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3852:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getExpression_DivisionLeftAction_1_1_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3857:2: ( (lv_right_6_0= ruleExpression_Unary ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3858:1: (lv_right_6_0= ruleExpression_Unary ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3858:1: (lv_right_6_0= ruleExpression_Unary ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3859:3: lv_right_6_0= ruleExpression_Unary { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getRightExpression_UnaryParserRuleCall_1_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo8439); lv_right_6_0=ruleExpression_Unary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_MultiplicationDivisionModuloRule()); } set( current, "right", lv_right_6_0, "Expression_Unary"); afterParserOrEnumRuleCall(); } } } } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3876:6: (otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3876:6: (otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3876:8: otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) { otherlv_7=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleExpression_MultiplicationDivisionModulo8459); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getPercentSignKeyword_1_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3880:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3881:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getExpression_ModuloLeftAction_1_2_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3886:2: ( (lv_right_9_0= ruleExpression_Unary ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3887:1: (lv_right_9_0= ruleExpression_Unary ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3887:1: (lv_right_9_0= ruleExpression_Unary ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3888:3: lv_right_9_0= ruleExpression_Unary { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getRightExpression_UnaryParserRuleCall_1_2_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo8489); lv_right_9_0=ruleExpression_Unary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_MultiplicationDivisionModuloRule()); } set( current, "right", lv_right_9_0, "Expression_Unary"); afterParserOrEnumRuleCall(); } } } } } break; default : break loop59; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_MultiplicationDivisionModulo" // $ANTLR start "entryRuleExpression_Unary" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3912:1: entryRuleExpression_Unary returns [EObject current=null] : iv_ruleExpression_Unary= ruleExpression_Unary EOF ; public final EObject entryRuleExpression_Unary() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_Unary = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3913:2: (iv_ruleExpression_Unary= ruleExpression_Unary EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3914:2: iv_ruleExpression_Unary= ruleExpression_Unary EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_UnaryRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Unary_in_entryRuleExpression_Unary8528); iv_ruleExpression_Unary=ruleExpression_Unary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_Unary; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_Unary8538); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_Unary" // $ANTLR start "ruleExpression_Unary" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3921:1: ruleExpression_Unary returns [EObject current=null] : (this_Expression_Exponentiation_0= ruleExpression_Exponentiation | (otherlv_1= 'not' () ( (lv_exp_3_0= ruleExpression_Unary ) ) ) | (otherlv_4= '#' () ( (lv_exp_6_0= ruleExpression_Unary ) ) ) | (otherlv_7= '-' () ( (lv_exp_9_0= ruleExpression_Unary ) ) ) ) ; public final EObject ruleExpression_Unary() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_4=null; Token otherlv_7=null; EObject this_Expression_Exponentiation_0 = null; EObject lv_exp_3_0 = null; EObject lv_exp_6_0 = null; EObject lv_exp_9_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3924:28: ( (this_Expression_Exponentiation_0= ruleExpression_Exponentiation | (otherlv_1= 'not' () ( (lv_exp_3_0= ruleExpression_Unary ) ) ) | (otherlv_4= '#' () ( (lv_exp_6_0= ruleExpression_Unary ) ) ) | (otherlv_7= '-' () ( (lv_exp_9_0= ruleExpression_Unary ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3925:1: (this_Expression_Exponentiation_0= ruleExpression_Exponentiation | (otherlv_1= 'not' () ( (lv_exp_3_0= ruleExpression_Unary ) ) ) | (otherlv_4= '#' () ( (lv_exp_6_0= ruleExpression_Unary ) ) ) | (otherlv_7= '-' () ( (lv_exp_9_0= ruleExpression_Unary ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3925:1: (this_Expression_Exponentiation_0= ruleExpression_Exponentiation | (otherlv_1= 'not' () ( (lv_exp_3_0= ruleExpression_Unary ) ) ) | (otherlv_4= '#' () ( (lv_exp_6_0= ruleExpression_Unary ) ) ) | (otherlv_7= '-' () ( (lv_exp_9_0= ruleExpression_Unary ) ) ) ) int alt60=4; switch ( input.LA(1) ) { case RULE_ID: case RULE_DOUBLE: case RULE_STRING: case 15: case 20: case 37: case 38: case 57: case 78: case 79: { alt60=1; } break; case 75: { alt60=2; } break; case 76: { alt60=3; } break; case 71: { alt60=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 60, 0, input); throw nvae; } switch (alt60) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3926:5: this_Expression_Exponentiation_0= ruleExpression_Exponentiation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_UnaryAccess().getExpression_ExponentiationParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Exponentiation_in_ruleExpression_Unary8585); this_Expression_Exponentiation_0=ruleExpression_Exponentiation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_Exponentiation_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3935:6: (otherlv_1= 'not' () ( (lv_exp_3_0= ruleExpression_Unary ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3935:6: (otherlv_1= 'not' () ( (lv_exp_3_0= ruleExpression_Unary ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3935:8: otherlv_1= 'not' () ( (lv_exp_3_0= ruleExpression_Unary ) ) { otherlv_1=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleExpression_Unary8603); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExpression_UnaryAccess().getNotKeyword_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3939:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3940:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getExpression_UnaryAccess().getExpression_NegateAction_1_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3945:2: ( (lv_exp_3_0= ruleExpression_Unary ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3946:1: (lv_exp_3_0= ruleExpression_Unary ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3946:1: (lv_exp_3_0= ruleExpression_Unary ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3947:3: lv_exp_3_0= ruleExpression_Unary { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_UnaryAccess().getExpExpression_UnaryParserRuleCall_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Unary_in_ruleExpression_Unary8633); lv_exp_3_0=ruleExpression_Unary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_UnaryRule()); } set( current, "exp", lv_exp_3_0, "Expression_Unary"); afterParserOrEnumRuleCall(); } } } } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3964:6: (otherlv_4= '#' () ( (lv_exp_6_0= ruleExpression_Unary ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3964:6: (otherlv_4= '#' () ( (lv_exp_6_0= ruleExpression_Unary ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3964:8: otherlv_4= '#' () ( (lv_exp_6_0= ruleExpression_Unary ) ) { otherlv_4=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleExpression_Unary8653); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getExpression_UnaryAccess().getNumberSignKeyword_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3968:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3969:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getExpression_UnaryAccess().getExpression_LengthAction_2_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3974:2: ( (lv_exp_6_0= ruleExpression_Unary ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3975:1: (lv_exp_6_0= ruleExpression_Unary ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3975:1: (lv_exp_6_0= ruleExpression_Unary ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3976:3: lv_exp_6_0= ruleExpression_Unary { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_UnaryAccess().getExpExpression_UnaryParserRuleCall_2_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Unary_in_ruleExpression_Unary8683); lv_exp_6_0=ruleExpression_Unary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_UnaryRule()); } set( current, "exp", lv_exp_6_0, "Expression_Unary"); afterParserOrEnumRuleCall(); } } } } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3993:6: (otherlv_7= '-' () ( (lv_exp_9_0= ruleExpression_Unary ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3993:6: (otherlv_7= '-' () ( (lv_exp_9_0= ruleExpression_Unary ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3993:8: otherlv_7= '-' () ( (lv_exp_9_0= ruleExpression_Unary ) ) { otherlv_7=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleExpression_Unary8703); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getExpression_UnaryAccess().getHyphenMinusKeyword_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3997:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3998:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getExpression_UnaryAccess().getExpression_InvertAction_3_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4003:2: ( (lv_exp_9_0= ruleExpression_Unary ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4004:1: (lv_exp_9_0= ruleExpression_Unary ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4004:1: (lv_exp_9_0= ruleExpression_Unary ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4005:3: lv_exp_9_0= ruleExpression_Unary { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_UnaryAccess().getExpExpression_UnaryParserRuleCall_3_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Unary_in_ruleExpression_Unary8733); lv_exp_9_0=ruleExpression_Unary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_UnaryRule()); } set( current, "exp", lv_exp_9_0, "Expression_Unary"); afterParserOrEnumRuleCall(); } } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_Unary" // $ANTLR start "entryRuleExpression_Exponentiation" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4029:1: entryRuleExpression_Exponentiation returns [EObject current=null] : iv_ruleExpression_Exponentiation= ruleExpression_Exponentiation EOF ; public final EObject entryRuleExpression_Exponentiation() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_Exponentiation = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4030:2: (iv_ruleExpression_Exponentiation= ruleExpression_Exponentiation EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4031:2: iv_ruleExpression_Exponentiation= ruleExpression_Exponentiation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_ExponentiationRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Exponentiation_in_entryRuleExpression_Exponentiation8770); iv_ruleExpression_Exponentiation=ruleExpression_Exponentiation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_Exponentiation; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_Exponentiation8780); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_Exponentiation" // $ANTLR start "ruleExpression_Exponentiation" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4038:1: ruleExpression_Exponentiation returns [EObject current=null] : (this_Expression_Terminal_0= ruleExpression_Terminal (otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) )? ) ; public final EObject ruleExpression_Exponentiation() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject this_Expression_Terminal_0 = null; EObject lv_right_3_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4041:28: ( (this_Expression_Terminal_0= ruleExpression_Terminal (otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4042:1: (this_Expression_Terminal_0= ruleExpression_Terminal (otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4042:1: (this_Expression_Terminal_0= ruleExpression_Terminal (otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4043:5: this_Expression_Terminal_0= ruleExpression_Terminal (otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_ExponentiationAccess().getExpression_TerminalParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Terminal_in_ruleExpression_Exponentiation8827); this_Expression_Terminal_0=ruleExpression_Terminal(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_Terminal_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4051:1: (otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) )? int alt61=2; int LA61_0 = input.LA(1); if ( (LA61_0==77) ) { alt61=1; } switch (alt61) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4051:3: otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) { otherlv_1=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleExpression_Exponentiation8839); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExpression_ExponentiationAccess().getCircumflexAccentKeyword_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4055:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4056:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_ExponentiationAccess().getExpression_ExponentiationLeftAction_1_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4061:2: ( (lv_right_3_0= ruleExpression_Exponentiation ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4062:1: (lv_right_3_0= ruleExpression_Exponentiation ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4062:1: (lv_right_3_0= ruleExpression_Exponentiation ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4063:3: lv_right_3_0= ruleExpression_Exponentiation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_ExponentiationAccess().getRightExpression_ExponentiationParserRuleCall_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Exponentiation_in_ruleExpression_Exponentiation8869); lv_right_3_0=ruleExpression_Exponentiation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_ExponentiationRule()); } set( current, "right", lv_right_3_0, "Expression_Exponentiation"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_Exponentiation" // $ANTLR start "entryRuleExpression_Terminal" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4087:1: entryRuleExpression_Terminal returns [EObject current=null] : iv_ruleExpression_Terminal= ruleExpression_Terminal EOF ; public final EObject entryRuleExpression_Terminal() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_Terminal = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4088:2: (iv_ruleExpression_Terminal= ruleExpression_Terminal EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4089:2: iv_ruleExpression_Terminal= ruleExpression_Terminal EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TerminalRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Terminal_in_entryRuleExpression_Terminal8907); iv_ruleExpression_Terminal=ruleExpression_Terminal(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_Terminal; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_Terminal8917); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_Terminal" // $ANTLR start "ruleExpression_Terminal" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4096:1: ruleExpression_Terminal returns [EObject current=null] : (this_Expression_Nil_0= ruleExpression_Nil | this_Expression_True_1= ruleExpression_True | this_Expression_False_2= ruleExpression_False | this_Expression_Number_3= ruleExpression_Number | this_Expression_VarArgs_4= ruleExpression_VarArgs | this_Expression_String_5= ruleExpression_String | this_Expression_Function_6= ruleExpression_Function | this_Expression_TableConstructor_7= ruleExpression_TableConstructor | this_Expression_Functioncall_8= ruleExpression_Functioncall ) ; public final EObject ruleExpression_Terminal() throws RecognitionException { EObject current = null; EObject this_Expression_Nil_0 = null; EObject this_Expression_True_1 = null; EObject this_Expression_False_2 = null; EObject this_Expression_Number_3 = null; EObject this_Expression_VarArgs_4 = null; EObject this_Expression_String_5 = null; EObject this_Expression_Function_6 = null; EObject this_Expression_TableConstructor_7 = null; EObject this_Expression_Functioncall_8 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4099:28: ( (this_Expression_Nil_0= ruleExpression_Nil | this_Expression_True_1= ruleExpression_True | this_Expression_False_2= ruleExpression_False | this_Expression_Number_3= ruleExpression_Number | this_Expression_VarArgs_4= ruleExpression_VarArgs | this_Expression_String_5= ruleExpression_String | this_Expression_Function_6= ruleExpression_Function | this_Expression_TableConstructor_7= ruleExpression_TableConstructor | this_Expression_Functioncall_8= ruleExpression_Functioncall ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4100:1: (this_Expression_Nil_0= ruleExpression_Nil | this_Expression_True_1= ruleExpression_True | this_Expression_False_2= ruleExpression_False | this_Expression_Number_3= ruleExpression_Number | this_Expression_VarArgs_4= ruleExpression_VarArgs | this_Expression_String_5= ruleExpression_String | this_Expression_Function_6= ruleExpression_Function | this_Expression_TableConstructor_7= ruleExpression_TableConstructor | this_Expression_Functioncall_8= ruleExpression_Functioncall ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4100:1: (this_Expression_Nil_0= ruleExpression_Nil | this_Expression_True_1= ruleExpression_True | this_Expression_False_2= ruleExpression_False | this_Expression_Number_3= ruleExpression_Number | this_Expression_VarArgs_4= ruleExpression_VarArgs | this_Expression_String_5= ruleExpression_String | this_Expression_Function_6= ruleExpression_Function | this_Expression_TableConstructor_7= ruleExpression_TableConstructor | this_Expression_Functioncall_8= ruleExpression_Functioncall ) int alt62=9; switch ( input.LA(1) ) { case 78: { alt62=1; } break; case 37: { alt62=2; } break; case 38: { alt62=3; } break; case RULE_DOUBLE: { alt62=4; } break; case 79: { alt62=5; } break; case RULE_STRING: { alt62=6; } break; case 57: { alt62=7; } break; case 15: { alt62=8; } break; case RULE_ID: case 20: { alt62=9; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 62, 0, input); throw nvae; } switch (alt62) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4101:5: this_Expression_Nil_0= ruleExpression_Nil { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TerminalAccess().getExpression_NilParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Nil_in_ruleExpression_Terminal8964); this_Expression_Nil_0=ruleExpression_Nil(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_Nil_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4111:5: this_Expression_True_1= ruleExpression_True { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TerminalAccess().getExpression_TrueParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_True_in_ruleExpression_Terminal8991); this_Expression_True_1=ruleExpression_True(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_True_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4121:5: this_Expression_False_2= ruleExpression_False { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TerminalAccess().getExpression_FalseParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_False_in_ruleExpression_Terminal9018); this_Expression_False_2=ruleExpression_False(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_False_2; afterParserOrEnumRuleCall(); } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4131:5: this_Expression_Number_3= ruleExpression_Number { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TerminalAccess().getExpression_NumberParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Number_in_ruleExpression_Terminal9045); this_Expression_Number_3=ruleExpression_Number(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_Number_3; afterParserOrEnumRuleCall(); } } break; case 5 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4141:5: this_Expression_VarArgs_4= ruleExpression_VarArgs { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TerminalAccess().getExpression_VarArgsParserRuleCall_4()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_VarArgs_in_ruleExpression_Terminal9072); this_Expression_VarArgs_4=ruleExpression_VarArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_VarArgs_4; afterParserOrEnumRuleCall(); } } break; case 6 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4151:5: this_Expression_String_5= ruleExpression_String { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TerminalAccess().getExpression_StringParserRuleCall_5()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_String_in_ruleExpression_Terminal9099); this_Expression_String_5=ruleExpression_String(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_String_5; afterParserOrEnumRuleCall(); } } break; case 7 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4161:5: this_Expression_Function_6= ruleExpression_Function { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TerminalAccess().getExpression_FunctionParserRuleCall_6()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Function_in_ruleExpression_Terminal9126); this_Expression_Function_6=ruleExpression_Function(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_Function_6; afterParserOrEnumRuleCall(); } } break; case 8 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4171:5: this_Expression_TableConstructor_7= ruleExpression_TableConstructor { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TerminalAccess().getExpression_TableConstructorParserRuleCall_7()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_TableConstructor_in_ruleExpression_Terminal9153); this_Expression_TableConstructor_7=ruleExpression_TableConstructor(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_TableConstructor_7; afterParserOrEnumRuleCall(); } } break; case 9 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4181:5: this_Expression_Functioncall_8= ruleExpression_Functioncall { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TerminalAccess().getExpression_FunctioncallParserRuleCall_8()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Functioncall_in_ruleExpression_Terminal9180); this_Expression_Functioncall_8=ruleExpression_Functioncall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_Functioncall_8; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_Terminal" // $ANTLR start "entryRuleExpression_Nil" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4197:1: entryRuleExpression_Nil returns [EObject current=null] : iv_ruleExpression_Nil= ruleExpression_Nil EOF ; public final EObject entryRuleExpression_Nil() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_Nil = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4198:2: (iv_ruleExpression_Nil= ruleExpression_Nil EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4199:2: iv_ruleExpression_Nil= ruleExpression_Nil EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_NilRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Nil_in_entryRuleExpression_Nil9215); iv_ruleExpression_Nil=ruleExpression_Nil(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_Nil; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_Nil9225); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_Nil" // $ANTLR start "ruleExpression_Nil" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4206:1: ruleExpression_Nil returns [EObject current=null] : (otherlv_0= 'nil' () ) ; public final EObject ruleExpression_Nil() throws RecognitionException { EObject current = null; Token otherlv_0=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4209:28: ( (otherlv_0= 'nil' () ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4210:1: (otherlv_0= 'nil' () ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4210:1: (otherlv_0= 'nil' () ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4210:3: otherlv_0= 'nil' () { otherlv_0=(Token)match(input,78,FollowSets000.FOLLOW_78_in_ruleExpression_Nil9262); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExpression_NilAccess().getNilKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4214:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4215:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getExpression_NilAccess().getExpression_NilAction_1(), current); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_Nil" // $ANTLR start "entryRuleExpression_True" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4228:1: entryRuleExpression_True returns [EObject current=null] : iv_ruleExpression_True= ruleExpression_True EOF ; public final EObject entryRuleExpression_True() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_True = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4229:2: (iv_ruleExpression_True= ruleExpression_True EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4230:2: iv_ruleExpression_True= ruleExpression_True EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TrueRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_True_in_entryRuleExpression_True9307); iv_ruleExpression_True=ruleExpression_True(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_True; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_True9317); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_True" // $ANTLR start "ruleExpression_True" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4237:1: ruleExpression_True returns [EObject current=null] : (otherlv_0= 'true' () ) ; public final EObject ruleExpression_True() throws RecognitionException { EObject current = null; Token otherlv_0=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4240:28: ( (otherlv_0= 'true' () ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4241:1: (otherlv_0= 'true' () ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4241:1: (otherlv_0= 'true' () ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4241:3: otherlv_0= 'true' () { otherlv_0=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleExpression_True9354); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExpression_TrueAccess().getTrueKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4245:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4246:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getExpression_TrueAccess().getExpression_TrueAction_1(), current); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_True" // $ANTLR start "entryRuleExpression_False" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4259:1: entryRuleExpression_False returns [EObject current=null] : iv_ruleExpression_False= ruleExpression_False EOF ; public final EObject entryRuleExpression_False() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_False = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4260:2: (iv_ruleExpression_False= ruleExpression_False EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4261:2: iv_ruleExpression_False= ruleExpression_False EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_FalseRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_False_in_entryRuleExpression_False9399); iv_ruleExpression_False=ruleExpression_False(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_False; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_False9409); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_False" // $ANTLR start "ruleExpression_False" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4268:1: ruleExpression_False returns [EObject current=null] : (otherlv_0= 'false' () ) ; public final EObject ruleExpression_False() throws RecognitionException { EObject current = null; Token otherlv_0=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4271:28: ( (otherlv_0= 'false' () ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4272:1: (otherlv_0= 'false' () ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4272:1: (otherlv_0= 'false' () ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4272:3: otherlv_0= 'false' () { otherlv_0=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleExpression_False9446); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExpression_FalseAccess().getFalseKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4276:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4277:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getExpression_FalseAccess().getExpression_FalseAction_1(), current); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_False" // $ANTLR start "entryRuleExpression_Number" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4290:1: entryRuleExpression_Number returns [EObject current=null] : iv_ruleExpression_Number= ruleExpression_Number EOF ; public final EObject entryRuleExpression_Number() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_Number = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4291:2: (iv_ruleExpression_Number= ruleExpression_Number EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4292:2: iv_ruleExpression_Number= ruleExpression_Number EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_NumberRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Number_in_entryRuleExpression_Number9491); iv_ruleExpression_Number=ruleExpression_Number(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_Number; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_Number9501); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_Number" // $ANTLR start "ruleExpression_Number" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4299:1: ruleExpression_Number returns [EObject current=null] : ( (lv_value_0_0= RULE_DOUBLE ) ) ; public final EObject ruleExpression_Number() throws RecognitionException { EObject current = null; Token lv_value_0_0=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4302:28: ( ( (lv_value_0_0= RULE_DOUBLE ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4303:1: ( (lv_value_0_0= RULE_DOUBLE ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4303:1: ( (lv_value_0_0= RULE_DOUBLE ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4304:1: (lv_value_0_0= RULE_DOUBLE ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4304:1: (lv_value_0_0= RULE_DOUBLE ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4305:3: lv_value_0_0= RULE_DOUBLE { lv_value_0_0=(Token)match(input,RULE_DOUBLE,FollowSets000.FOLLOW_RULE_DOUBLE_in_ruleExpression_Number9542); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_0_0, grammarAccess.getExpression_NumberAccess().getValueDOUBLETerminalRuleCall_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExpression_NumberRule()); } setWithLastConsumed( current, "value", lv_value_0_0, "DOUBLE"); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_Number" // $ANTLR start "entryRuleExpression_VarArgs" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4329:1: entryRuleExpression_VarArgs returns [EObject current=null] : iv_ruleExpression_VarArgs= ruleExpression_VarArgs EOF ; public final EObject entryRuleExpression_VarArgs() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_VarArgs = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4330:2: (iv_ruleExpression_VarArgs= ruleExpression_VarArgs EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4331:2: iv_ruleExpression_VarArgs= ruleExpression_VarArgs EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_VarArgsRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_VarArgs_in_entryRuleExpression_VarArgs9582); iv_ruleExpression_VarArgs=ruleExpression_VarArgs(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_VarArgs; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_VarArgs9592); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_VarArgs" // $ANTLR start "ruleExpression_VarArgs" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4338:1: ruleExpression_VarArgs returns [EObject current=null] : (otherlv_0= '...' () ) ; public final EObject ruleExpression_VarArgs() throws RecognitionException { EObject current = null; Token otherlv_0=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4341:28: ( (otherlv_0= '...' () ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4342:1: (otherlv_0= '...' () ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4342:1: (otherlv_0= '...' () ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4342:3: otherlv_0= '...' () { otherlv_0=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleExpression_VarArgs9629); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExpression_VarArgsAccess().getFullStopFullStopFullStopKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4346:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4347:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getExpression_VarArgsAccess().getExpression_VarArgsAction_1(), current); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_VarArgs" // $ANTLR start "entryRuleExpression_String" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4360:1: entryRuleExpression_String returns [EObject current=null] : iv_ruleExpression_String= ruleExpression_String EOF ; public final EObject entryRuleExpression_String() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_String = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4361:2: (iv_ruleExpression_String= ruleExpression_String EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4362:2: iv_ruleExpression_String= ruleExpression_String EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_StringRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_String_in_entryRuleExpression_String9674); iv_ruleExpression_String=ruleExpression_String(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_String; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_String9684); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_String" // $ANTLR start "ruleExpression_String" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4369:1: ruleExpression_String returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; public final EObject ruleExpression_String() throws RecognitionException { EObject current = null; Token lv_value_0_0=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4372:28: ( ( (lv_value_0_0= RULE_STRING ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4373:1: ( (lv_value_0_0= RULE_STRING ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4373:1: ( (lv_value_0_0= RULE_STRING ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4374:1: (lv_value_0_0= RULE_STRING ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4374:1: (lv_value_0_0= RULE_STRING ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4375:3: lv_value_0_0= RULE_STRING { lv_value_0_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleExpression_String9725); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_0_0, grammarAccess.getExpression_StringAccess().getValueSTRINGTerminalRuleCall_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getExpression_StringRule()); } setWithLastConsumed( current, "value", lv_value_0_0, "STRING"); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_String" // $ANTLR start "entryRuleExpression_Function" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4399:1: entryRuleExpression_Function returns [EObject current=null] : iv_ruleExpression_Function= ruleExpression_Function EOF ; public final EObject entryRuleExpression_Function() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_Function = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4400:2: (iv_ruleExpression_Function= ruleExpression_Function EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4401:2: iv_ruleExpression_Function= ruleExpression_Function EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_FunctionRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Function_in_entryRuleExpression_Function9765); iv_ruleExpression_Function=ruleExpression_Function(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_Function; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_Function9775); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_Function" // $ANTLR start "ruleExpression_Function" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4408:1: ruleExpression_Function returns [EObject current=null] : (otherlv_0= 'function' ( (lv_function_1_0= ruleFunction ) ) otherlv_2= 'end' ) ; public final EObject ruleExpression_Function() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; EObject lv_function_1_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4411:28: ( (otherlv_0= 'function' ( (lv_function_1_0= ruleFunction ) ) otherlv_2= 'end' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4412:1: (otherlv_0= 'function' ( (lv_function_1_0= ruleFunction ) ) otherlv_2= 'end' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4412:1: (otherlv_0= 'function' ( (lv_function_1_0= ruleFunction ) ) otherlv_2= 'end' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4412:3: otherlv_0= 'function' ( (lv_function_1_0= ruleFunction ) ) otherlv_2= 'end' { otherlv_0=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleExpression_Function9812); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExpression_FunctionAccess().getFunctionKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4416:1: ( (lv_function_1_0= ruleFunction ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4417:1: (lv_function_1_0= ruleFunction ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4417:1: (lv_function_1_0= ruleFunction ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4418:3: lv_function_1_0= ruleFunction { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_FunctionAccess().getFunctionFunctionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleFunction_in_ruleExpression_Function9833); lv_function_1_0=ruleFunction(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_FunctionRule()); } set( current, "function", lv_function_1_0, "Function"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleExpression_Function9845); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getExpression_FunctionAccess().getEndKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_Function" // $ANTLR start "entryRuleExpression_TableConstructor" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4446:1: entryRuleExpression_TableConstructor returns [EObject current=null] : iv_ruleExpression_TableConstructor= ruleExpression_TableConstructor EOF ; public final EObject entryRuleExpression_TableConstructor() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_TableConstructor = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4447:2: (iv_ruleExpression_TableConstructor= ruleExpression_TableConstructor EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4448:2: iv_ruleExpression_TableConstructor= ruleExpression_TableConstructor EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TableConstructorRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_TableConstructor_in_entryRuleExpression_TableConstructor9881); iv_ruleExpression_TableConstructor=ruleExpression_TableConstructor(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_TableConstructor; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_TableConstructor9891); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_TableConstructor" // $ANTLR start "ruleExpression_TableConstructor" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4455:1: ruleExpression_TableConstructor returns [EObject current=null] : (otherlv_0= '{' () ( ( (lv_fields_2_0= ruleField ) ) ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) ; public final EObject ruleExpression_TableConstructor() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_3=null; Token otherlv_4=null; Token otherlv_6=null; Token otherlv_7=null; Token otherlv_8=null; EObject lv_fields_2_0 = null; EObject lv_fields_5_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4458:28: ( (otherlv_0= '{' () ( ( (lv_fields_2_0= ruleField ) ) ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4459:1: (otherlv_0= '{' () ( ( (lv_fields_2_0= ruleField ) ) ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4459:1: (otherlv_0= '{' () ( ( (lv_fields_2_0= ruleField ) ) ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4459:3: otherlv_0= '{' () ( ( (lv_fields_2_0= ruleField ) ) ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? otherlv_8= '}' { otherlv_0=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleExpression_TableConstructor9928); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExpression_TableConstructorAccess().getLeftCurlyBracketKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4463:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4464:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getExpression_TableConstructorAccess().getExpression_TableConstructorAction_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4469:2: ( ( (lv_fields_2_0= ruleField ) ) ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )? int alt66=2; int LA66_0 = input.LA(1); if ( (LA66_0==RULE_ID||(LA66_0>=RULE_DOUBLE && LA66_0<=RULE_STRING)||LA66_0==15||LA66_0==20||(LA66_0>=37 && LA66_0<=38)||LA66_0==42||LA66_0==57||LA66_0==71||(LA66_0>=75 && LA66_0<=76)||(LA66_0>=78 && LA66_0<=79)) ) { alt66=1; } switch (alt66) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4469:3: ( (lv_fields_2_0= ruleField ) ) ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4469:3: ( (lv_fields_2_0= ruleField ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4470:1: (lv_fields_2_0= ruleField ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4470:1: (lv_fields_2_0= ruleField ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4471:3: lv_fields_2_0= ruleField { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TableConstructorAccess().getFieldsFieldParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleField_in_ruleExpression_TableConstructor9959); lv_fields_2_0=ruleField(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_TableConstructorRule()); } add( current, "fields", lv_fields_2_0, "Field"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4487:2: ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )* loop64: do { int alt64=2; int LA64_0 = input.LA(1); if ( (LA64_0==21) ) { int LA64_1 = input.LA(2); if ( (LA64_1==RULE_ID||(LA64_1>=RULE_DOUBLE && LA64_1<=RULE_STRING)||LA64_1==15||LA64_1==20||(LA64_1>=37 && LA64_1<=38)||LA64_1==42||LA64_1==57||LA64_1==71||(LA64_1>=75 && LA64_1<=76)||(LA64_1>=78 && LA64_1<=79)) ) { alt64=1; } } else if ( (LA64_0==44) ) { int LA64_2 = input.LA(2); if ( (LA64_2==RULE_ID||(LA64_2>=RULE_DOUBLE && LA64_2<=RULE_STRING)||LA64_2==15||LA64_2==20||(LA64_2>=37 && LA64_2<=38)||LA64_2==42||LA64_2==57||LA64_2==71||(LA64_2>=75 && LA64_2<=76)||(LA64_2>=78 && LA64_2<=79)) ) { alt64=1; } } switch (alt64) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4487:3: (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4487:3: (otherlv_3= ',' | otherlv_4= ';' ) int alt63=2; int LA63_0 = input.LA(1); if ( (LA63_0==21) ) { alt63=1; } else if ( (LA63_0==44) ) { alt63=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 63, 0, input); throw nvae; } switch (alt63) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4487:5: otherlv_3= ',' { otherlv_3=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleExpression_TableConstructor9973); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getExpression_TableConstructorAccess().getCommaKeyword_2_1_0_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4492:7: otherlv_4= ';' { otherlv_4=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleExpression_TableConstructor9991); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getExpression_TableConstructorAccess().getSemicolonKeyword_2_1_0_1()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4496:2: ( (lv_fields_5_0= ruleField ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4497:1: (lv_fields_5_0= ruleField ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4497:1: (lv_fields_5_0= ruleField ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4498:3: lv_fields_5_0= ruleField { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_TableConstructorAccess().getFieldsFieldParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleField_in_ruleExpression_TableConstructor10013); lv_fields_5_0=ruleField(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_TableConstructorRule()); } add( current, "fields", lv_fields_5_0, "Field"); afterParserOrEnumRuleCall(); } } } } break; default : break loop64; } } while (true); // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4514:4: (otherlv_6= ',' | otherlv_7= ';' )? int alt65=3; int LA65_0 = input.LA(1); if ( (LA65_0==21) ) { alt65=1; } else if ( (LA65_0==44) ) { alt65=2; } switch (alt65) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4514:6: otherlv_6= ',' { otherlv_6=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleExpression_TableConstructor10028); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getExpression_TableConstructorAccess().getCommaKeyword_2_2_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4519:7: otherlv_7= ';' { otherlv_7=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleExpression_TableConstructor10046); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getExpression_TableConstructorAccess().getSemicolonKeyword_2_2_1()); } } break; } } break; } otherlv_8=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleExpression_TableConstructor10062); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getExpression_TableConstructorAccess().getRightCurlyBracketKeyword_3()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_TableConstructor" // $ANTLR start "entryRuleExpression_Functioncall" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4535:1: entryRuleExpression_Functioncall returns [EObject current=null] : iv_ruleExpression_Functioncall= ruleExpression_Functioncall EOF ; public final EObject entryRuleExpression_Functioncall() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_Functioncall = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4536:2: (iv_ruleExpression_Functioncall= ruleExpression_Functioncall EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4537:2: iv_ruleExpression_Functioncall= ruleExpression_Functioncall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_FunctioncallRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_Functioncall_in_entryRuleExpression_Functioncall10098); iv_ruleExpression_Functioncall=ruleExpression_Functioncall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_Functioncall; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_Functioncall10108); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_Functioncall" // $ANTLR start "ruleExpression_Functioncall" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4544:1: ruleExpression_Functioncall returns [EObject current=null] : (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= ruleValidID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )? ) ; public final EObject ruleExpression_Functioncall() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject this_Expression_AccessMemberOrArrayElement_0 = null; AntlrDatatypeRuleToken lv_memberFunctionName_3_0 = null; EObject lv_arguments_4_0 = null; EObject lv_arguments_6_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4547:28: ( (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= ruleValidID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4548:1: (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= ruleValidID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4548:1: (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= ruleValidID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4549:5: this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= ruleValidID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_FunctioncallAccess().getExpression_AccessMemberOrArrayElementParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_ruleExpression_Functioncall10155); this_Expression_AccessMemberOrArrayElement_0=ruleExpression_AccessMemberOrArrayElement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_AccessMemberOrArrayElement_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4557:1: ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= ruleValidID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )? int alt67=3; alt67 = dfa67.predict(input); switch (alt67) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4557:2: ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= ruleValidID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4557:2: ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= ruleValidID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4557:3: ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= ruleValidID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4557:3: ( ( ':' )=>otherlv_1= ':' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4557:4: ( ':' )=>otherlv_1= ':' { otherlv_1=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleExpression_Functioncall10176); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExpression_FunctioncallAccess().getColonKeyword_1_0_0()); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4562:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4563:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_FunctioncallAccess().getExpression_CallMemberFunctionObjectAction_1_0_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4568:2: ( (lv_memberFunctionName_3_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4569:1: (lv_memberFunctionName_3_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4569:1: (lv_memberFunctionName_3_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4570:3: lv_memberFunctionName_3_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_FunctioncallAccess().getMemberFunctionNameValidIDParserRuleCall_1_0_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleExpression_Functioncall10207); lv_memberFunctionName_3_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_FunctioncallRule()); } set( current, "memberFunctionName", lv_memberFunctionName_3_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4586:2: ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4587:1: (lv_arguments_4_0= ruleFunctioncall_Arguments ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4587:1: (lv_arguments_4_0= ruleFunctioncall_Arguments ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4588:3: lv_arguments_4_0= ruleFunctioncall_Arguments { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_FunctioncallAccess().getArgumentsFunctioncall_ArgumentsParserRuleCall_1_0_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleFunctioncall_Arguments_in_ruleExpression_Functioncall10228); lv_arguments_4_0=ruleFunctioncall_Arguments(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_FunctioncallRule()); } set( current, "arguments", lv_arguments_4_0, "Functioncall_Arguments"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4605:6: ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4605:6: ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4605:7: () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4605:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4606:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_FunctioncallAccess().getExpression_CallFunctionObjectAction_1_1_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4611:2: ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4612:1: (lv_arguments_6_0= ruleFunctioncall_Arguments ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4612:1: (lv_arguments_6_0= ruleFunctioncall_Arguments ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4613:3: lv_arguments_6_0= ruleFunctioncall_Arguments { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_FunctioncallAccess().getArgumentsFunctioncall_ArgumentsParserRuleCall_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleFunctioncall_Arguments_in_ruleExpression_Functioncall10266); lv_arguments_6_0=ruleFunctioncall_Arguments(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_FunctioncallRule()); } set( current, "arguments", lv_arguments_6_0, "Functioncall_Arguments"); afterParserOrEnumRuleCall(); } } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_Functioncall" // $ANTLR start "entryRuleExpression_AccessMemberOrArrayElement" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4637:1: entryRuleExpression_AccessMemberOrArrayElement returns [EObject current=null] : iv_ruleExpression_AccessMemberOrArrayElement= ruleExpression_AccessMemberOrArrayElement EOF ; public final EObject entryRuleExpression_AccessMemberOrArrayElement() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_AccessMemberOrArrayElement = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4638:2: (iv_ruleExpression_AccessMemberOrArrayElement= ruleExpression_AccessMemberOrArrayElement EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4639:2: iv_ruleExpression_AccessMemberOrArrayElement= ruleExpression_AccessMemberOrArrayElement EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_AccessMemberOrArrayElementRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_entryRuleExpression_AccessMemberOrArrayElement10305); iv_ruleExpression_AccessMemberOrArrayElement=ruleExpression_AccessMemberOrArrayElement(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_AccessMemberOrArrayElement; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_AccessMemberOrArrayElement10315); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_AccessMemberOrArrayElement" // $ANTLR start "ruleExpression_AccessMemberOrArrayElement" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4646:1: ruleExpression_AccessMemberOrArrayElement returns [EObject current=null] : (this_Expression_VariableName_0= ruleExpression_VariableName ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= ruleValidID ) ) ) )* ) ; public final EObject ruleExpression_AccessMemberOrArrayElement() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_4=null; Token otherlv_5=null; EObject this_Expression_VariableName_0 = null; EObject lv_index_3_0 = null; AntlrDatatypeRuleToken lv_memberName_7_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4649:28: ( (this_Expression_VariableName_0= ruleExpression_VariableName ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= ruleValidID ) ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4650:1: (this_Expression_VariableName_0= ruleExpression_VariableName ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= ruleValidID ) ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4650:1: (this_Expression_VariableName_0= ruleExpression_VariableName ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= ruleValidID ) ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4651:5: this_Expression_VariableName_0= ruleExpression_VariableName ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= ruleValidID ) ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getExpression_VariableNameParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_VariableName_in_ruleExpression_AccessMemberOrArrayElement10362); this_Expression_VariableName_0=ruleExpression_VariableName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_VariableName_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4659:1: ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= ruleValidID ) ) ) )* loop68: do { int alt68=3; int LA68_0 = input.LA(1); if ( (LA68_0==42) ) { alt68=1; } else if ( (LA68_0==58) ) { alt68=2; } switch (alt68) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4659:2: (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4659:2: (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4659:4: otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' { otherlv_1=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleExpression_AccessMemberOrArrayElement10375); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getLeftSquareBracketKeyword_1_0_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4663:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4664:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getExpression_AccessArrayArrayAction_1_0_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4669:2: ( (lv_index_3_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4670:1: (lv_index_3_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4670:1: (lv_index_3_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4671:3: lv_index_3_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getIndexExpressionParserRuleCall_1_0_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleExpression_AccessMemberOrArrayElement10405); lv_index_3_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_AccessMemberOrArrayElementRule()); } set( current, "index", lv_index_3_0, "Expression"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleExpression_AccessMemberOrArrayElement10417); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getRightSquareBracketKeyword_1_0_3()); } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4692:6: (otherlv_5= '.' () ( (lv_memberName_7_0= ruleValidID ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4692:6: (otherlv_5= '.' () ( (lv_memberName_7_0= ruleValidID ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4692:8: otherlv_5= '.' () ( (lv_memberName_7_0= ruleValidID ) ) { otherlv_5=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleExpression_AccessMemberOrArrayElement10437); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getFullStopKeyword_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4696:1: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4697:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getExpression_AccessMemberObjectAction_1_1_1(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4702:2: ( (lv_memberName_7_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4703:1: (lv_memberName_7_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4703:1: (lv_memberName_7_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4704:3: lv_memberName_7_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getMemberNameValidIDParserRuleCall_1_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleExpression_AccessMemberOrArrayElement10467); lv_memberName_7_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_AccessMemberOrArrayElementRule()); } set( current, "memberName", lv_memberName_7_0, "ValidID"); afterParserOrEnumRuleCall(); } } } } } break; default : break loop68; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_AccessMemberOrArrayElement" // $ANTLR start "entryRuleExpression_VariableName" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4728:1: entryRuleExpression_VariableName returns [EObject current=null] : iv_ruleExpression_VariableName= ruleExpression_VariableName EOF ; public final EObject entryRuleExpression_VariableName() throws RecognitionException { EObject current = null; EObject iv_ruleExpression_VariableName = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4729:2: (iv_ruleExpression_VariableName= ruleExpression_VariableName EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4730:2: iv_ruleExpression_VariableName= ruleExpression_VariableName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_VariableNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_VariableName_in_entryRuleExpression_VariableName10506); iv_ruleExpression_VariableName=ruleExpression_VariableName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleExpression_VariableName; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression_VariableName10516); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleExpression_VariableName" // $ANTLR start "ruleExpression_VariableName" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4737:1: ruleExpression_VariableName returns [EObject current=null] : ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () ( (lv_variable_4_0= ruleValidID ) ) ) ) ; public final EObject ruleExpression_VariableName() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; EObject this_Expression_1 = null; AntlrDatatypeRuleToken lv_variable_4_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4740:28: ( ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () ( (lv_variable_4_0= ruleValidID ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4741:1: ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () ( (lv_variable_4_0= ruleValidID ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4741:1: ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () ( (lv_variable_4_0= ruleValidID ) ) ) ) int alt69=2; int LA69_0 = input.LA(1); if ( (LA69_0==20) ) { alt69=1; } else if ( (LA69_0==RULE_ID) ) { alt69=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 69, 0, input); throw nvae; } switch (alt69) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4741:2: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4741:2: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4741:4: otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' { otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleExpression_VariableName10554); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getExpression_VariableNameAccess().getLeftParenthesisKeyword_0_0()); } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_VariableNameAccess().getExpressionParserRuleCall_0_1()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleExpression_VariableName10576); this_Expression_1=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Expression_1; afterParserOrEnumRuleCall(); } otherlv_2=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleExpression_VariableName10587); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getExpression_VariableNameAccess().getRightParenthesisKeyword_0_2()); } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4759:6: ( () ( (lv_variable_4_0= ruleValidID ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4759:6: ( () ( (lv_variable_4_0= ruleValidID ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4759:7: () ( (lv_variable_4_0= ruleValidID ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4759:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4760:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getExpression_VariableNameAccess().getExpression_VariableNameAction_1_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4765:2: ( (lv_variable_4_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4766:1: (lv_variable_4_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4766:1: (lv_variable_4_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4767:3: lv_variable_4_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getExpression_VariableNameAccess().getVariableValidIDParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleExpression_VariableName10625); lv_variable_4_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getExpression_VariableNameRule()); } set( current, "variable", lv_variable_4_0, "ValidID"); afterParserOrEnumRuleCall(); } } } } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleExpression_VariableName" // $ANTLR start "entryRuleFunction" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4791:1: entryRuleFunction returns [EObject current=null] : iv_ruleFunction= ruleFunction EOF ; public final EObject entryRuleFunction() throws RecognitionException { EObject current = null; EObject iv_ruleFunction = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4792:2: (iv_ruleFunction= ruleFunction EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4793:2: iv_ruleFunction= ruleFunction EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctionRule()); } pushFollow(FollowSets000.FOLLOW_ruleFunction_in_entryRuleFunction10662); iv_ruleFunction=ruleFunction(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFunction; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFunction10672); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFunction" // $ANTLR start "ruleFunction" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4800:1: ruleFunction returns [EObject current=null] : (otherlv_0= '(' ( ( (lv_parameters_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= ruleValidID ) ) )* (otherlv_4= ',' )? )? ( (lv_varArgs_5_0= '...' ) )? otherlv_6= ')' ( (lv_body_7_0= ruleBlock ) ) ) ; public final EObject ruleFunction() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_4=null; Token lv_varArgs_5_0=null; Token otherlv_6=null; AntlrDatatypeRuleToken lv_parameters_1_0 = null; AntlrDatatypeRuleToken lv_parameters_3_0 = null; EObject lv_body_7_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4803:28: ( (otherlv_0= '(' ( ( (lv_parameters_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= ruleValidID ) ) )* (otherlv_4= ',' )? )? ( (lv_varArgs_5_0= '...' ) )? otherlv_6= ')' ( (lv_body_7_0= ruleBlock ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4804:1: (otherlv_0= '(' ( ( (lv_parameters_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= ruleValidID ) ) )* (otherlv_4= ',' )? )? ( (lv_varArgs_5_0= '...' ) )? otherlv_6= ')' ( (lv_body_7_0= ruleBlock ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4804:1: (otherlv_0= '(' ( ( (lv_parameters_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= ruleValidID ) ) )* (otherlv_4= ',' )? )? ( (lv_varArgs_5_0= '...' ) )? otherlv_6= ')' ( (lv_body_7_0= ruleBlock ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4804:3: otherlv_0= '(' ( ( (lv_parameters_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= ruleValidID ) ) )* (otherlv_4= ',' )? )? ( (lv_varArgs_5_0= '...' ) )? otherlv_6= ')' ( (lv_body_7_0= ruleBlock ) ) { otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleFunction10709); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4808:1: ( ( (lv_parameters_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= ruleValidID ) ) )* (otherlv_4= ',' )? )? int alt72=2; int LA72_0 = input.LA(1); if ( (LA72_0==RULE_ID) ) { alt72=1; } switch (alt72) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4808:2: ( (lv_parameters_1_0= ruleValidID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= ruleValidID ) ) )* (otherlv_4= ',' )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4808:2: ( (lv_parameters_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4809:1: (lv_parameters_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4809:1: (lv_parameters_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4810:3: lv_parameters_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctionAccess().getParametersValidIDParserRuleCall_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleFunction10731); lv_parameters_1_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getFunctionRule()); } add( current, "parameters", lv_parameters_1_0, "ValidID"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4826:2: (otherlv_2= ',' ( (lv_parameters_3_0= ruleValidID ) ) )* loop70: do { int alt70=2; int LA70_0 = input.LA(1); if ( (LA70_0==21) ) { int LA70_1 = input.LA(2); if ( (LA70_1==RULE_ID) ) { alt70=1; } } switch (alt70) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4826:4: otherlv_2= ',' ( (lv_parameters_3_0= ruleValidID ) ) { otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleFunction10744); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getFunctionAccess().getCommaKeyword_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4830:1: ( (lv_parameters_3_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4831:1: (lv_parameters_3_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4831:1: (lv_parameters_3_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4832:3: lv_parameters_3_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctionAccess().getParametersValidIDParserRuleCall_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleFunction10765); lv_parameters_3_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getFunctionRule()); } add( current, "parameters", lv_parameters_3_0, "ValidID"); afterParserOrEnumRuleCall(); } } } } break; default : break loop70; } } while (true); // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4848:4: (otherlv_4= ',' )? int alt71=2; int LA71_0 = input.LA(1); if ( (LA71_0==21) ) { alt71=1; } switch (alt71) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4848:6: otherlv_4= ',' { otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleFunction10780); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getFunctionAccess().getCommaKeyword_1_2()); } } break; } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4852:5: ( (lv_varArgs_5_0= '...' ) )? int alt73=2; int LA73_0 = input.LA(1); if ( (LA73_0==79) ) { alt73=1; } switch (alt73) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4853:1: (lv_varArgs_5_0= '...' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4853:1: (lv_varArgs_5_0= '...' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4854:3: lv_varArgs_5_0= '...' { lv_varArgs_5_0=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleFunction10802); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_varArgs_5_0, grammarAccess.getFunctionAccess().getVarArgsFullStopFullStopFullStopKeyword_2_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getFunctionRule()); } setWithLastConsumed(current, "varArgs", true, "..."); } } } break; } otherlv_6=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleFunction10828); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4871:1: ( (lv_body_7_0= ruleBlock ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4872:1: (lv_body_7_0= ruleBlock ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4872:1: (lv_body_7_0= ruleBlock ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4873:3: lv_body_7_0= ruleBlock { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctionAccess().getBodyBlockParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleFunction10849); lv_body_7_0=ruleBlock(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getFunctionRule()); } set( current, "body", lv_body_7_0, "Block"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFunction" // $ANTLR start "entryRuleFunctioncall_Arguments" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4897:1: entryRuleFunctioncall_Arguments returns [EObject current=null] : iv_ruleFunctioncall_Arguments= ruleFunctioncall_Arguments EOF ; public final EObject entryRuleFunctioncall_Arguments() throws RecognitionException { EObject current = null; EObject iv_ruleFunctioncall_Arguments = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4898:2: (iv_ruleFunctioncall_Arguments= ruleFunctioncall_Arguments EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4899:2: iv_ruleFunctioncall_Arguments= ruleFunctioncall_Arguments EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctioncall_ArgumentsRule()); } pushFollow(FollowSets000.FOLLOW_ruleFunctioncall_Arguments_in_entryRuleFunctioncall_Arguments10885); iv_ruleFunctioncall_Arguments=ruleFunctioncall_Arguments(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFunctioncall_Arguments; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFunctioncall_Arguments10895); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFunctioncall_Arguments" // $ANTLR start "ruleFunctioncall_Arguments" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4906:1: ruleFunctioncall_Arguments returns [EObject current=null] : ( () ( (otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' ) | ( (lv_arguments_6_0= ruleExpression_TableConstructor ) ) | ( (lv_arguments_7_0= ruleExpression_String ) ) ) ) ; public final EObject ruleFunctioncall_Arguments() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; EObject lv_arguments_2_0 = null; EObject lv_arguments_4_0 = null; EObject lv_arguments_6_0 = null; EObject lv_arguments_7_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4909:28: ( ( () ( (otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' ) | ( (lv_arguments_6_0= ruleExpression_TableConstructor ) ) | ( (lv_arguments_7_0= ruleExpression_String ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4910:1: ( () ( (otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' ) | ( (lv_arguments_6_0= ruleExpression_TableConstructor ) ) | ( (lv_arguments_7_0= ruleExpression_String ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4910:1: ( () ( (otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' ) | ( (lv_arguments_6_0= ruleExpression_TableConstructor ) ) | ( (lv_arguments_7_0= ruleExpression_String ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4910:2: () ( (otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' ) | ( (lv_arguments_6_0= ruleExpression_TableConstructor ) ) | ( (lv_arguments_7_0= ruleExpression_String ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4910:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4911:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getFunctioncall_ArgumentsAccess().getFunctioncall_ArgumentsAction_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4916:2: ( (otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' ) | ( (lv_arguments_6_0= ruleExpression_TableConstructor ) ) | ( (lv_arguments_7_0= ruleExpression_String ) ) ) int alt76=3; switch ( input.LA(1) ) { case 20: { alt76=1; } break; case 15: { alt76=2; } break; case RULE_STRING: { alt76=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 76, 0, input); throw nvae; } switch (alt76) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4916:3: (otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4916:3: (otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4916:5: otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' { otherlv_1=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleFunctioncall_Arguments10943); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getFunctioncall_ArgumentsAccess().getLeftParenthesisKeyword_1_0_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4920:1: ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? int alt75=2; int LA75_0 = input.LA(1); if ( (LA75_0==RULE_ID||(LA75_0>=RULE_DOUBLE && LA75_0<=RULE_STRING)||LA75_0==15||LA75_0==20||(LA75_0>=37 && LA75_0<=38)||LA75_0==57||LA75_0==71||(LA75_0>=75 && LA75_0<=76)||(LA75_0>=78 && LA75_0<=79)) ) { alt75=1; } switch (alt75) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4920:2: ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4920:2: ( (lv_arguments_2_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4921:1: (lv_arguments_2_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4921:1: (lv_arguments_2_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4922:3: lv_arguments_2_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctioncall_ArgumentsAccess().getArgumentsExpressionParserRuleCall_1_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleFunctioncall_Arguments10965); lv_arguments_2_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getFunctioncall_ArgumentsRule()); } add( current, "arguments", lv_arguments_2_0, "Expression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4938:2: (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* loop74: do { int alt74=2; int LA74_0 = input.LA(1); if ( (LA74_0==21) ) { alt74=1; } switch (alt74) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4938:4: otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) { otherlv_3=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleFunctioncall_Arguments10978); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getFunctioncall_ArgumentsAccess().getCommaKeyword_1_0_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4942:1: ( (lv_arguments_4_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4943:1: (lv_arguments_4_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4943:1: (lv_arguments_4_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4944:3: lv_arguments_4_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctioncall_ArgumentsAccess().getArgumentsExpressionParserRuleCall_1_0_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleFunctioncall_Arguments10999); lv_arguments_4_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getFunctioncall_ArgumentsRule()); } add( current, "arguments", lv_arguments_4_0, "Expression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop74; } } while (true); } break; } otherlv_5=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleFunctioncall_Arguments11015); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getFunctioncall_ArgumentsAccess().getRightParenthesisKeyword_1_0_2()); } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4965:6: ( (lv_arguments_6_0= ruleExpression_TableConstructor ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4965:6: ( (lv_arguments_6_0= ruleExpression_TableConstructor ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4966:1: (lv_arguments_6_0= ruleExpression_TableConstructor ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4966:1: (lv_arguments_6_0= ruleExpression_TableConstructor ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4967:3: lv_arguments_6_0= ruleExpression_TableConstructor { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctioncall_ArgumentsAccess().getArgumentsExpression_TableConstructorParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_TableConstructor_in_ruleFunctioncall_Arguments11043); lv_arguments_6_0=ruleExpression_TableConstructor(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getFunctioncall_ArgumentsRule()); } add( current, "arguments", lv_arguments_6_0, "Expression_TableConstructor"); afterParserOrEnumRuleCall(); } } } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4984:6: ( (lv_arguments_7_0= ruleExpression_String ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4984:6: ( (lv_arguments_7_0= ruleExpression_String ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4985:1: (lv_arguments_7_0= ruleExpression_String ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4985:1: (lv_arguments_7_0= ruleExpression_String ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4986:3: lv_arguments_7_0= ruleExpression_String { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFunctioncall_ArgumentsAccess().getArgumentsExpression_StringParserRuleCall_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_String_in_ruleFunctioncall_Arguments11070); lv_arguments_7_0=ruleExpression_String(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getFunctioncall_ArgumentsRule()); } add( current, "arguments", lv_arguments_7_0, "Expression_String"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFunctioncall_Arguments" // $ANTLR start "entryRuleField" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5010:1: entryRuleField returns [EObject current=null] : iv_ruleField= ruleField EOF ; public final EObject entryRuleField() throws RecognitionException { EObject current = null; EObject iv_ruleField = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5011:2: (iv_ruleField= ruleField EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5012:2: iv_ruleField= ruleField EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFieldRule()); } pushFollow(FollowSets000.FOLLOW_ruleField_in_entryRuleField11107); iv_ruleField=ruleField(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleField; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleField11117); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleField" // $ANTLR start "ruleField" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5019:1: ruleField returns [EObject current=null] : (this_Field_AddEntryToTable_Brackets_0= ruleField_AddEntryToTable_Brackets | this_Field_AddEntryToTable_1= ruleField_AddEntryToTable | this_Field_AppendEntryToTable_2= ruleField_AppendEntryToTable ) ; public final EObject ruleField() throws RecognitionException { EObject current = null; EObject this_Field_AddEntryToTable_Brackets_0 = null; EObject this_Field_AddEntryToTable_1 = null; EObject this_Field_AppendEntryToTable_2 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5022:28: ( (this_Field_AddEntryToTable_Brackets_0= ruleField_AddEntryToTable_Brackets | this_Field_AddEntryToTable_1= ruleField_AddEntryToTable | this_Field_AppendEntryToTable_2= ruleField_AppendEntryToTable ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5023:1: (this_Field_AddEntryToTable_Brackets_0= ruleField_AddEntryToTable_Brackets | this_Field_AddEntryToTable_1= ruleField_AddEntryToTable | this_Field_AppendEntryToTable_2= ruleField_AppendEntryToTable ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5023:1: (this_Field_AddEntryToTable_Brackets_0= ruleField_AddEntryToTable_Brackets | this_Field_AddEntryToTable_1= ruleField_AddEntryToTable | this_Field_AppendEntryToTable_2= ruleField_AppendEntryToTable ) int alt77=3; switch ( input.LA(1) ) { case 42: { alt77=1; } break; case RULE_ID: { int LA77_2 = input.LA(2); if ( (LA77_2==EOF||LA77_2==RULE_STRING||(LA77_2>=15 && LA77_2<=16)||(LA77_2>=20 && LA77_2<=21)||LA77_2==42||LA77_2==44||(LA77_2>=58 && LA77_2<=59)||(LA77_2>=61 && LA77_2<=74)||LA77_2==77) ) { alt77=3; } else if ( (LA77_2==35) ) { alt77=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 77, 2, input); throw nvae; } } break; case RULE_DOUBLE: case RULE_STRING: case 15: case 20: case 37: case 38: case 57: case 71: case 75: case 76: case 78: case 79: { alt77=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 77, 0, input); throw nvae; } switch (alt77) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5024:5: this_Field_AddEntryToTable_Brackets_0= ruleField_AddEntryToTable_Brackets { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFieldAccess().getField_AddEntryToTable_BracketsParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleField_AddEntryToTable_Brackets_in_ruleField11164); this_Field_AddEntryToTable_Brackets_0=ruleField_AddEntryToTable_Brackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Field_AddEntryToTable_Brackets_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5034:5: this_Field_AddEntryToTable_1= ruleField_AddEntryToTable { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFieldAccess().getField_AddEntryToTableParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleField_AddEntryToTable_in_ruleField11191); this_Field_AddEntryToTable_1=ruleField_AddEntryToTable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Field_AddEntryToTable_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5044:5: this_Field_AppendEntryToTable_2= ruleField_AppendEntryToTable { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFieldAccess().getField_AppendEntryToTableParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleField_AppendEntryToTable_in_ruleField11218); this_Field_AppendEntryToTable_2=ruleField_AppendEntryToTable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_Field_AppendEntryToTable_2; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleField" // $ANTLR start "entryRuleField_AddEntryToTable_Brackets" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5060:1: entryRuleField_AddEntryToTable_Brackets returns [EObject current=null] : iv_ruleField_AddEntryToTable_Brackets= ruleField_AddEntryToTable_Brackets EOF ; public final EObject entryRuleField_AddEntryToTable_Brackets() throws RecognitionException { EObject current = null; EObject iv_ruleField_AddEntryToTable_Brackets = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5061:2: (iv_ruleField_AddEntryToTable_Brackets= ruleField_AddEntryToTable_Brackets EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5062:2: iv_ruleField_AddEntryToTable_Brackets= ruleField_AddEntryToTable_Brackets EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getField_AddEntryToTable_BracketsRule()); } pushFollow(FollowSets000.FOLLOW_ruleField_AddEntryToTable_Brackets_in_entryRuleField_AddEntryToTable_Brackets11253); iv_ruleField_AddEntryToTable_Brackets=ruleField_AddEntryToTable_Brackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleField_AddEntryToTable_Brackets; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleField_AddEntryToTable_Brackets11263); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleField_AddEntryToTable_Brackets" // $ANTLR start "ruleField_AddEntryToTable_Brackets" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5069:1: ruleField_AddEntryToTable_Brackets returns [EObject current=null] : (otherlv_0= '[' ( (lv_indexExpression_1_0= ruleExpression ) ) otherlv_2= ']' otherlv_3= '=' ( (lv_value_4_0= ruleExpression ) ) ) ; public final EObject ruleField_AddEntryToTable_Brackets() throws RecognitionException { EObject current = null; Token otherlv_0=null; Token otherlv_2=null; Token otherlv_3=null; EObject lv_indexExpression_1_0 = null; EObject lv_value_4_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5072:28: ( (otherlv_0= '[' ( (lv_indexExpression_1_0= ruleExpression ) ) otherlv_2= ']' otherlv_3= '=' ( (lv_value_4_0= ruleExpression ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5073:1: (otherlv_0= '[' ( (lv_indexExpression_1_0= ruleExpression ) ) otherlv_2= ']' otherlv_3= '=' ( (lv_value_4_0= ruleExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5073:1: (otherlv_0= '[' ( (lv_indexExpression_1_0= ruleExpression ) ) otherlv_2= ']' otherlv_3= '=' ( (lv_value_4_0= ruleExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5073:3: otherlv_0= '[' ( (lv_indexExpression_1_0= ruleExpression ) ) otherlv_2= ']' otherlv_3= '=' ( (lv_value_4_0= ruleExpression ) ) { otherlv_0=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleField_AddEntryToTable_Brackets11300); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getField_AddEntryToTable_BracketsAccess().getLeftSquareBracketKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5077:1: ( (lv_indexExpression_1_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5078:1: (lv_indexExpression_1_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5078:1: (lv_indexExpression_1_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5079:3: lv_indexExpression_1_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getField_AddEntryToTable_BracketsAccess().getIndexExpressionExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleField_AddEntryToTable_Brackets11321); lv_indexExpression_1_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getField_AddEntryToTable_BracketsRule()); } set( current, "indexExpression", lv_indexExpression_1_0, "Expression"); afterParserOrEnumRuleCall(); } } } otherlv_2=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleField_AddEntryToTable_Brackets11333); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getField_AddEntryToTable_BracketsAccess().getRightSquareBracketKeyword_2()); } otherlv_3=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleField_AddEntryToTable_Brackets11345); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getField_AddEntryToTable_BracketsAccess().getEqualsSignKeyword_3()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5103:1: ( (lv_value_4_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5104:1: (lv_value_4_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5104:1: (lv_value_4_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5105:3: lv_value_4_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getField_AddEntryToTable_BracketsAccess().getValueExpressionParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleField_AddEntryToTable_Brackets11366); lv_value_4_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getField_AddEntryToTable_BracketsRule()); } set( current, "value", lv_value_4_0, "Expression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleField_AddEntryToTable_Brackets" // $ANTLR start "entryRuleField_AddEntryToTable" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5129:1: entryRuleField_AddEntryToTable returns [EObject current=null] : iv_ruleField_AddEntryToTable= ruleField_AddEntryToTable EOF ; public final EObject entryRuleField_AddEntryToTable() throws RecognitionException { EObject current = null; EObject iv_ruleField_AddEntryToTable = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5130:2: (iv_ruleField_AddEntryToTable= ruleField_AddEntryToTable EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5131:2: iv_ruleField_AddEntryToTable= ruleField_AddEntryToTable EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getField_AddEntryToTableRule()); } pushFollow(FollowSets000.FOLLOW_ruleField_AddEntryToTable_in_entryRuleField_AddEntryToTable11402); iv_ruleField_AddEntryToTable=ruleField_AddEntryToTable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleField_AddEntryToTable; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleField_AddEntryToTable11412); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleField_AddEntryToTable" // $ANTLR start "ruleField_AddEntryToTable" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5138:1: ruleField_AddEntryToTable returns [EObject current=null] : ( ( (lv_key_0_0= ruleValidID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) ; public final EObject ruleField_AddEntryToTable() throws RecognitionException { EObject current = null; Token otherlv_1=null; AntlrDatatypeRuleToken lv_key_0_0 = null; EObject lv_value_2_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5141:28: ( ( ( (lv_key_0_0= ruleValidID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5142:1: ( ( (lv_key_0_0= ruleValidID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5142:1: ( ( (lv_key_0_0= ruleValidID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5142:2: ( (lv_key_0_0= ruleValidID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5142:2: ( (lv_key_0_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5143:1: (lv_key_0_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5143:1: (lv_key_0_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5144:3: lv_key_0_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getField_AddEntryToTableAccess().getKeyValidIDParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleField_AddEntryToTable11458); lv_key_0_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getField_AddEntryToTableRule()); } set( current, "key", lv_key_0_0, "ValidID"); afterParserOrEnumRuleCall(); } } } otherlv_1=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleField_AddEntryToTable11470); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getField_AddEntryToTableAccess().getEqualsSignKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5164:1: ( (lv_value_2_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5165:1: (lv_value_2_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5165:1: (lv_value_2_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5166:3: lv_value_2_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getField_AddEntryToTableAccess().getValueExpressionParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleField_AddEntryToTable11491); lv_value_2_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getField_AddEntryToTableRule()); } set( current, "value", lv_value_2_0, "Expression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleField_AddEntryToTable" // $ANTLR start "entryRuleField_AppendEntryToTable" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5190:1: entryRuleField_AppendEntryToTable returns [EObject current=null] : iv_ruleField_AppendEntryToTable= ruleField_AppendEntryToTable EOF ; public final EObject entryRuleField_AppendEntryToTable() throws RecognitionException { EObject current = null; EObject iv_ruleField_AppendEntryToTable = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5191:2: (iv_ruleField_AppendEntryToTable= ruleField_AppendEntryToTable EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5192:2: iv_ruleField_AppendEntryToTable= ruleField_AppendEntryToTable EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getField_AppendEntryToTableRule()); } pushFollow(FollowSets000.FOLLOW_ruleField_AppendEntryToTable_in_entryRuleField_AppendEntryToTable11527); iv_ruleField_AppendEntryToTable=ruleField_AppendEntryToTable(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleField_AppendEntryToTable; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleField_AppendEntryToTable11537); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleField_AppendEntryToTable" // $ANTLR start "ruleField_AppendEntryToTable" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5199:1: ruleField_AppendEntryToTable returns [EObject current=null] : ( (lv_value_0_0= ruleExpression ) ) ; public final EObject ruleField_AppendEntryToTable() throws RecognitionException { EObject current = null; EObject lv_value_0_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5202:28: ( ( (lv_value_0_0= ruleExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5203:1: ( (lv_value_0_0= ruleExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5203:1: ( (lv_value_0_0= ruleExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5204:1: (lv_value_0_0= ruleExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5204:1: (lv_value_0_0= ruleExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5205:3: lv_value_0_0= ruleExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getField_AppendEntryToTableAccess().getValueExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleField_AppendEntryToTable11582); lv_value_0_0=ruleExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getField_AppendEntryToTableRule()); } set( current, "value", lv_value_0_0, "Expression"); afterParserOrEnumRuleCall(); } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleField_AppendEntryToTable" // $ANTLR start "entryRuleXExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5229:1: entryRuleXExpression returns [EObject current=null] : iv_ruleXExpression= ruleXExpression EOF ; public final EObject entryRuleXExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5230:2: (iv_ruleXExpression= ruleXExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5231:2: iv_ruleXExpression= ruleXExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_entryRuleXExpression11617); iv_ruleXExpression=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXExpression11627); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXExpression" // $ANTLR start "ruleXExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5238: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5241:28: (this_XAssignment_0= ruleXAssignment ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5243:5: this_XAssignment_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionAccess().getXAssignmentParserRuleCall()); } pushFollow(FollowSets000.FOLLOW_ruleXAssignment_in_ruleXExpression11673); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5259:1: entryRuleXAssignment returns [EObject current=null] : iv_ruleXAssignment= ruleXAssignment EOF ; public final EObject entryRuleXAssignment() throws RecognitionException { EObject current = null; EObject iv_ruleXAssignment = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5260:2: (iv_ruleXAssignment= ruleXAssignment EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5261:2: iv_ruleXAssignment= ruleXAssignment EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentRule()); } pushFollow(FollowSets000.FOLLOW_ruleXAssignment_in_entryRuleXAssignment11707); iv_ruleXAssignment=ruleXAssignment(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAssignment; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXAssignment11717); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAssignment" // $ANTLR start "ruleXAssignment" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5268: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5271:28: ( ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5272:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5272:1: ( ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) | (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) ) int alt79=2; switch ( input.LA(1) ) { case RULE_ID: { int LA79_1 = input.LA(2); if ( (LA79_1==35) ) { alt79=1; } else if ( (LA79_1==EOF||(LA79_1>=RULE_ID && LA79_1<=RULE_INT)||(LA79_1>=RULE_STRING && LA79_1<=RULE_DECIMAL)||(LA79_1>=15 && LA79_1<=16)||(LA79_1>=20 && LA79_1<=22)||(LA79_1>=37 && LA79_1<=38)||(LA79_1>=42 && LA79_1<=45)||LA79_1==47||LA79_1==49||LA79_1==52||LA79_1==54||LA79_1==56||(LA79_1>=58 && LA79_1<=59)||(LA79_1>=63 && LA79_1<=65)||LA79_1==67||(LA79_1>=69 && LA79_1<=74)||LA79_1==76||(LA79_1>=80 && LA79_1<=102)||(LA79_1>=104 && LA79_1<=121)) ) { alt79=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 79, 1, input); throw nvae; } } break; case 109: { int LA79_2 = input.LA(2); if ( (LA79_2==35) ) { alt79=1; } else if ( (LA79_2==EOF||(LA79_2>=RULE_ID && LA79_2<=RULE_INT)||(LA79_2>=RULE_STRING && LA79_2<=RULE_DECIMAL)||(LA79_2>=15 && LA79_2<=16)||(LA79_2>=20 && LA79_2<=22)||(LA79_2>=37 && LA79_2<=38)||(LA79_2>=42 && LA79_2<=45)||LA79_2==47||LA79_2==49||LA79_2==52||LA79_2==54||LA79_2==56||(LA79_2>=58 && LA79_2<=59)||(LA79_2>=63 && LA79_2<=65)||LA79_2==67||(LA79_2>=69 && LA79_2<=74)||LA79_2==76||(LA79_2>=80 && LA79_2<=102)||(LA79_2>=104 && LA79_2<=121)) ) { alt79=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 79, 2, input); throw nvae; } } break; case 110: { int LA79_3 = input.LA(2); if ( (LA79_3==35) ) { alt79=1; } else if ( (LA79_3==EOF||(LA79_3>=RULE_ID && LA79_3<=RULE_INT)||(LA79_3>=RULE_STRING && LA79_3<=RULE_DECIMAL)||(LA79_3>=15 && LA79_3<=16)||(LA79_3>=20 && LA79_3<=22)||(LA79_3>=37 && LA79_3<=38)||(LA79_3>=42 && LA79_3<=45)||LA79_3==47||LA79_3==49||LA79_3==52||LA79_3==54||LA79_3==56||(LA79_3>=58 && LA79_3<=59)||(LA79_3>=63 && LA79_3<=65)||LA79_3==67||(LA79_3>=69 && LA79_3<=74)||LA79_3==76||(LA79_3>=80 && LA79_3<=102)||(LA79_3>=104 && LA79_3<=121)) ) { alt79=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 79, 3, input); throw nvae; } } break; case 111: { int LA79_4 = input.LA(2); if ( (LA79_4==35) ) { alt79=1; } else if ( (LA79_4==EOF||(LA79_4>=RULE_ID && LA79_4<=RULE_INT)||(LA79_4>=RULE_STRING && LA79_4<=RULE_DECIMAL)||(LA79_4>=15 && LA79_4<=16)||(LA79_4>=20 && LA79_4<=22)||(LA79_4>=37 && LA79_4<=38)||(LA79_4>=42 && LA79_4<=45)||LA79_4==47||LA79_4==49||LA79_4==52||LA79_4==54||LA79_4==56||(LA79_4>=58 && LA79_4<=59)||(LA79_4>=63 && LA79_4<=65)||LA79_4==67||(LA79_4>=69 && LA79_4<=74)||LA79_4==76||(LA79_4>=80 && LA79_4<=102)||(LA79_4>=104 && LA79_4<=121)) ) { alt79=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 79, 4, input); throw nvae; } } break; case 112: { int LA79_5 = input.LA(2); if ( (LA79_5==EOF||(LA79_5>=RULE_ID && LA79_5<=RULE_INT)||(LA79_5>=RULE_STRING && LA79_5<=RULE_DECIMAL)||(LA79_5>=15 && LA79_5<=16)||(LA79_5>=20 && LA79_5<=22)||(LA79_5>=37 && LA79_5<=38)||(LA79_5>=42 && LA79_5<=45)||LA79_5==47||LA79_5==49||LA79_5==52||LA79_5==54||LA79_5==56||(LA79_5>=58 && LA79_5<=59)||(LA79_5>=63 && LA79_5<=65)||LA79_5==67||(LA79_5>=69 && LA79_5<=74)||LA79_5==76||(LA79_5>=80 && LA79_5<=102)||(LA79_5>=104 && LA79_5<=121)) ) { alt79=2; } else if ( (LA79_5==35) ) { alt79=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 79, 5, input); throw nvae; } } break; case RULE_INT: case RULE_STRING: case RULE_HEX: case RULE_DECIMAL: case 15: case 20: case 37: case 38: case 42: case 45: case 47: case 49: case 52: case 56: case 65: case 70: case 71: case 76: case 97: case 104: case 113: case 114: case 115: case 116: case 117: case 118: case 120: { alt79=2; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 79, 0, input); throw nvae; } switch (alt79) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5272:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5272:2: ( () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5272:3: () ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ( (lv_value_3_0= ruleXAssignment ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5272:3: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5273:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXAssignmentAccess().getXAssignmentAction_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5278:2: ( ( ruleFeatureCallID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5279:1: ( ruleFeatureCallID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5279:1: ( ruleFeatureCallID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5280:3: ruleFeatureCallID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAssignmentRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleFeatureCallID_in_ruleXAssignment11775); ruleFeatureCallID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getOpSingleAssignParserRuleCall_0_2()); } pushFollow(FollowSets000.FOLLOW_ruleOpSingleAssign_in_ruleXAssignment11791); ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5301:1: ( (lv_value_3_0= ruleXAssignment ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5302:1: (lv_value_3_0= ruleXAssignment ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5302:1: (lv_value_3_0= ruleXAssignment ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5303:3: lv_value_3_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getValueXAssignmentParserRuleCall_0_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleXAssignment_in_ruleXAssignment11811); 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, "XAssignment"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5320:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5320:6: (this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5321:5: this_XOrExpression_4= ruleXOrExpression ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getXOrExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXOrExpression_in_ruleXAssignment11841); this_XOrExpression_4=ruleXOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XOrExpression_4; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5329:1: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )? int alt78=2; alt78 = dfa78.predict(input); switch (alt78) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5329:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5329:2: ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5329:3: ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5334:6: ( () ( ( ruleOpMultiAssign ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5334:7: () ( ( ruleOpMultiAssign ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5334:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5335:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5340:2: ( ( ruleOpMultiAssign ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5341:1: ( ruleOpMultiAssign ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5341:1: ( ruleOpMultiAssign ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5342:3: ruleOpMultiAssign { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAssignmentRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpMultiAssign_in_ruleXAssignment11894); ruleOpMultiAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5355:4: ( (lv_rightOperand_7_0= ruleXAssignment ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5356:1: (lv_rightOperand_7_0= ruleXAssignment ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5356:1: (lv_rightOperand_7_0= ruleXAssignment ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5357:3: lv_rightOperand_7_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAssignmentAccess().getRightOperandXAssignmentParserRuleCall_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXAssignment_in_ruleXAssignment11917); 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, "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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5381:1: entryRuleOpSingleAssign returns [String current=null] : iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ; public final String entryRuleOpSingleAssign() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpSingleAssign = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5382:2: (iv_ruleOpSingleAssign= ruleOpSingleAssign EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5383:2: iv_ruleOpSingleAssign= ruleOpSingleAssign EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpSingleAssignRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpSingleAssign_in_entryRuleOpSingleAssign11957); iv_ruleOpSingleAssign=ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpSingleAssign.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpSingleAssign11968); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpSingleAssign" // $ANTLR start "ruleOpSingleAssign" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5390:1: ruleOpSingleAssign returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '=' ; public final AntlrDatatypeRuleToken ruleOpSingleAssign() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5393:28: (kw= '=' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5395:2: kw= '=' { kw=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleOpSingleAssign12005); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5408:1: entryRuleOpMultiAssign returns [String current=null] : iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ; public final String entryRuleOpMultiAssign() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpMultiAssign = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5409:2: (iv_ruleOpMultiAssign= ruleOpMultiAssign EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5410:2: iv_ruleOpMultiAssign= ruleOpMultiAssign EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpMultiAssignRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpMultiAssign_in_entryRuleOpMultiAssign12045); iv_ruleOpMultiAssign=ruleOpMultiAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpMultiAssign.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpMultiAssign12056); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpMultiAssign" // $ANTLR start "ruleOpMultiAssign" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5417: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5420:28: ( (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5421:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5421:1: (kw= '+=' | kw= '-=' | kw= '*=' | kw= '/=' | kw= '%=' | (kw= '<' kw= '<' kw= '=' ) | (kw= '>' (kw= '>' )? kw= '>=' ) ) int alt81=7; switch ( input.LA(1) ) { case 80: { alt81=1; } break; case 81: { alt81=2; } break; case 82: { alt81=3; } break; case 83: { alt81=4; } break; case 84: { alt81=5; } break; case 65: { alt81=6; } break; case 63: { alt81=7; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 81, 0, input); throw nvae; } switch (alt81) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5422:2: kw= '+=' { kw=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleOpMultiAssign12094); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPlusSignEqualsSignKeyword_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5429:2: kw= '-=' { kw=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleOpMultiAssign12113); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getHyphenMinusEqualsSignKeyword_1()); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5436:2: kw= '*=' { kw=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleOpMultiAssign12132); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getAsteriskEqualsSignKeyword_2()); } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5443:2: kw= '/=' { kw=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleOpMultiAssign12151); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getSolidusEqualsSignKeyword_3()); } } break; case 5 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5450:2: kw= '%=' { kw=(Token)match(input,84,FollowSets000.FOLLOW_84_in_ruleOpMultiAssign12170); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getPercentSignEqualsSignKeyword_4()); } } break; case 6 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5456:6: (kw= '<' kw= '<' kw= '=' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5456:6: (kw= '<' kw= '<' kw= '=' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5457:2: kw= '<' kw= '<' kw= '=' { kw=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleOpMultiAssign12190); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_0()); } kw=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleOpMultiAssign12203); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getLessThanSignKeyword_5_1()); } kw=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleOpMultiAssign12216); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getEqualsSignKeyword_5_2()); } } } break; case 7 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5475:6: (kw= '>' (kw= '>' )? kw= '>=' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5475:6: (kw= '>' (kw= '>' )? kw= '>=' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5476:2: kw= '>' (kw= '>' )? kw= '>=' { kw=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleOpMultiAssign12237); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5481:1: (kw= '>' )? int alt80=2; int LA80_0 = input.LA(1); if ( (LA80_0==63) ) { alt80=1; } switch (alt80) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5482:2: kw= '>' { kw=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleOpMultiAssign12251); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAssignAccess().getGreaterThanSignKeyword_6_1()); } } break; } kw=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleOpMultiAssign12266); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5501:1: entryRuleXOrExpression returns [EObject current=null] : iv_ruleXOrExpression= ruleXOrExpression EOF ; public final EObject entryRuleXOrExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXOrExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5502:2: (iv_ruleXOrExpression= ruleXOrExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5503:2: iv_ruleXOrExpression= ruleXOrExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXOrExpression_in_entryRuleXOrExpression12307); iv_ruleXOrExpression=ruleXOrExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXOrExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXOrExpression12317); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXOrExpression" // $ANTLR start "ruleXOrExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5510: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5513:28: ( (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5514:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5514:1: (this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5515:5: this_XAndExpression_0= ruleXAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionAccess().getXAndExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXAndExpression_in_ruleXOrExpression12364); this_XAndExpression_0=ruleXAndExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAndExpression_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5523:1: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) )* loop82: do { int alt82=2; int LA82_0 = input.LA(1); if ( (LA82_0==85) ) { int LA82_2 = input.LA(2); if ( (synpred4_InternalIoT()) ) { alt82=1; } } switch (alt82) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5523:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) ( (lv_rightOperand_3_0= ruleXAndExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5523:2: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5523:3: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( ( ruleOpOr ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5528:6: ( () ( ( ruleOpOr ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5528:7: () ( ( ruleOpOr ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5528:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5529:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5534:2: ( ( ruleOpOr ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5535:1: ( ruleOpOr ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5535:1: ( ruleOpOr ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5536:3: ruleOpOr { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXOrExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpOr_in_ruleXOrExpression12417); ruleOpOr(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5549:4: ( (lv_rightOperand_3_0= ruleXAndExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5550:1: (lv_rightOperand_3_0= ruleXAndExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5550:1: (lv_rightOperand_3_0= ruleXAndExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5551:3: lv_rightOperand_3_0= ruleXAndExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOrExpressionAccess().getRightOperandXAndExpressionParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXAndExpression_in_ruleXOrExpression12440); 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, "XAndExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop82; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXOrExpression" // $ANTLR start "entryRuleOpOr" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5575:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ; public final String entryRuleOpOr() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpOr = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5576:2: (iv_ruleOpOr= ruleOpOr EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5577:2: iv_ruleOpOr= ruleOpOr EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpOrRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpOr_in_entryRuleOpOr12479); iv_ruleOpOr=ruleOpOr(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpOr.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpOr12490); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpOr" // $ANTLR start "ruleOpOr" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5584:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '||' ; public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5587:28: (kw= '||' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5589:2: kw= '||' { kw=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleOpOr12527); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5602:1: entryRuleXAndExpression returns [EObject current=null] : iv_ruleXAndExpression= ruleXAndExpression EOF ; public final EObject entryRuleXAndExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXAndExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5603:2: (iv_ruleXAndExpression= ruleXAndExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5604:2: iv_ruleXAndExpression= ruleXAndExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXAndExpression_in_entryRuleXAndExpression12566); iv_ruleXAndExpression=ruleXAndExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAndExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXAndExpression12576); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAndExpression" // $ANTLR start "ruleXAndExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5611: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5614:28: ( (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5615:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5615:1: (this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5616:5: this_XEqualityExpression_0= ruleXEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionAccess().getXEqualityExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXEqualityExpression_in_ruleXAndExpression12623); this_XEqualityExpression_0=ruleXEqualityExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XEqualityExpression_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5624:1: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) )* loop83: do { int alt83=2; int LA83_0 = input.LA(1); if ( (LA83_0==86) ) { int LA83_2 = input.LA(2); if ( (synpred5_InternalIoT()) ) { alt83=1; } } switch (alt83) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5624:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5624:2: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5624:3: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( ( ruleOpAnd ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5629:6: ( () ( ( ruleOpAnd ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5629:7: () ( ( ruleOpAnd ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5629:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5630:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5635:2: ( ( ruleOpAnd ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5636:1: ( ruleOpAnd ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5636:1: ( ruleOpAnd ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5637:3: ruleOpAnd { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAndExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpAnd_in_ruleXAndExpression12676); ruleOpAnd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5650:4: ( (lv_rightOperand_3_0= ruleXEqualityExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5651:1: (lv_rightOperand_3_0= ruleXEqualityExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5651:1: (lv_rightOperand_3_0= ruleXEqualityExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5652:3: lv_rightOperand_3_0= ruleXEqualityExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAndExpressionAccess().getRightOperandXEqualityExpressionParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXEqualityExpression_in_ruleXAndExpression12699); 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, "XEqualityExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop83; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAndExpression" // $ANTLR start "entryRuleOpAnd" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5676:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ; public final String entryRuleOpAnd() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpAnd = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5677:2: (iv_ruleOpAnd= ruleOpAnd EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5678:2: iv_ruleOpAnd= ruleOpAnd EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpAndRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpAnd_in_entryRuleOpAnd12738); iv_ruleOpAnd=ruleOpAnd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpAnd.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpAnd12749); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpAnd" // $ANTLR start "ruleOpAnd" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5685:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= '&&' ; public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5688:28: (kw= '&&' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5690:2: kw= '&&' { kw=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleOpAnd12786); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5703:1: entryRuleXEqualityExpression returns [EObject current=null] : iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ; public final EObject entryRuleXEqualityExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXEqualityExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5704:2: (iv_ruleXEqualityExpression= ruleXEqualityExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5705:2: iv_ruleXEqualityExpression= ruleXEqualityExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXEqualityExpression_in_entryRuleXEqualityExpression12825); iv_ruleXEqualityExpression=ruleXEqualityExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXEqualityExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXEqualityExpression12835); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXEqualityExpression" // $ANTLR start "ruleXEqualityExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5712: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5715:28: ( (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5716:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5716:1: (this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5717:5: this_XRelationalExpression_0= ruleXRelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getXRelationalExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXRelationalExpression_in_ruleXEqualityExpression12882); this_XRelationalExpression_0=ruleXRelationalExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XRelationalExpression_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5725:1: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) )* loop84: do { int alt84=2; switch ( input.LA(1) ) { case 67: { int LA84_2 = input.LA(2); if ( (synpred6_InternalIoT()) ) { alt84=1; } } break; case 87: { int LA84_3 = input.LA(2); if ( (synpred6_InternalIoT()) ) { alt84=1; } } break; case 88: { int LA84_4 = input.LA(2); if ( (synpred6_InternalIoT()) ) { alt84=1; } } break; case 89: { int LA84_5 = input.LA(2); if ( (synpred6_InternalIoT()) ) { alt84=1; } } break; } switch (alt84) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5725:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5725:2: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5725:3: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( ( ruleOpEquality ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5730:6: ( () ( ( ruleOpEquality ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5730:7: () ( ( ruleOpEquality ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5730:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5731:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5736:2: ( ( ruleOpEquality ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5737:1: ( ruleOpEquality ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5737:1: ( ruleOpEquality ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5738:3: ruleOpEquality { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXEqualityExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpEquality_in_ruleXEqualityExpression12935); ruleOpEquality(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5751:4: ( (lv_rightOperand_3_0= ruleXRelationalExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5752:1: (lv_rightOperand_3_0= ruleXRelationalExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5752:1: (lv_rightOperand_3_0= ruleXRelationalExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5753:3: lv_rightOperand_3_0= ruleXRelationalExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXEqualityExpressionAccess().getRightOperandXRelationalExpressionParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXRelationalExpression_in_ruleXEqualityExpression12958); 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, "XRelationalExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop84; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXEqualityExpression" // $ANTLR start "entryRuleOpEquality" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5777:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ; public final String entryRuleOpEquality() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpEquality = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5778:2: (iv_ruleOpEquality= ruleOpEquality EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5779:2: iv_ruleOpEquality= ruleOpEquality EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpEqualityRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpEquality_in_entryRuleOpEquality12997); iv_ruleOpEquality=ruleOpEquality(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpEquality.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpEquality13008); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpEquality" // $ANTLR start "ruleOpEquality" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5786: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5789:28: ( (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5790:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5790:1: (kw= '==' | kw= '!=' | kw= '===' | kw= '!==' ) int alt85=4; switch ( input.LA(1) ) { case 67: { alt85=1; } break; case 87: { alt85=2; } break; case 88: { alt85=3; } break; case 89: { alt85=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 85, 0, input); throw nvae; } switch (alt85) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5791:2: kw= '==' { kw=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleOpEquality13046); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5798:2: kw= '!=' { kw=(Token)match(input,87,FollowSets000.FOLLOW_87_in_ruleOpEquality13065); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1()); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5805:2: kw= '===' { kw=(Token)match(input,88,FollowSets000.FOLLOW_88_in_ruleOpEquality13084); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignEqualsSignKeyword_2()); } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5812:2: kw= '!==' { kw=(Token)match(input,89,FollowSets000.FOLLOW_89_in_ruleOpEquality13103); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5825:1: entryRuleXRelationalExpression returns [EObject current=null] : iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ; public final EObject entryRuleXRelationalExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXRelationalExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5826:2: (iv_ruleXRelationalExpression= ruleXRelationalExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5827:2: iv_ruleXRelationalExpression= ruleXRelationalExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXRelationalExpression_in_entryRuleXRelationalExpression13143); iv_ruleXRelationalExpression=ruleXRelationalExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXRelationalExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXRelationalExpression13153); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXRelationalExpression" // $ANTLR start "ruleXRelationalExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5834: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5837:28: ( (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5838:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5838:1: (this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5839:5: this_XOtherOperatorExpression_0= ruleXOtherOperatorExpression ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getXOtherOperatorExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXOtherOperatorExpression_in_ruleXRelationalExpression13200); this_XOtherOperatorExpression_0=ruleXOtherOperatorExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XOtherOperatorExpression_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:1: ( ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) | ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) )* loop86: do { int alt86=3; switch ( input.LA(1) ) { case 65: { int LA86_2 = input.LA(2); if ( (synpred8_InternalIoT()) ) { alt86=2; } } break; case 63: { int LA86_3 = input.LA(2); if ( (synpred8_InternalIoT()) ) { alt86=2; } } break; case 90: { int LA86_4 = input.LA(2); if ( (synpred7_InternalIoT()) ) { alt86=1; } } break; case 64: { int LA86_5 = input.LA(2); if ( (synpred8_InternalIoT()) ) { alt86=2; } } break; } switch (alt86) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:2: ( ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:3: ( ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:4: ( ( () 'instanceof' ) )=> ( () otherlv_2= 'instanceof' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5849:5: ( () otherlv_2= 'instanceof' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5849:6: () otherlv_2= 'instanceof' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5849:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5850:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0(), current); } } otherlv_2=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleXRelationalExpression13236); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXRelationalExpressionAccess().getInstanceofKeyword_1_0_0_0_1()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5859:3: ( (lv_type_3_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5860:1: (lv_type_3_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5860:1: (lv_type_3_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5861:3: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleXRelationalExpression13259); 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, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5878:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5878:6: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5878:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5878:7: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5878:8: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( ( ruleOpCompare ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5883:6: ( () ( ( ruleOpCompare ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5883:7: () ( ( ruleOpCompare ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5883:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5884:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5889:2: ( ( ruleOpCompare ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5890:1: ( ruleOpCompare ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5890:1: ( ruleOpCompare ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5891:3: ruleOpCompare { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXRelationalExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpCompare_in_ruleXRelationalExpression13320); ruleOpCompare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5904:4: ( (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5905:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5905:1: (lv_rightOperand_6_0= ruleXOtherOperatorExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5906:3: lv_rightOperand_6_0= ruleXOtherOperatorExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXRelationalExpressionAccess().getRightOperandXOtherOperatorExpressionParserRuleCall_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXOtherOperatorExpression_in_ruleXRelationalExpression13343); 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, "XOtherOperatorExpression"); afterParserOrEnumRuleCall(); } } } } } break; default : break loop86; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXRelationalExpression" // $ANTLR start "entryRuleOpCompare" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5930:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ; public final String entryRuleOpCompare() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpCompare = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5931:2: (iv_ruleOpCompare= ruleOpCompare EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5932:2: iv_ruleOpCompare= ruleOpCompare EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpCompareRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpCompare_in_entryRuleOpCompare13383); iv_ruleOpCompare=ruleOpCompare(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpCompare.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpCompare13394); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpCompare" // $ANTLR start "ruleOpCompare" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5939: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5942:28: ( (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5943:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5943:1: (kw= '>=' | (kw= '<' kw= '=' ) | kw= '>' | kw= '<' ) int alt87=4; switch ( input.LA(1) ) { case 64: { alt87=1; } break; case 65: { int LA87_2 = input.LA(2); if ( (LA87_2==EOF||(LA87_2>=RULE_ID && LA87_2<=RULE_INT)||(LA87_2>=RULE_STRING && LA87_2<=RULE_DECIMAL)||LA87_2==15||LA87_2==20||(LA87_2>=37 && LA87_2<=38)||LA87_2==42||LA87_2==45||LA87_2==47||LA87_2==49||LA87_2==52||LA87_2==56||LA87_2==65||(LA87_2>=70 && LA87_2<=71)||LA87_2==76||LA87_2==97||LA87_2==104||(LA87_2>=109 && LA87_2<=118)||LA87_2==120) ) { alt87=4; } else if ( (LA87_2==35) ) { alt87=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 87, 2, input); throw nvae; } } break; case 63: { alt87=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 87, 0, input); throw nvae; } switch (alt87) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5944:2: kw= '>=' { kw=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleOpCompare13432); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5950:6: (kw= '<' kw= '=' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5950:6: (kw= '<' kw= '=' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5951:2: kw= '<' kw= '=' { kw=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleOpCompare13452); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_1_0()); } kw=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleOpCompare13465); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getEqualsSignKeyword_1_1()); } } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5964:2: kw= '>' { kw=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleOpCompare13485); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2()); } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5971:2: kw= '<' { kw=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleOpCompare13504); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5984:1: entryRuleXOtherOperatorExpression returns [EObject current=null] : iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ; public final EObject entryRuleXOtherOperatorExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXOtherOperatorExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5985:2: (iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5986:2: iv_ruleXOtherOperatorExpression= ruleXOtherOperatorExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXOtherOperatorExpression_in_entryRuleXOtherOperatorExpression13544); iv_ruleXOtherOperatorExpression=ruleXOtherOperatorExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXOtherOperatorExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXOtherOperatorExpression13554); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXOtherOperatorExpression" // $ANTLR start "ruleXOtherOperatorExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5993: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5996:28: ( (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5997:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5997:1: (this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5998:5: this_XAdditiveExpression_0= ruleXAdditiveExpression ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getXAdditiveExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXAdditiveExpression_in_ruleXOtherOperatorExpression13601); this_XAdditiveExpression_0=ruleXAdditiveExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XAdditiveExpression_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6006:1: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )* loop88: do { int alt88=2; alt88 = dfa88.predict(input); switch (alt88) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6006:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6006:2: ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6006:3: ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6011:6: ( () ( ( ruleOpOther ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6011:7: () ( ( ruleOpOther ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6011:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6012:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6017:2: ( ( ruleOpOther ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6018:1: ( ruleOpOther ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6018:1: ( ruleOpOther ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6019:3: ruleOpOther { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXOtherOperatorExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpOther_in_ruleXOtherOperatorExpression13654); ruleOpOther(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6032:4: ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6033:1: (lv_rightOperand_3_0= ruleXAdditiveExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6033:1: (lv_rightOperand_3_0= ruleXAdditiveExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6034:3: lv_rightOperand_3_0= ruleXAdditiveExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandXAdditiveExpressionParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXAdditiveExpression_in_ruleXOtherOperatorExpression13677); 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, "XAdditiveExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop88; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXOtherOperatorExpression" // $ANTLR start "entryRuleOpOther" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6058:1: entryRuleOpOther returns [String current=null] : iv_ruleOpOther= ruleOpOther EOF ; public final String entryRuleOpOther() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpOther = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6059:2: (iv_ruleOpOther= ruleOpOther EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6060:2: iv_ruleOpOther= ruleOpOther EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpOtherRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpOther_in_entryRuleOpOther13716); iv_ruleOpOther=ruleOpOther(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpOther.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpOther13727); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpOther" // $ANTLR start "ruleOpOther" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6067: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6070:28: ( (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6071:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6071:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' ) int alt91=9; alt91 = dfa91.predict(input); switch (alt91) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6072:2: kw= '->' { kw=(Token)match(input,91,FollowSets000.FOLLOW_91_in_ruleOpOther13765); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getHyphenMinusGreaterThanSignKeyword_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6079:2: kw= '..<' { kw=(Token)match(input,92,FollowSets000.FOLLOW_92_in_ruleOpOther13784); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopLessThanSignKeyword_1()); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6085:6: (kw= '>' kw= '..' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6085:6: (kw= '>' kw= '..' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6086:2: kw= '>' kw= '..' { kw=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleOpOther13804); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_2_0()); } kw=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleOpOther13817); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_2_1()); } } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6099:2: kw= '..' { kw=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleOpOther13837); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getFullStopFullStopKeyword_3()); } } break; case 5 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6106:2: kw= '=>' { kw=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleOpOther13856); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_4()); } } break; case 6 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6112:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6112:6: (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6113:2: kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) { kw=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleOpOther13876); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6118:1: ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) int alt89=2; int LA89_0 = input.LA(1); if ( (LA89_0==63) ) { int LA89_1 = input.LA(2); if ( (LA89_1==EOF||(LA89_1>=RULE_ID && LA89_1<=RULE_INT)||(LA89_1>=RULE_STRING && LA89_1<=RULE_DECIMAL)||LA89_1==15||LA89_1==20||(LA89_1>=37 && LA89_1<=38)||LA89_1==42||LA89_1==45||LA89_1==47||LA89_1==49||LA89_1==52||LA89_1==56||LA89_1==65||(LA89_1>=70 && LA89_1<=71)||LA89_1==76||LA89_1==97||LA89_1==104||(LA89_1>=109 && LA89_1<=118)||LA89_1==120) ) { alt89=2; } else if ( (LA89_1==63) && (synpred10_InternalIoT())) { alt89=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 89, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 89, 0, input); throw nvae; } switch (alt89) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6118:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6118:2: ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6118:3: ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6122:5: (kw= '>' kw= '>' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6123:2: kw= '>' kw= '>' { kw=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleOpOther13907); 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,63,FollowSets000.FOLLOW_63_in_ruleOpOther13920); 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 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6136:2: kw= '>' { kw=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleOpOther13941); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getGreaterThanSignKeyword_5_1_1()); } } break; } } } break; case 7 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6142:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6142:6: (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6143:2: kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) { kw=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleOpOther13963); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6148:1: ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) int alt90=3; int LA90_0 = input.LA(1); if ( (LA90_0==65) ) { int LA90_1 = input.LA(2); if ( (synpred11_InternalIoT()) ) { alt90=1; } else if ( (true) ) { alt90=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 90, 1, input); throw nvae; } } else if ( (LA90_0==93) ) { alt90=3; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 90, 0, input); throw nvae; } switch (alt90) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6148:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6148:2: ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6148:3: ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6152:5: (kw= '<' kw= '<' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6153:2: kw= '<' kw= '<' { kw=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleOpOther13994); 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,65,FollowSets000.FOLLOW_65_in_ruleOpOther14007); 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 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6166:2: kw= '<' { kw=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleOpOther14028); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignKeyword_6_1_1()); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6173:2: kw= '=>' { kw=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleOpOther14047); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getEqualsSignGreaterThanSignKeyword_6_1_2()); } } break; } } } break; case 8 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6180:2: kw= '<>' { kw=(Token)match(input,94,FollowSets000.FOLLOW_94_in_ruleOpOther14068); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpOtherAccess().getLessThanSignGreaterThanSignKeyword_7()); } } break; case 9 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6187:2: kw= '?:' { kw=(Token)match(input,95,FollowSets000.FOLLOW_95_in_ruleOpOther14087); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6200:1: entryRuleXAdditiveExpression returns [EObject current=null] : iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ; public final EObject entryRuleXAdditiveExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXAdditiveExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6201:2: (iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6202:2: iv_ruleXAdditiveExpression= ruleXAdditiveExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXAdditiveExpression_in_entryRuleXAdditiveExpression14127); iv_ruleXAdditiveExpression=ruleXAdditiveExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXAdditiveExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXAdditiveExpression14137); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXAdditiveExpression" // $ANTLR start "ruleXAdditiveExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6209: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6212:28: ( (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6213:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6213:1: (this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6214:5: this_XMultiplicativeExpression_0= ruleXMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getXMultiplicativeExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXMultiplicativeExpression_in_ruleXAdditiveExpression14184); this_XMultiplicativeExpression_0=ruleXMultiplicativeExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XMultiplicativeExpression_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6222:1: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) )* loop92: do { int alt92=2; int LA92_0 = input.LA(1); if ( (LA92_0==70) ) { int LA92_2 = input.LA(2); if ( (synpred12_InternalIoT()) ) { alt92=1; } } else if ( (LA92_0==71) ) { int LA92_3 = input.LA(2); if ( (synpred12_InternalIoT()) ) { alt92=1; } } switch (alt92) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6222:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6222:2: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6222:3: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( ( ruleOpAdd ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6227:6: ( () ( ( ruleOpAdd ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6227:7: () ( ( ruleOpAdd ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6227:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6228:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6233:2: ( ( ruleOpAdd ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6234:1: ( ruleOpAdd ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6234:1: ( ruleOpAdd ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6235:3: ruleOpAdd { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXAdditiveExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpAdd_in_ruleXAdditiveExpression14237); ruleOpAdd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6248:4: ( (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6249:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6249:1: (lv_rightOperand_3_0= ruleXMultiplicativeExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6250:3: lv_rightOperand_3_0= ruleXMultiplicativeExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXAdditiveExpressionAccess().getRightOperandXMultiplicativeExpressionParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXMultiplicativeExpression_in_ruleXAdditiveExpression14260); 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, "XMultiplicativeExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop92; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXAdditiveExpression" // $ANTLR start "entryRuleOpAdd" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6274:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ; public final String entryRuleOpAdd() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpAdd = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6275:2: (iv_ruleOpAdd= ruleOpAdd EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6276:2: iv_ruleOpAdd= ruleOpAdd EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpAddRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpAdd_in_entryRuleOpAdd14299); iv_ruleOpAdd=ruleOpAdd(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpAdd.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpAdd14310); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpAdd" // $ANTLR start "ruleOpAdd" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6283:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ; public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6286:28: ( (kw= '+' | kw= '-' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6287:1: (kw= '+' | kw= '-' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6287:1: (kw= '+' | kw= '-' ) int alt93=2; int LA93_0 = input.LA(1); if ( (LA93_0==70) ) { alt93=1; } else if ( (LA93_0==71) ) { alt93=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 93, 0, input); throw nvae; } switch (alt93) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6288:2: kw= '+' { kw=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleOpAdd14348); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6295:2: kw= '-' { kw=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleOpAdd14367); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6308:1: entryRuleXMultiplicativeExpression returns [EObject current=null] : iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ; public final EObject entryRuleXMultiplicativeExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXMultiplicativeExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6309:2: (iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6310:2: iv_ruleXMultiplicativeExpression= ruleXMultiplicativeExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXMultiplicativeExpression_in_entryRuleXMultiplicativeExpression14407); iv_ruleXMultiplicativeExpression=ruleXMultiplicativeExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXMultiplicativeExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXMultiplicativeExpression14417); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXMultiplicativeExpression" // $ANTLR start "ruleXMultiplicativeExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6317: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6320:28: ( (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6321:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6321:1: (this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6322:5: this_XUnaryOperation_0= ruleXUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getXUnaryOperationParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXUnaryOperation_in_ruleXMultiplicativeExpression14464); this_XUnaryOperation_0=ruleXUnaryOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XUnaryOperation_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6330:1: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) )* loop94: do { int alt94=2; switch ( input.LA(1) ) { case 72: { int LA94_2 = input.LA(2); if ( (synpred13_InternalIoT()) ) { alt94=1; } } break; case 96: { int LA94_3 = input.LA(2); if ( (synpred13_InternalIoT()) ) { alt94=1; } } break; case 73: { int LA94_4 = input.LA(2); if ( (synpred13_InternalIoT()) ) { alt94=1; } } break; case 74: { int LA94_5 = input.LA(2); if ( (synpred13_InternalIoT()) ) { alt94=1; } } break; } switch (alt94) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6330:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6330:2: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6330:3: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( ( ruleOpMulti ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6335:6: ( () ( ( ruleOpMulti ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6335:7: () ( ( ruleOpMulti ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6335:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6336:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6341:2: ( ( ruleOpMulti ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6342:1: ( ruleOpMulti ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6342:1: ( ruleOpMulti ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6343:3: ruleOpMulti { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXMultiplicativeExpressionRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpMulti_in_ruleXMultiplicativeExpression14517); ruleOpMulti(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6356:4: ( (lv_rightOperand_3_0= ruleXUnaryOperation ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6357:1: (lv_rightOperand_3_0= ruleXUnaryOperation ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6357:1: (lv_rightOperand_3_0= ruleXUnaryOperation ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6358:3: lv_rightOperand_3_0= ruleXUnaryOperation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandXUnaryOperationParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXUnaryOperation_in_ruleXMultiplicativeExpression14540); 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, "XUnaryOperation"); afterParserOrEnumRuleCall(); } } } } break; default : break loop94; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXMultiplicativeExpression" // $ANTLR start "entryRuleOpMulti" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6382:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ; public final String entryRuleOpMulti() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpMulti = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6383:2: (iv_ruleOpMulti= ruleOpMulti EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6384:2: iv_ruleOpMulti= ruleOpMulti EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpMultiRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpMulti_in_entryRuleOpMulti14579); iv_ruleOpMulti=ruleOpMulti(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpMulti.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpMulti14590); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpMulti" // $ANTLR start "ruleOpMulti" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6391: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6394:28: ( (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6395:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6395:1: (kw= '*' | kw= '**' | kw= '/' | kw= '%' ) int alt95=4; switch ( input.LA(1) ) { case 72: { alt95=1; } break; case 96: { alt95=2; } break; case 73: { alt95=3; } break; case 74: { alt95=4; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 95, 0, input); throw nvae; } switch (alt95) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6396:2: kw= '*' { kw=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleOpMulti14628); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6403:2: kw= '**' { kw=(Token)match(input,96,FollowSets000.FOLLOW_96_in_ruleOpMulti14647); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskAsteriskKeyword_1()); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6410:2: kw= '/' { kw=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleOpMulti14666); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_2()); } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6417:2: kw= '%' { kw=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleOpMulti14685); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6430:1: entryRuleXUnaryOperation returns [EObject current=null] : iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ; public final EObject entryRuleXUnaryOperation() throws RecognitionException { EObject current = null; EObject iv_ruleXUnaryOperation = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6431:2: (iv_ruleXUnaryOperation= ruleXUnaryOperation EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6432:2: iv_ruleXUnaryOperation= ruleXUnaryOperation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationRule()); } pushFollow(FollowSets000.FOLLOW_ruleXUnaryOperation_in_entryRuleXUnaryOperation14725); iv_ruleXUnaryOperation=ruleXUnaryOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXUnaryOperation; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXUnaryOperation14735); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXUnaryOperation" // $ANTLR start "ruleXUnaryOperation" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6439: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6442:28: ( ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6443:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6443:1: ( ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) | this_XCastedExpression_3= ruleXCastedExpression ) int alt96=2; int LA96_0 = input.LA(1); if ( ((LA96_0>=70 && LA96_0<=71)||LA96_0==97) ) { alt96=1; } else if ( ((LA96_0>=RULE_ID && LA96_0<=RULE_INT)||(LA96_0>=RULE_STRING && LA96_0<=RULE_DECIMAL)||LA96_0==15||LA96_0==20||(LA96_0>=37 && LA96_0<=38)||LA96_0==42||LA96_0==45||LA96_0==47||LA96_0==49||LA96_0==52||LA96_0==56||LA96_0==65||LA96_0==76||LA96_0==104||(LA96_0>=109 && LA96_0<=118)||LA96_0==120) ) { alt96=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 96, 0, input); throw nvae; } switch (alt96) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6443:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6443:2: ( () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6443:3: () ( ( ruleOpUnary ) ) ( (lv_operand_2_0= ruleXUnaryOperation ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6443:3: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6444:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXUnaryOperationAccess().getXUnaryOperationAction_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6449:2: ( ( ruleOpUnary ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6450:1: ( ruleOpUnary ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6450:1: ( ruleOpUnary ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6451:3: ruleOpUnary { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXUnaryOperationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationAccess().getFeatureJvmIdentifiableElementCrossReference_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpUnary_in_ruleXUnaryOperation14793); ruleOpUnary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6464:2: ( (lv_operand_2_0= ruleXUnaryOperation ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6465:1: (lv_operand_2_0= ruleXUnaryOperation ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6465:1: (lv_operand_2_0= ruleXUnaryOperation ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6466:3: lv_operand_2_0= ruleXUnaryOperation { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationAccess().getOperandXUnaryOperationParserRuleCall_0_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleXUnaryOperation_in_ruleXUnaryOperation14814); 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, "XUnaryOperation"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6484:5: this_XCastedExpression_3= ruleXCastedExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXUnaryOperationAccess().getXCastedExpressionParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleXCastedExpression_in_ruleXUnaryOperation14843); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6500:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ; public final String entryRuleOpUnary() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpUnary = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6501:2: (iv_ruleOpUnary= ruleOpUnary EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6502:2: iv_ruleOpUnary= ruleOpUnary EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpUnaryRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpUnary_in_entryRuleOpUnary14879); iv_ruleOpUnary=ruleOpUnary(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpUnary.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpUnary14890); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpUnary" // $ANTLR start "ruleOpUnary" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6509: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6512:28: ( (kw= '!' | kw= '-' | kw= '+' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6513:1: (kw= '!' | kw= '-' | kw= '+' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6513:1: (kw= '!' | kw= '-' | kw= '+' ) int alt97=3; switch ( input.LA(1) ) { case 97: { alt97=1; } break; case 71: { alt97=2; } break; case 70: { alt97=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 97, 0, input); throw nvae; } switch (alt97) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6514:2: kw= '!' { kw=(Token)match(input,97,FollowSets000.FOLLOW_97_in_ruleOpUnary14928); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpUnaryAccess().getExclamationMarkKeyword_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6521:2: kw= '-' { kw=(Token)match(input,71,FollowSets000.FOLLOW_71_in_ruleOpUnary14947); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1()); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6528:2: kw= '+' { kw=(Token)match(input,70,FollowSets000.FOLLOW_70_in_ruleOpUnary14966); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6541:1: entryRuleXCastedExpression returns [EObject current=null] : iv_ruleXCastedExpression= ruleXCastedExpression EOF ; public final EObject entryRuleXCastedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXCastedExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6542:2: (iv_ruleXCastedExpression= ruleXCastedExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6543:2: iv_ruleXCastedExpression= ruleXCastedExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXCastedExpression_in_entryRuleXCastedExpression15006); iv_ruleXCastedExpression=ruleXCastedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCastedExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXCastedExpression15016); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCastedExpression" // $ANTLR start "ruleXCastedExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6550: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6553:28: ( (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6554:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6554:1: (this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6555:5: this_XPostfixOperation_0= ruleXPostfixOperation ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionAccess().getXPostfixOperationParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXPostfixOperation_in_ruleXCastedExpression15063); this_XPostfixOperation_0=ruleXPostfixOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XPostfixOperation_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6563:1: ( ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) )* loop98: do { int alt98=2; int LA98_0 = input.LA(1); if ( (LA98_0==98) ) { int LA98_2 = input.LA(2); if ( (synpred14_InternalIoT()) ) { alt98=1; } } switch (alt98) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6563:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) ( (lv_type_3_0= ruleJvmTypeReference ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6563:2: ( ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6563:3: ( ( () 'as' ) )=> ( () otherlv_2= 'as' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6565:5: ( () otherlv_2= 'as' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6565:6: () otherlv_2= 'as' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6565:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6566:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0(), current); } } otherlv_2=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleXCastedExpression15098); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXCastedExpressionAccess().getAsKeyword_1_0_0_1()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6575:3: ( (lv_type_3_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6576:1: (lv_type_3_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6576:1: (lv_type_3_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6577:3: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCastedExpressionAccess().getTypeJvmTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleXCastedExpression15121); 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, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop98; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXCastedExpression" // $ANTLR start "entryRuleXPostfixOperation" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6601:1: entryRuleXPostfixOperation returns [EObject current=null] : iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ; public final EObject entryRuleXPostfixOperation() throws RecognitionException { EObject current = null; EObject iv_ruleXPostfixOperation = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6602:2: (iv_ruleXPostfixOperation= ruleXPostfixOperation EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6603:2: iv_ruleXPostfixOperation= ruleXPostfixOperation EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPostfixOperationRule()); } pushFollow(FollowSets000.FOLLOW_ruleXPostfixOperation_in_entryRuleXPostfixOperation15159); iv_ruleXPostfixOperation=ruleXPostfixOperation(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXPostfixOperation; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXPostfixOperation15169); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXPostfixOperation" // $ANTLR start "ruleXPostfixOperation" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6610: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6613:28: ( (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6614:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6614:1: (this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6615:5: this_XMemberFeatureCall_0= ruleXMemberFeatureCall ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPostfixOperationAccess().getXMemberFeatureCallParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXMemberFeatureCall_in_ruleXPostfixOperation15216); this_XMemberFeatureCall_0=ruleXMemberFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XMemberFeatureCall_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6623:1: ( ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) )? int alt99=2; int LA99_0 = input.LA(1); if ( (LA99_0==99) ) { int LA99_1 = input.LA(2); if ( (synpred15_InternalIoT()) ) { alt99=1; } } else if ( (LA99_0==100) ) { int LA99_2 = input.LA(2); if ( (synpred15_InternalIoT()) ) { alt99=1; } } switch (alt99) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6623:2: ( ( () ( ( ruleOpPostfix ) ) ) )=> ( () ( ( ruleOpPostfix ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6628:6: ( () ( ( ruleOpPostfix ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6628:7: () ( ( ruleOpPostfix ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6628:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6629:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6634:2: ( ( ruleOpPostfix ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6635:1: ( ruleOpPostfix ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6635:1: ( ruleOpPostfix ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6636:3: ruleOpPostfix { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXPostfixOperationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPostfixOperationAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleOpPostfix_in_ruleXPostfixOperation15268); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6657:1: entryRuleOpPostfix returns [String current=null] : iv_ruleOpPostfix= ruleOpPostfix EOF ; public final String entryRuleOpPostfix() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleOpPostfix = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6658:2: (iv_ruleOpPostfix= ruleOpPostfix EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6659:2: iv_ruleOpPostfix= ruleOpPostfix EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getOpPostfixRule()); } pushFollow(FollowSets000.FOLLOW_ruleOpPostfix_in_entryRuleOpPostfix15308); iv_ruleOpPostfix=ruleOpPostfix(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleOpPostfix.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpPostfix15319); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleOpPostfix" // $ANTLR start "ruleOpPostfix" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6666:1: ruleOpPostfix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '++' | kw= '--' ) ; public final AntlrDatatypeRuleToken ruleOpPostfix() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6669:28: ( (kw= '++' | kw= '--' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6670:1: (kw= '++' | kw= '--' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6670:1: (kw= '++' | kw= '--' ) int alt100=2; int LA100_0 = input.LA(1); if ( (LA100_0==99) ) { alt100=1; } else if ( (LA100_0==100) ) { alt100=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 100, 0, input); throw nvae; } switch (alt100) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6671:2: kw= '++' { kw=(Token)match(input,99,FollowSets000.FOLLOW_99_in_ruleOpPostfix15357); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getOpPostfixAccess().getPlusSignPlusSignKeyword_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6678:2: kw= '--' { kw=(Token)match(input,100,FollowSets000.FOLLOW_100_in_ruleOpPostfix15376); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6691:1: entryRuleXMemberFeatureCall returns [EObject current=null] : iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ; public final EObject entryRuleXMemberFeatureCall() throws RecognitionException { EObject current = null; EObject iv_ruleXMemberFeatureCall = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6692:2: (iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6693:2: iv_ruleXMemberFeatureCall= ruleXMemberFeatureCall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallRule()); } pushFollow(FollowSets000.FOLLOW_ruleXMemberFeatureCall_in_entryRuleXMemberFeatureCall15416); iv_ruleXMemberFeatureCall=ruleXMemberFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXMemberFeatureCall; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXMemberFeatureCall15426); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXMemberFeatureCall" // $ANTLR start "ruleXMemberFeatureCall" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6700: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6703:28: ( (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6704:1: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6704:1: (this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6705:5: this_XPrimaryExpression_0= ruleXPrimaryExpression ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getXPrimaryExpressionParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXPrimaryExpression_in_ruleXMemberFeatureCall15473); this_XPrimaryExpression_0=ruleXPrimaryExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XPrimaryExpression_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:1: ( ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) | ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) )* loop109: do { int alt109=3; switch ( input.LA(1) ) { case 58: { int LA109_2 = input.LA(2); if ( (synpred16_InternalIoT()) ) { alt109=1; } else if ( (synpred17_InternalIoT()) ) { alt109=2; } } break; case 101: { int LA109_3 = input.LA(2); if ( (synpred16_InternalIoT()) ) { alt109=1; } else if ( (synpred17_InternalIoT()) ) { alt109=2; } } break; case 102: { int LA109_4 = input.LA(2); if ( (synpred17_InternalIoT()) ) { alt109=2; } } break; } switch (alt109) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:2: ( ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) ( (lv_value_6_0= ruleXAssignment ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:3: ( ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) )=> ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6726:25: ( () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6726:26: () (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6726:26: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6727:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6732:2: (otherlv_2= '.' | ( (lv_explicitStatic_3_0= '::' ) ) ) int alt101=2; int LA101_0 = input.LA(1); if ( (LA101_0==58) ) { alt101=1; } else if ( (LA101_0==101) ) { alt101=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 101, 0, input); throw nvae; } switch (alt101) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6732:4: otherlv_2= '.' { otherlv_2=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleXMemberFeatureCall15545); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_0_0_0_1_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6737:6: ( (lv_explicitStatic_3_0= '::' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6737:6: ( (lv_explicitStatic_3_0= '::' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6738:1: (lv_explicitStatic_3_0= '::' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6738:1: (lv_explicitStatic_3_0= '::' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6739:3: lv_explicitStatic_3_0= '::' { lv_explicitStatic_3_0=(Token)match(input,101,FollowSets000.FOLLOW_101_in_ruleXMemberFeatureCall15569); 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; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6752:3: ( ( ruleFeatureCallID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6753:1: ( ruleFeatureCallID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6753:1: ( ruleFeatureCallID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6754:3: ruleFeatureCallID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_0_0_0_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleFeatureCallID_in_ruleXMemberFeatureCall15606); ruleFeatureCallID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getOpSingleAssignParserRuleCall_1_0_0_0_3()); } pushFollow(FollowSets000.FOLLOW_ruleOpSingleAssign_in_ruleXMemberFeatureCall15622); ruleOpSingleAssign(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6775:3: ( (lv_value_6_0= ruleXAssignment ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6776:1: (lv_value_6_0= ruleXAssignment ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6776:1: (lv_value_6_0= ruleXAssignment ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6777:3: lv_value_6_0= ruleXAssignment { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getValueXAssignmentParserRuleCall_1_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXAssignment_in_ruleXMemberFeatureCall15644); 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, "XAssignment"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6794:6: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6794:6: ( ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6794:7: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6794:7: ( ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6794:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) )=> ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6810:7: ( () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6810:8: () (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6810:8: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6811:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6816:2: (otherlv_8= '.' | ( (lv_nullSafe_9_0= '?.' ) ) | ( (lv_explicitStatic_10_0= '::' ) ) ) int alt102=3; switch ( input.LA(1) ) { case 58: { alt102=1; } break; case 102: { alt102=2; } break; case 101: { alt102=3; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 102, 0, input); throw nvae; } switch (alt102) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6816:4: otherlv_8= '.' { otherlv_8=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleXMemberFeatureCall15730); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXMemberFeatureCallAccess().getFullStopKeyword_1_1_0_0_1_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6821:6: ( (lv_nullSafe_9_0= '?.' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6821:6: ( (lv_nullSafe_9_0= '?.' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6822:1: (lv_nullSafe_9_0= '?.' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6822:1: (lv_nullSafe_9_0= '?.' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6823:3: lv_nullSafe_9_0= '?.' { lv_nullSafe_9_0=(Token)match(input,102,FollowSets000.FOLLOW_102_in_ruleXMemberFeatureCall15754); 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 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6837:6: ( (lv_explicitStatic_10_0= '::' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6837:6: ( (lv_explicitStatic_10_0= '::' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6838:1: (lv_explicitStatic_10_0= '::' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6838:1: (lv_explicitStatic_10_0= '::' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6839:3: lv_explicitStatic_10_0= '::' { lv_explicitStatic_10_0=(Token)match(input,101,FollowSets000.FOLLOW_101_in_ruleXMemberFeatureCall15791); 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; } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6852:5: (otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' )? int alt104=2; int LA104_0 = input.LA(1); if ( (LA104_0==65) ) { alt104=1; } switch (alt104) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6852:7: otherlv_11= '<' ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* otherlv_15= '>' { otherlv_11=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleXMemberFeatureCall15820); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getXMemberFeatureCallAccess().getLessThanSignKeyword_1_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6856:1: ( (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6857:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6857:1: (lv_typeArguments_12_0= ruleJvmArgumentTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6858:3: lv_typeArguments_12_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_ruleXMemberFeatureCall15841); 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, "JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6874:2: (otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) )* loop103: do { int alt103=2; int LA103_0 = input.LA(1); if ( (LA103_0==21) ) { alt103=1; } switch (alt103) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6874:4: otherlv_13= ',' ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) { otherlv_13=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXMemberFeatureCall15854); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_1_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6878:1: ( (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6879:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6879:1: (lv_typeArguments_14_0= ruleJvmArgumentTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6880:3: lv_typeArguments_14_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_ruleXMemberFeatureCall15875); 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, "JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop103; } } while (true); otherlv_15=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleXMemberFeatureCall15889); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getXMemberFeatureCallAccess().getGreaterThanSignKeyword_1_1_1_3()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6900:3: ( ( ruleIdOrSuper ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6901:1: ( ruleIdOrSuper ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6901:1: ( ruleIdOrSuper ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6902:3: ruleIdOrSuper { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXMemberFeatureCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_1_1_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleIdOrSuper_in_ruleXMemberFeatureCall15914); ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6915:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )? int alt107=2; alt107 = dfa107.predict(input); switch (alt107) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6915:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6915:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6915:4: ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6922:1: (lv_explicitOperationCall_17_0= '(' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6923:3: lv_explicitOperationCall_17_0= '(' { lv_explicitOperationCall_17_0=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXMemberFeatureCall15948); 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, "("); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6936:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? int alt106=3; alt106 = dfa106.predict(input); switch (alt106) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6936:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6936:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6936:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6953:1: (lv_memberCallArguments_18_0= ruleXShortClosure ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6954:3: lv_memberCallArguments_18_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXShortClosureParserRuleCall_1_1_3_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXShortClosure_in_ruleXMemberFeatureCall16033); 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, "XShortClosure"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6971:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6971:6: ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6971:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6971:7: ( (lv_memberCallArguments_19_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6972:1: (lv_memberCallArguments_19_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6972:1: (lv_memberCallArguments_19_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6973:3: lv_memberCallArguments_19_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXMemberFeatureCall16061); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6989:2: (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* loop105: do { int alt105=2; int LA105_0 = input.LA(1); if ( (LA105_0==21) ) { alt105=1; } switch (alt105) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6989:4: otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) { otherlv_20=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXMemberFeatureCall16074); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_20, grammarAccess.getXMemberFeatureCallAccess().getCommaKeyword_1_1_3_1_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6993:1: ( (lv_memberCallArguments_21_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6994:1: (lv_memberCallArguments_21_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6994:1: (lv_memberCallArguments_21_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6995:3: lv_memberCallArguments_21_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXExpressionParserRuleCall_1_1_3_1_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXMemberFeatureCall16095); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop105; } } while (true); } } break; } otherlv_22=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXMemberFeatureCall16112); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_22, grammarAccess.getXMemberFeatureCallAccess().getRightParenthesisKeyword_1_1_3_2()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7015:3: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )? int alt108=2; alt108 = dfa108.predict(input); switch (alt108) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7015:4: ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7018:1: (lv_memberCallArguments_23_0= ruleXClosure ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7019:3: lv_memberCallArguments_23_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsXClosureParserRuleCall_1_1_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleXClosure_in_ruleXMemberFeatureCall16147); 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, "XClosure"); afterParserOrEnumRuleCall(); } } } break; } } } break; default : break loop109; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXMemberFeatureCall" // $ANTLR start "entryRuleXPrimaryExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7043:1: entryRuleXPrimaryExpression returns [EObject current=null] : iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ; public final EObject entryRuleXPrimaryExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXPrimaryExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7044:2: (iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7045:2: iv_ruleXPrimaryExpression= ruleXPrimaryExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXPrimaryExpression_in_entryRuleXPrimaryExpression16187); iv_ruleXPrimaryExpression=ruleXPrimaryExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXPrimaryExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXPrimaryExpression16197); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXPrimaryExpression" // $ANTLR start "ruleXPrimaryExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7052:1: ruleXPrimaryExpression returns [EObject current=null] : (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ; public final EObject ruleXPrimaryExpression() throws RecognitionException { EObject current = null; EObject this_XConstructorCall_0 = null; EObject this_XBlockExpression_1 = null; EObject this_XSwitchExpression_2 = null; EObject this_XSynchronizedExpression_3 = null; EObject this_XFeatureCall_4 = null; EObject this_XLiteral_5 = null; EObject this_XIfExpression_6 = null; EObject this_XForLoopExpression_7 = null; EObject this_XBasicForLoopExpression_8 = null; EObject this_XWhileExpression_9 = null; EObject this_XDoWhileExpression_10 = null; EObject this_XThrowExpression_11 = null; EObject this_XReturnExpression_12 = null; EObject this_XTryCatchFinallyExpression_13 = null; EObject this_XParenthesizedExpression_14 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7055:28: ( (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7056:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7056:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression ) int alt110=15; alt110 = dfa110.predict(input); switch (alt110) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7057:5: this_XConstructorCall_0= ruleXConstructorCall { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXConstructorCallParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXConstructorCall_in_ruleXPrimaryExpression16244); this_XConstructorCall_0=ruleXConstructorCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XConstructorCall_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7067:5: this_XBlockExpression_1= ruleXBlockExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBlockExpressionParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleXBlockExpression_in_ruleXPrimaryExpression16271); this_XBlockExpression_1=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XBlockExpression_1; afterParserOrEnumRuleCall(); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7077:5: this_XSwitchExpression_2= ruleXSwitchExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSwitchExpressionParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleXSwitchExpression_in_ruleXPrimaryExpression16298); this_XSwitchExpression_2=ruleXSwitchExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XSwitchExpression_2; afterParserOrEnumRuleCall(); } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7086:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7086:6: ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7086:7: ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXSynchronizedExpressionParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_ruleXSynchronizedExpression_in_ruleXPrimaryExpression16342); this_XSynchronizedExpression_3=ruleXSynchronizedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XSynchronizedExpression_3; afterParserOrEnumRuleCall(); } } } break; case 5 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7100:5: this_XFeatureCall_4= ruleXFeatureCall { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXFeatureCallParserRuleCall_4()); } pushFollow(FollowSets000.FOLLOW_ruleXFeatureCall_in_ruleXPrimaryExpression16370); this_XFeatureCall_4=ruleXFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XFeatureCall_4; afterParserOrEnumRuleCall(); } } break; case 6 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7110:5: this_XLiteral_5= ruleXLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXLiteralParserRuleCall_5()); } pushFollow(FollowSets000.FOLLOW_ruleXLiteral_in_ruleXPrimaryExpression16397); this_XLiteral_5=ruleXLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XLiteral_5; afterParserOrEnumRuleCall(); } } break; case 7 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7120:5: this_XIfExpression_6= ruleXIfExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXIfExpressionParserRuleCall_6()); } pushFollow(FollowSets000.FOLLOW_ruleXIfExpression_in_ruleXPrimaryExpression16424); this_XIfExpression_6=ruleXIfExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XIfExpression_6; afterParserOrEnumRuleCall(); } } break; case 8 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7129:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7129:6: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7129:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXForLoopExpressionParserRuleCall_7()); } pushFollow(FollowSets000.FOLLOW_ruleXForLoopExpression_in_ruleXPrimaryExpression16481); this_XForLoopExpression_7=ruleXForLoopExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XForLoopExpression_7; afterParserOrEnumRuleCall(); } } } break; case 9 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7148:5: this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXBasicForLoopExpressionParserRuleCall_8()); } pushFollow(FollowSets000.FOLLOW_ruleXBasicForLoopExpression_in_ruleXPrimaryExpression16509); this_XBasicForLoopExpression_8=ruleXBasicForLoopExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XBasicForLoopExpression_8; afterParserOrEnumRuleCall(); } } break; case 10 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7158:5: this_XWhileExpression_9= ruleXWhileExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXWhileExpressionParserRuleCall_9()); } pushFollow(FollowSets000.FOLLOW_ruleXWhileExpression_in_ruleXPrimaryExpression16536); this_XWhileExpression_9=ruleXWhileExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XWhileExpression_9; afterParserOrEnumRuleCall(); } } break; case 11 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7168:5: this_XDoWhileExpression_10= ruleXDoWhileExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXDoWhileExpressionParserRuleCall_10()); } pushFollow(FollowSets000.FOLLOW_ruleXDoWhileExpression_in_ruleXPrimaryExpression16563); this_XDoWhileExpression_10=ruleXDoWhileExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XDoWhileExpression_10; afterParserOrEnumRuleCall(); } } break; case 12 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7178:5: this_XThrowExpression_11= ruleXThrowExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXThrowExpressionParserRuleCall_11()); } pushFollow(FollowSets000.FOLLOW_ruleXThrowExpression_in_ruleXPrimaryExpression16590); this_XThrowExpression_11=ruleXThrowExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XThrowExpression_11; afterParserOrEnumRuleCall(); } } break; case 13 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7188:5: this_XReturnExpression_12= ruleXReturnExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXReturnExpressionParserRuleCall_12()); } pushFollow(FollowSets000.FOLLOW_ruleXReturnExpression_in_ruleXPrimaryExpression16617); this_XReturnExpression_12=ruleXReturnExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XReturnExpression_12; afterParserOrEnumRuleCall(); } } break; case 14 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7198:5: this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXTryCatchFinallyExpressionParserRuleCall_13()); } pushFollow(FollowSets000.FOLLOW_ruleXTryCatchFinallyExpression_in_ruleXPrimaryExpression16644); this_XTryCatchFinallyExpression_13=ruleXTryCatchFinallyExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XTryCatchFinallyExpression_13; afterParserOrEnumRuleCall(); } } break; case 15 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7208:5: this_XParenthesizedExpression_14= ruleXParenthesizedExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXPrimaryExpressionAccess().getXParenthesizedExpressionParserRuleCall_14()); } pushFollow(FollowSets000.FOLLOW_ruleXParenthesizedExpression_in_ruleXPrimaryExpression16671); this_XParenthesizedExpression_14=ruleXParenthesizedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XParenthesizedExpression_14; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXPrimaryExpression" // $ANTLR start "entryRuleXLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7224:1: entryRuleXLiteral returns [EObject current=null] : iv_ruleXLiteral= ruleXLiteral EOF ; public final EObject entryRuleXLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXLiteral = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7225:2: (iv_ruleXLiteral= ruleXLiteral EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7226:2: iv_ruleXLiteral= ruleXLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralRule()); } pushFollow(FollowSets000.FOLLOW_ruleXLiteral_in_entryRuleXLiteral16706); iv_ruleXLiteral=ruleXLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXLiteral; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXLiteral16716); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXLiteral" // $ANTLR start "ruleXLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7233: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7236:28: ( (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7237:1: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7237:1: (this_XCollectionLiteral_0= ruleXCollectionLiteral | ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) | this_XBooleanLiteral_2= ruleXBooleanLiteral | this_XNumberLiteral_3= ruleXNumberLiteral | this_XNullLiteral_4= ruleXNullLiteral | this_XStringLiteral_5= ruleXStringLiteral | this_XTypeLiteral_6= ruleXTypeLiteral ) int alt111=7; int LA111_0 = input.LA(1); if ( (LA111_0==76) ) { alt111=1; } else if ( (LA111_0==42) && (synpred23_InternalIoT())) { alt111=2; } else if ( ((LA111_0>=37 && LA111_0<=38)) ) { alt111=3; } else if ( (LA111_0==RULE_INT||(LA111_0>=RULE_HEX && LA111_0<=RULE_DECIMAL)) ) { alt111=4; } else if ( (LA111_0==115) ) { alt111=5; } else if ( (LA111_0==RULE_STRING) ) { alt111=6; } else if ( (LA111_0==116) ) { alt111=7; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 111, 0, input); throw nvae; } switch (alt111) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7238:5: this_XCollectionLiteral_0= ruleXCollectionLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXCollectionLiteralParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXCollectionLiteral_in_ruleXLiteral16763); this_XCollectionLiteral_0=ruleXCollectionLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XCollectionLiteral_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7247:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7247:6: ( ( ( () '[' ) )=>this_XClosure_1= ruleXClosure ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7247:7: ( ( () '[' ) )=>this_XClosure_1= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXClosureParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleXClosure_in_ruleXLiteral16803); this_XClosure_1=ruleXClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XClosure_1; afterParserOrEnumRuleCall(); } } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7260:5: this_XBooleanLiteral_2= ruleXBooleanLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXBooleanLiteralParserRuleCall_2()); } pushFollow(FollowSets000.FOLLOW_ruleXBooleanLiteral_in_ruleXLiteral16831); this_XBooleanLiteral_2=ruleXBooleanLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XBooleanLiteral_2; afterParserOrEnumRuleCall(); } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7270:5: this_XNumberLiteral_3= ruleXNumberLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXNumberLiteralParserRuleCall_3()); } pushFollow(FollowSets000.FOLLOW_ruleXNumberLiteral_in_ruleXLiteral16858); this_XNumberLiteral_3=ruleXNumberLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XNumberLiteral_3; afterParserOrEnumRuleCall(); } } break; case 5 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7280:5: this_XNullLiteral_4= ruleXNullLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXNullLiteralParserRuleCall_4()); } pushFollow(FollowSets000.FOLLOW_ruleXNullLiteral_in_ruleXLiteral16885); this_XNullLiteral_4=ruleXNullLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XNullLiteral_4; afterParserOrEnumRuleCall(); } } break; case 6 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7290:5: this_XStringLiteral_5= ruleXStringLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXStringLiteralParserRuleCall_5()); } pushFollow(FollowSets000.FOLLOW_ruleXStringLiteral_in_ruleXLiteral16912); this_XStringLiteral_5=ruleXStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XStringLiteral_5; afterParserOrEnumRuleCall(); } } break; case 7 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7300:5: this_XTypeLiteral_6= ruleXTypeLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXLiteralAccess().getXTypeLiteralParserRuleCall_6()); } pushFollow(FollowSets000.FOLLOW_ruleXTypeLiteral_in_ruleXLiteral16939); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7316:1: entryRuleXCollectionLiteral returns [EObject current=null] : iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ; public final EObject entryRuleXCollectionLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXCollectionLiteral = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7317:2: (iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7318:2: iv_ruleXCollectionLiteral= ruleXCollectionLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCollectionLiteralRule()); } pushFollow(FollowSets000.FOLLOW_ruleXCollectionLiteral_in_entryRuleXCollectionLiteral16974); iv_ruleXCollectionLiteral=ruleXCollectionLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCollectionLiteral; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXCollectionLiteral16984); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCollectionLiteral" // $ANTLR start "ruleXCollectionLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7325: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7328:28: ( (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7329:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7329:1: (this_XSetLiteral_0= ruleXSetLiteral | this_XListLiteral_1= ruleXListLiteral ) int alt112=2; int LA112_0 = input.LA(1); if ( (LA112_0==76) ) { int LA112_1 = input.LA(2); if ( (LA112_1==42) ) { alt112=2; } else if ( (LA112_1==15) ) { alt112=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 112, 1, input); throw nvae; } } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 112, 0, input); throw nvae; } switch (alt112) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7330:5: this_XSetLiteral_0= ruleXSetLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXSetLiteralParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXSetLiteral_in_ruleXCollectionLiteral17031); this_XSetLiteral_0=ruleXSetLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XSetLiteral_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7340:5: this_XListLiteral_1= ruleXListLiteral { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCollectionLiteralAccess().getXListLiteralParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleXListLiteral_in_ruleXCollectionLiteral17058); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7356:1: entryRuleXSetLiteral returns [EObject current=null] : iv_ruleXSetLiteral= ruleXSetLiteral EOF ; public final EObject entryRuleXSetLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXSetLiteral = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7357:2: (iv_ruleXSetLiteral= ruleXSetLiteral EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7358:2: iv_ruleXSetLiteral= ruleXSetLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralRule()); } pushFollow(FollowSets000.FOLLOW_ruleXSetLiteral_in_entryRuleXSetLiteral17093); iv_ruleXSetLiteral=ruleXSetLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXSetLiteral; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXSetLiteral17103); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXSetLiteral" // $ANTLR start "ruleXSetLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7365: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7368:28: ( ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7369:1: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7369:1: ( () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7369:2: () otherlv_1= '#' otherlv_2= '{' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= '}' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7369:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7370:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSetLiteralAccess().getXSetLiteralAction_0(), current); } } otherlv_1=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleXSetLiteral17149); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSetLiteralAccess().getNumberSignKeyword_1()); } otherlv_2=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleXSetLiteral17161); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSetLiteralAccess().getLeftCurlyBracketKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7383:1: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? int alt114=2; int LA114_0 = input.LA(1); if ( ((LA114_0>=RULE_ID && LA114_0<=RULE_INT)||(LA114_0>=RULE_STRING && LA114_0<=RULE_DECIMAL)||LA114_0==15||LA114_0==20||(LA114_0>=37 && LA114_0<=38)||LA114_0==42||LA114_0==45||LA114_0==47||LA114_0==49||LA114_0==52||LA114_0==56||LA114_0==65||(LA114_0>=70 && LA114_0<=71)||LA114_0==76||LA114_0==97||LA114_0==104||(LA114_0>=109 && LA114_0<=118)||LA114_0==120) ) { alt114=1; } switch (alt114) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7383:2: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7383:2: ( (lv_elements_3_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7384:1: (lv_elements_3_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7384:1: (lv_elements_3_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7385:3: lv_elements_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXSetLiteral17183); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7401:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* loop113: do { int alt113=2; int LA113_0 = input.LA(1); if ( (LA113_0==21) ) { alt113=1; } switch (alt113) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7401:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXSetLiteral17196); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSetLiteralAccess().getCommaKeyword_3_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7405:1: ( (lv_elements_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7406:1: (lv_elements_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7406:1: (lv_elements_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7407:3: lv_elements_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSetLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXSetLiteral17217); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop113; } } while (true); } break; } otherlv_6=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleXSetLiteral17233); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7435:1: entryRuleXListLiteral returns [EObject current=null] : iv_ruleXListLiteral= ruleXListLiteral EOF ; public final EObject entryRuleXListLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXListLiteral = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7436:2: (iv_ruleXListLiteral= ruleXListLiteral EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7437:2: iv_ruleXListLiteral= ruleXListLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralRule()); } pushFollow(FollowSets000.FOLLOW_ruleXListLiteral_in_entryRuleXListLiteral17269); iv_ruleXListLiteral=ruleXListLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXListLiteral; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXListLiteral17279); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXListLiteral" // $ANTLR start "ruleXListLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7444: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7447:28: ( ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7448:1: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7448:1: ( () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7448:2: () otherlv_1= '#' otherlv_2= '[' ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? otherlv_6= ']' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7448:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7449:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXListLiteralAccess().getXListLiteralAction_0(), current); } } otherlv_1=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleXListLiteral17325); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXListLiteralAccess().getNumberSignKeyword_1()); } otherlv_2=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleXListLiteral17337); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXListLiteralAccess().getLeftSquareBracketKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7462:1: ( ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* )? int alt116=2; int LA116_0 = input.LA(1); if ( ((LA116_0>=RULE_ID && LA116_0<=RULE_INT)||(LA116_0>=RULE_STRING && LA116_0<=RULE_DECIMAL)||LA116_0==15||LA116_0==20||(LA116_0>=37 && LA116_0<=38)||LA116_0==42||LA116_0==45||LA116_0==47||LA116_0==49||LA116_0==52||LA116_0==56||LA116_0==65||(LA116_0>=70 && LA116_0<=71)||LA116_0==76||LA116_0==97||LA116_0==104||(LA116_0>=109 && LA116_0<=118)||LA116_0==120) ) { alt116=1; } switch (alt116) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7462:2: ( (lv_elements_3_0= ruleXExpression ) ) (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7462:2: ( (lv_elements_3_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7463:1: (lv_elements_3_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7463:1: (lv_elements_3_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7464:3: lv_elements_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXListLiteral17359); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7480:2: (otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) )* loop115: do { int alt115=2; int LA115_0 = input.LA(1); if ( (LA115_0==21) ) { alt115=1; } switch (alt115) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7480:4: otherlv_4= ',' ( (lv_elements_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXListLiteral17372); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXListLiteralAccess().getCommaKeyword_3_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7484:1: ( (lv_elements_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7485:1: (lv_elements_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7485:1: (lv_elements_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7486:3: lv_elements_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXListLiteralAccess().getElementsXExpressionParserRuleCall_3_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXListLiteral17393); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop115; } } while (true); } break; } otherlv_6=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleXListLiteral17409); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7514:1: entryRuleXClosure returns [EObject current=null] : iv_ruleXClosure= ruleXClosure EOF ; public final EObject entryRuleXClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXClosure = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7515:2: (iv_ruleXClosure= ruleXClosure EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7516:2: iv_ruleXClosure= ruleXClosure EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureRule()); } pushFollow(FollowSets000.FOLLOW_ruleXClosure_in_entryRuleXClosure17445); iv_ruleXClosure=ruleXClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXClosure; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXClosure17455); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXClosure" // $ANTLR start "ruleXClosure" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7523: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7526:28: ( ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7527:1: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7527:1: ( ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? ( (lv_expression_6_0= ruleXExpressionInClosure ) ) otherlv_7= ']' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7527: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= ']' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7527:2: ( ( ( () '[' ) )=> ( () otherlv_1= '[' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7527:3: ( ( () '[' ) )=> ( () otherlv_1= '[' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7529:5: ( () otherlv_1= '[' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7529:6: () otherlv_1= '[' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7529:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7530:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXClosureAccess().getXClosureAction_0_0_0(), current); } } otherlv_1=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleXClosure17515); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXClosureAccess().getLeftSquareBracketKeyword_0_0_1()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7539:3: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) )? int alt119=2; alt119 = dfa119.predict(input); switch (alt119) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7539:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7554:6: ( ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7554:7: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_5_0= '|' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7554:7: ( ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* )? int alt118=2; int LA118_0 = input.LA(1); if ( (LA118_0==RULE_ID||LA118_0==20||LA118_0==93) ) { alt118=1; } switch (alt118) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7554:8: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7554:8: ( (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7555:1: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7555:1: (lv_declaredFormalParameters_2_0= ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7556:3: lv_declaredFormalParameters_2_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmFormalParameter_in_ruleXClosure17588); 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, "JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7572:2: (otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) )* loop117: do { int alt117=2; int LA117_0 = input.LA(1); if ( (LA117_0==21) ) { alt117=1; } switch (alt117) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7572:4: otherlv_3= ',' ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) { otherlv_3=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXClosure17601); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXClosureAccess().getCommaKeyword_1_0_0_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7576:1: ( (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7577:1: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7577:1: (lv_declaredFormalParameters_4_0= ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7578:3: lv_declaredFormalParameters_4_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_1_0_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmFormalParameter_in_ruleXClosure17622); 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, "JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop117; } } while (true); } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7594:6: ( (lv_explicitSyntax_5_0= '|' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7595:1: (lv_explicitSyntax_5_0= '|' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7595:1: (lv_explicitSyntax_5_0= '|' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7596:3: lv_explicitSyntax_5_0= '|' { lv_explicitSyntax_5_0=(Token)match(input,103,FollowSets000.FOLLOW_103_in_ruleXClosure17644); 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; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7609:5: ( (lv_expression_6_0= ruleXExpressionInClosure ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7610:1: (lv_expression_6_0= ruleXExpressionInClosure ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7610:1: (lv_expression_6_0= ruleXExpressionInClosure ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7611:3: lv_expression_6_0= ruleXExpressionInClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXClosureAccess().getExpressionXExpressionInClosureParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpressionInClosure_in_ruleXClosure17681); 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, "XExpressionInClosure"); afterParserOrEnumRuleCall(); } } } otherlv_7=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleXClosure17693); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7639:1: entryRuleXExpressionInClosure returns [EObject current=null] : iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ; public final EObject entryRuleXExpressionInClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXExpressionInClosure = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7640:2: (iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7641:2: iv_ruleXExpressionInClosure= ruleXExpressionInClosure EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionInClosureRule()); } pushFollow(FollowSets000.FOLLOW_ruleXExpressionInClosure_in_entryRuleXExpressionInClosure17729); iv_ruleXExpressionInClosure=ruleXExpressionInClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXExpressionInClosure; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXExpressionInClosure17739); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXExpressionInClosure" // $ANTLR start "ruleXExpressionInClosure" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7648: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7651:28: ( ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7652:1: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7652:1: ( () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7652:2: () ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7652:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7653:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXExpressionInClosureAccess().getXBlockExpressionAction_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7658:2: ( ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? )* loop121: do { int alt121=2; int LA121_0 = input.LA(1); if ( ((LA121_0>=RULE_ID && LA121_0<=RULE_INT)||(LA121_0>=RULE_STRING && LA121_0<=RULE_DECIMAL)||LA121_0==15||LA121_0==20||(LA121_0>=37 && LA121_0<=38)||LA121_0==42||LA121_0==45||LA121_0==47||LA121_0==49||LA121_0==52||LA121_0==56||LA121_0==65||(LA121_0>=70 && LA121_0<=71)||LA121_0==76||LA121_0==97||LA121_0==104||(LA121_0>=107 && LA121_0<=118)||LA121_0==120) ) { alt121=1; } switch (alt121) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7658:3: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_2= ';' )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7658:3: ( (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7659:1: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7659:1: (lv_expressions_1_0= ruleXExpressionOrVarDeclaration ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7660:3: lv_expressions_1_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionInClosureAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpressionOrVarDeclaration_in_ruleXExpressionInClosure17795); 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, "XExpressionOrVarDeclaration"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7676:2: (otherlv_2= ';' )? int alt120=2; int LA120_0 = input.LA(1); if ( (LA120_0==44) ) { alt120=1; } switch (alt120) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7676:4: otherlv_2= ';' { otherlv_2=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleXExpressionInClosure17808); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXExpressionInClosureAccess().getSemicolonKeyword_1_1()); } } break; } } break; default : break loop121; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXExpressionInClosure" // $ANTLR start "entryRuleXShortClosure" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7688:1: entryRuleXShortClosure returns [EObject current=null] : iv_ruleXShortClosure= ruleXShortClosure EOF ; public final EObject entryRuleXShortClosure() throws RecognitionException { EObject current = null; EObject iv_ruleXShortClosure = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7689:2: (iv_ruleXShortClosure= ruleXShortClosure EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7690:2: iv_ruleXShortClosure= ruleXShortClosure EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureRule()); } pushFollow(FollowSets000.FOLLOW_ruleXShortClosure_in_entryRuleXShortClosure17848); iv_ruleXShortClosure=ruleXShortClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXShortClosure; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXShortClosure17858); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXShortClosure" // $ANTLR start "ruleXShortClosure" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7697: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7700:28: ( ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7701:1: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7701:1: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7701:2: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) ( (lv_expression_5_0= ruleXExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7701:2: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7701:3: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7717:6: ( () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7717:7: () ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? ( (lv_explicitSyntax_4_0= '|' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7717:7: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7718:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXShortClosureAccess().getXClosureAction_0_0_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7723:2: ( ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* )? int alt123=2; int LA123_0 = input.LA(1); if ( (LA123_0==RULE_ID||LA123_0==20||LA123_0==93) ) { alt123=1; } switch (alt123) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7723:3: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7723:3: ( (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7724:1: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7724:1: (lv_declaredFormalParameters_1_0= ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7725:3: lv_declaredFormalParameters_1_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmFormalParameter_in_ruleXShortClosure17966); 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, "JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7741:2: (otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) )* loop122: do { int alt122=2; int LA122_0 = input.LA(1); if ( (LA122_0==21) ) { alt122=1; } switch (alt122) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7741:4: otherlv_2= ',' ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) { otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXShortClosure17979); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXShortClosureAccess().getCommaKeyword_0_0_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7745:1: ( (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7746:1: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7746:1: (lv_declaredFormalParameters_3_0= ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7747:3: lv_declaredFormalParameters_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersJvmFormalParameterParserRuleCall_0_0_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmFormalParameter_in_ruleXShortClosure18000); 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, "JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } } break; default : break loop122; } } while (true); } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7763:6: ( (lv_explicitSyntax_4_0= '|' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7764:1: (lv_explicitSyntax_4_0= '|' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7764:1: (lv_explicitSyntax_4_0= '|' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7765:3: lv_explicitSyntax_4_0= '|' { lv_explicitSyntax_4_0=(Token)match(input,103,FollowSets000.FOLLOW_103_in_ruleXShortClosure18022); 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, "|"); } } } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7778:4: ( (lv_expression_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7779:1: (lv_expression_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7779:1: (lv_expression_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7780:3: lv_expression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXShortClosureAccess().getExpressionXExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXShortClosure18058); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXShortClosure" // $ANTLR start "entryRuleXParenthesizedExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7804:1: entryRuleXParenthesizedExpression returns [EObject current=null] : iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ; public final EObject entryRuleXParenthesizedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXParenthesizedExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7805:2: (iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7806:2: iv_ruleXParenthesizedExpression= ruleXParenthesizedExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXParenthesizedExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXParenthesizedExpression_in_entryRuleXParenthesizedExpression18094); iv_ruleXParenthesizedExpression=ruleXParenthesizedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXParenthesizedExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXParenthesizedExpression18104); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXParenthesizedExpression" // $ANTLR start "ruleXParenthesizedExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7813: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7816:28: ( (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7817:1: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7817:1: (otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7817:3: otherlv_0= '(' this_XExpression_1= ruleXExpression otherlv_2= ')' { otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXParenthesizedExpression18141); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXParenthesizedExpressionAccess().getLeftParenthesisKeyword_0()); } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXParenthesizedExpressionAccess().getXExpressionParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXParenthesizedExpression18163); 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,22,FollowSets000.FOLLOW_22_in_ruleXParenthesizedExpression18174); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7842:1: entryRuleXIfExpression returns [EObject current=null] : iv_ruleXIfExpression= ruleXIfExpression EOF ; public final EObject entryRuleXIfExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXIfExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7843:2: (iv_ruleXIfExpression= ruleXIfExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7844:2: iv_ruleXIfExpression= ruleXIfExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXIfExpression_in_entryRuleXIfExpression18210); iv_ruleXIfExpression=ruleXIfExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXIfExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXIfExpression18220); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXIfExpression" // $ANTLR start "ruleXIfExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7851: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7854:28: ( ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7855:1: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7855:1: ( () otherlv_1= 'if' otherlv_2= '(' ( (lv_if_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_then_5_0= ruleXExpression ) ) ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7855: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 ) ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7855:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7856:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXIfExpressionAccess().getXIfExpressionAction_0(), current); } } otherlv_1=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleXIfExpression18266); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXIfExpressionAccess().getIfKeyword_1()); } otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXIfExpression18278); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXIfExpressionAccess().getLeftParenthesisKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7869:1: ( (lv_if_3_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7870:1: (lv_if_3_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7870:1: (lv_if_3_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7871:3: lv_if_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getIfXExpressionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXIfExpression18299); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXIfExpression18311); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXIfExpressionAccess().getRightParenthesisKeyword_4()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7891:1: ( (lv_then_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7892:1: (lv_then_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7892:1: (lv_then_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7893:3: lv_then_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getThenXExpressionParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXIfExpression18332); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7909:2: ( ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) )? int alt124=2; int LA124_0 = input.LA(1); if ( (LA124_0==54) ) { int LA124_1 = input.LA(2); if ( (synpred27_InternalIoT()) ) { alt124=1; } } switch (alt124) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7909:3: ( ( 'else' )=>otherlv_6= 'else' ) ( (lv_else_7_0= ruleXExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7909:3: ( ( 'else' )=>otherlv_6= 'else' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7909:4: ( 'else' )=>otherlv_6= 'else' { otherlv_6=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleXIfExpression18353); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXIfExpressionAccess().getElseKeyword_6_0()); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7914:2: ( (lv_else_7_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7915:1: (lv_else_7_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7915:1: (lv_else_7_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7916:3: lv_else_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXIfExpressionAccess().getElseXExpressionParserRuleCall_6_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXIfExpression18375); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXIfExpression" // $ANTLR start "entryRuleXSwitchExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7940:1: entryRuleXSwitchExpression returns [EObject current=null] : iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ; public final EObject entryRuleXSwitchExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXSwitchExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7941:2: (iv_ruleXSwitchExpression= ruleXSwitchExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7942:2: iv_ruleXSwitchExpression= ruleXSwitchExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXSwitchExpression_in_entryRuleXSwitchExpression18413); iv_ruleXSwitchExpression=ruleXSwitchExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXSwitchExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXSwitchExpression18423); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXSwitchExpression" // $ANTLR start "ruleXSwitchExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7949: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7952:28: ( ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7953:1: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7953:1: ( () otherlv_1= 'switch' ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) otherlv_10= '{' ( (lv_cases_11_0= ruleXCasePart ) )* (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? otherlv_15= '}' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7953: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= '}' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7953:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7954:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSwitchExpressionAccess().getXSwitchExpressionAction_0(), current); } } otherlv_1=(Token)match(input,104,FollowSets000.FOLLOW_104_in_ruleXSwitchExpression18469); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSwitchExpressionAccess().getSwitchKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7963:1: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) ) int alt126=2; alt126 = dfa126.predict(input); switch (alt126) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7963:2: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7963:2: ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7963:3: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7963:3: ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7963:4: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7969:5: (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7969:7: otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' { otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXSwitchExpression18507); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSwitchExpressionAccess().getLeftParenthesisKeyword_2_0_0_0_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7973:1: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7974:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7974:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7975:3: lv_declaredParam_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_0_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmFormalParameter_in_ruleXSwitchExpression18528); 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, "JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleXSwitchExpression18540); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_0_0_0_2()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7995:3: ( (lv_switch_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7996:1: (lv_switch_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7996:1: (lv_switch_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7997:3: lv_switch_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXSwitchExpression18563); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_6=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXSwitchExpression18575); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXSwitchExpressionAccess().getRightParenthesisKeyword_2_0_2()); } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8018:6: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8018:6: ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8018:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8018:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? int alt125=2; alt125 = dfa125.predict(input); switch (alt125) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8018:8: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8023:5: ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8023:6: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8023:6: ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8024:1: (lv_declaredParam_7_0= ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8024:1: (lv_declaredParam_7_0= ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8025:3: lv_declaredParam_7_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_2_1_0_0_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmFormalParameter_in_ruleXSwitchExpression18624); 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, "JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_8=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleXSwitchExpression18636); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_2_1_0_0_1()); } } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8045:4: ( (lv_switch_9_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8046:1: (lv_switch_9_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8046:1: (lv_switch_9_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8047:3: lv_switch_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getSwitchXExpressionParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXSwitchExpression18660); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } } break; } otherlv_10=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleXSwitchExpression18674); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXSwitchExpressionAccess().getLeftCurlyBracketKeyword_3()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8067:1: ( (lv_cases_11_0= ruleXCasePart ) )* loop127: do { int alt127=2; int LA127_0 = input.LA(1); if ( (LA127_0==RULE_ID||(LA127_0>=20 && LA127_0<=21)||LA127_0==59||LA127_0==93||LA127_0==106) ) { alt127=1; } switch (alt127) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8068:1: (lv_cases_11_0= ruleXCasePart ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8068:1: (lv_cases_11_0= ruleXCasePart ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8069:3: lv_cases_11_0= ruleXCasePart { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getCasesXCasePartParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleXCasePart_in_ruleXSwitchExpression18695); 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, "XCasePart"); afterParserOrEnumRuleCall(); } } } break; default : break loop127; } } while (true); // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8085:3: (otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) )? int alt128=2; int LA128_0 = input.LA(1); if ( (LA128_0==105) ) { alt128=1; } switch (alt128) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8085:5: otherlv_12= 'default' otherlv_13= ':' ( (lv_default_14_0= ruleXExpression ) ) { otherlv_12=(Token)match(input,105,FollowSets000.FOLLOW_105_in_ruleXSwitchExpression18709); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXSwitchExpressionAccess().getDefaultKeyword_5_0()); } otherlv_13=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleXSwitchExpression18721); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXSwitchExpressionAccess().getColonKeyword_5_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8093:1: ( (lv_default_14_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8094:1: (lv_default_14_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8094:1: (lv_default_14_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8095:3: lv_default_14_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSwitchExpressionAccess().getDefaultXExpressionParserRuleCall_5_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXSwitchExpression18742); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; } otherlv_15=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleXSwitchExpression18756); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_15, grammarAccess.getXSwitchExpressionAccess().getRightCurlyBracketKeyword_6()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXSwitchExpression" // $ANTLR start "entryRuleXCasePart" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8123:1: entryRuleXCasePart returns [EObject current=null] : iv_ruleXCasePart= ruleXCasePart EOF ; public final EObject entryRuleXCasePart() throws RecognitionException { EObject current = null; EObject iv_ruleXCasePart = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8124:2: (iv_ruleXCasePart= ruleXCasePart EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8125:2: iv_ruleXCasePart= ruleXCasePart EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartRule()); } pushFollow(FollowSets000.FOLLOW_ruleXCasePart_in_entryRuleXCasePart18792); iv_ruleXCasePart=ruleXCasePart(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCasePart; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXCasePart18802); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCasePart" // $ANTLR start "ruleXCasePart" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8132: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8135:28: ( ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8136:1: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8136:1: ( () ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8136: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= ',' ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8136:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8137:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXCasePartAccess().getXCasePartAction_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8142:2: ( (lv_typeGuard_1_0= ruleJvmTypeReference ) )? int alt129=2; int LA129_0 = input.LA(1); if ( (LA129_0==RULE_ID||LA129_0==20||LA129_0==93) ) { alt129=1; } switch (alt129) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8143:1: (lv_typeGuard_1_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8143:1: (lv_typeGuard_1_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8144:3: lv_typeGuard_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getTypeGuardJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleXCasePart18857); 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, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8160:3: (otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) )? int alt130=2; int LA130_0 = input.LA(1); if ( (LA130_0==106) ) { alt130=1; } switch (alt130) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8160:5: otherlv_2= 'case' ( (lv_case_3_0= ruleXExpression ) ) { otherlv_2=(Token)match(input,106,FollowSets000.FOLLOW_106_in_ruleXCasePart18871); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXCasePartAccess().getCaseKeyword_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8164:1: ( (lv_case_3_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8165:1: (lv_case_3_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8165:1: (lv_case_3_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8166:3: lv_case_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getCaseXExpressionParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXCasePart18892); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8182:4: ( (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) | ( (lv_fallThrough_6_0= ',' ) ) ) int alt131=2; int LA131_0 = input.LA(1); if ( (LA131_0==59) ) { alt131=1; } else if ( (LA131_0==21) ) { alt131=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 131, 0, input); throw nvae; } switch (alt131) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8182:5: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8182:5: (otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8182:7: otherlv_4= ':' ( (lv_then_5_0= ruleXExpression ) ) { otherlv_4=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleXCasePart18908); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXCasePartAccess().getColonKeyword_3_0_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8186:1: ( (lv_then_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8187:1: (lv_then_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8187:1: (lv_then_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8188:3: lv_then_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCasePartAccess().getThenXExpressionParserRuleCall_3_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXCasePart18929); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8205:6: ( (lv_fallThrough_6_0= ',' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8205:6: ( (lv_fallThrough_6_0= ',' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8206:1: (lv_fallThrough_6_0= ',' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8206:1: (lv_fallThrough_6_0= ',' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8207:3: lv_fallThrough_6_0= ',' { lv_fallThrough_6_0=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXCasePart18954); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_fallThrough_6_0, grammarAccess.getXCasePartAccess().getFallThroughCommaKeyword_3_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXCasePartRule()); } setWithLastConsumed(current, "fallThrough", true, ","); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXCasePart" // $ANTLR start "entryRuleXForLoopExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8228:1: entryRuleXForLoopExpression returns [EObject current=null] : iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ; public final EObject entryRuleXForLoopExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXForLoopExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8229:2: (iv_ruleXForLoopExpression= ruleXForLoopExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8230:2: iv_ruleXForLoopExpression= ruleXForLoopExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXForLoopExpression_in_entryRuleXForLoopExpression19004); iv_ruleXForLoopExpression=ruleXForLoopExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXForLoopExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXForLoopExpression19014); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXForLoopExpression" // $ANTLR start "ruleXForLoopExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8237:1: ruleXForLoopExpression returns [EObject current=null] : ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ; public final EObject ruleXForLoopExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_2=null; Token otherlv_4=null; Token otherlv_6=null; EObject lv_declaredParam_3_0 = null; EObject lv_forExpression_5_0 = null; EObject lv_eachExpression_7_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8240:28: ( ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8241:1: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8241:1: ( ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8241:2: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_forExpression_5_0= ruleXExpression ) ) otherlv_6= ')' ( (lv_eachExpression_7_0= ruleXExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8241:2: ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8241:3: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8249:5: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8249:6: () otherlv_1= 'for' otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8249:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8250:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXForLoopExpressionAccess().getXForLoopExpressionAction_0_0_0(), current); } } otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleXForLoopExpression19091); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXForLoopExpressionAccess().getForKeyword_0_0_1()); } otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXForLoopExpression19103); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXForLoopExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8263:1: ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8264:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8264:1: (lv_declaredParam_3_0= ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8265:3: lv_declaredParam_3_0= ruleJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamJvmFormalParameterParserRuleCall_0_0_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmFormalParameter_in_ruleXForLoopExpression19124); lv_declaredParam_3_0=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXForLoopExpressionRule()); } set( current, "declaredParam", lv_declaredParam_3_0, "JvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleXForLoopExpression19136); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXForLoopExpressionAccess().getColonKeyword_0_0_4()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8285:3: ( (lv_forExpression_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8286:1: (lv_forExpression_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8286:1: (lv_forExpression_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8287:3: lv_forExpression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getForExpressionXExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXForLoopExpression19159); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_6=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXForLoopExpression19171); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXForLoopExpressionAccess().getRightParenthesisKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8307:1: ( (lv_eachExpression_7_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8308:1: (lv_eachExpression_7_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8308:1: (lv_eachExpression_7_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8309:3: lv_eachExpression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXForLoopExpression19192); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXForLoopExpression" // $ANTLR start "entryRuleXBasicForLoopExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8333:1: entryRuleXBasicForLoopExpression returns [EObject current=null] : iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ; public final EObject entryRuleXBasicForLoopExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXBasicForLoopExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8334:2: (iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8335:2: iv_ruleXBasicForLoopExpression= ruleXBasicForLoopExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXBasicForLoopExpression_in_entryRuleXBasicForLoopExpression19228); iv_ruleXBasicForLoopExpression=ruleXBasicForLoopExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXBasicForLoopExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXBasicForLoopExpression19238); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXBasicForLoopExpression" // $ANTLR start "ruleXBasicForLoopExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8342: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8345:28: ( ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8346:1: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8346:1: ( () otherlv_1= 'for' otherlv_2= '(' ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? otherlv_6= ';' ( (lv_expression_7_0= ruleXExpression ) )? otherlv_8= ';' ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? otherlv_12= ')' ( (lv_eachExpression_13_0= ruleXExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8346: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 ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8346:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8347:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBasicForLoopExpressionAccess().getXBasicForLoopExpressionAction_0(), current); } } otherlv_1=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleXBasicForLoopExpression19284); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBasicForLoopExpressionAccess().getForKeyword_1()); } otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXBasicForLoopExpression19296); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXBasicForLoopExpressionAccess().getLeftParenthesisKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8360:1: ( ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* )? int alt133=2; int LA133_0 = input.LA(1); if ( ((LA133_0>=RULE_ID && LA133_0<=RULE_INT)||(LA133_0>=RULE_STRING && LA133_0<=RULE_DECIMAL)||LA133_0==15||LA133_0==20||(LA133_0>=37 && LA133_0<=38)||LA133_0==42||LA133_0==45||LA133_0==47||LA133_0==49||LA133_0==52||LA133_0==56||LA133_0==65||(LA133_0>=70 && LA133_0<=71)||LA133_0==76||LA133_0==97||LA133_0==104||(LA133_0>=107 && LA133_0<=118)||LA133_0==120) ) { alt133=1; } switch (alt133) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8360:2: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8360:2: ( (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8361:1: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8361:1: (lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8362:3: lv_initExpressions_3_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpressionOrVarDeclaration_in_ruleXBasicForLoopExpression19318); 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, "XExpressionOrVarDeclaration"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8378:2: (otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) )* loop132: do { int alt132=2; int LA132_0 = input.LA(1); if ( (LA132_0==21) ) { alt132=1; } switch (alt132) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8378:4: otherlv_4= ',' ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) { otherlv_4=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXBasicForLoopExpression19331); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_3_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8382:1: ( (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8383:1: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8383:1: (lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8384:3: lv_initExpressions_5_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsXExpressionOrVarDeclarationParserRuleCall_3_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpressionOrVarDeclaration_in_ruleXBasicForLoopExpression19352); 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, "XExpressionOrVarDeclaration"); afterParserOrEnumRuleCall(); } } } } break; default : break loop132; } } while (true); } break; } otherlv_6=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleXBasicForLoopExpression19368); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_4()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8404:1: ( (lv_expression_7_0= ruleXExpression ) )? int alt134=2; int LA134_0 = input.LA(1); if ( ((LA134_0>=RULE_ID && LA134_0<=RULE_INT)||(LA134_0>=RULE_STRING && LA134_0<=RULE_DECIMAL)||LA134_0==15||LA134_0==20||(LA134_0>=37 && LA134_0<=38)||LA134_0==42||LA134_0==45||LA134_0==47||LA134_0==49||LA134_0==52||LA134_0==56||LA134_0==65||(LA134_0>=70 && LA134_0<=71)||LA134_0==76||LA134_0==97||LA134_0==104||(LA134_0>=109 && LA134_0<=118)||LA134_0==120) ) { alt134=1; } switch (alt134) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8405:1: (lv_expression_7_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8405:1: (lv_expression_7_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8406:3: lv_expression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionXExpressionParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXBasicForLoopExpression19389); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } break; } otherlv_8=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleXBasicForLoopExpression19402); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_8, grammarAccess.getXBasicForLoopExpressionAccess().getSemicolonKeyword_6()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8426:1: ( ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* )? int alt136=2; int LA136_0 = input.LA(1); if ( ((LA136_0>=RULE_ID && LA136_0<=RULE_INT)||(LA136_0>=RULE_STRING && LA136_0<=RULE_DECIMAL)||LA136_0==15||LA136_0==20||(LA136_0>=37 && LA136_0<=38)||LA136_0==42||LA136_0==45||LA136_0==47||LA136_0==49||LA136_0==52||LA136_0==56||LA136_0==65||(LA136_0>=70 && LA136_0<=71)||LA136_0==76||LA136_0==97||LA136_0==104||(LA136_0>=109 && LA136_0<=118)||LA136_0==120) ) { alt136=1; } switch (alt136) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8426:2: ( (lv_updateExpressions_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8426:2: ( (lv_updateExpressions_9_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8427:1: (lv_updateExpressions_9_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8427:1: (lv_updateExpressions_9_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8428:3: lv_updateExpressions_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXBasicForLoopExpression19424); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8444:2: (otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) )* loop135: do { int alt135=2; int LA135_0 = input.LA(1); if ( (LA135_0==21) ) { alt135=1; } switch (alt135) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8444:4: otherlv_10= ',' ( (lv_updateExpressions_11_0= ruleXExpression ) ) { otherlv_10=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXBasicForLoopExpression19437); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXBasicForLoopExpressionAccess().getCommaKeyword_7_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8448:1: ( (lv_updateExpressions_11_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8449:1: (lv_updateExpressions_11_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8449:1: (lv_updateExpressions_11_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8450:3: lv_updateExpressions_11_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsXExpressionParserRuleCall_7_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXBasicForLoopExpression19458); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop135; } } while (true); } break; } otherlv_12=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXBasicForLoopExpression19474); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXBasicForLoopExpressionAccess().getRightParenthesisKeyword_8()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8470:1: ( (lv_eachExpression_13_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8471:1: (lv_eachExpression_13_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8471:1: (lv_eachExpression_13_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8472:3: lv_eachExpression_13_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionXExpressionParserRuleCall_9_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXBasicForLoopExpression19495); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXBasicForLoopExpression" // $ANTLR start "entryRuleXWhileExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8496:1: entryRuleXWhileExpression returns [EObject current=null] : iv_ruleXWhileExpression= ruleXWhileExpression EOF ; public final EObject entryRuleXWhileExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXWhileExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8497:2: (iv_ruleXWhileExpression= ruleXWhileExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8498:2: iv_ruleXWhileExpression= ruleXWhileExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXWhileExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXWhileExpression_in_entryRuleXWhileExpression19531); iv_ruleXWhileExpression=ruleXWhileExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXWhileExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXWhileExpression19541); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXWhileExpression" // $ANTLR start "ruleXWhileExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8505: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8508:28: ( ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8509:1: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8509:1: ( () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8509:2: () otherlv_1= 'while' otherlv_2= '(' ( (lv_predicate_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_body_5_0= ruleXExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8509:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8510:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXWhileExpressionAccess().getXWhileExpressionAction_0(), current); } } otherlv_1=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleXWhileExpression19587); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXWhileExpressionAccess().getWhileKeyword_1()); } otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXWhileExpression19599); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXWhileExpressionAccess().getLeftParenthesisKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8523:1: ( (lv_predicate_3_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8524:1: (lv_predicate_3_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8524:1: (lv_predicate_3_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8525:3: lv_predicate_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXWhileExpressionAccess().getPredicateXExpressionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXWhileExpression19620); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXWhileExpression19632); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXWhileExpressionAccess().getRightParenthesisKeyword_4()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8545:1: ( (lv_body_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8546:1: (lv_body_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8546:1: (lv_body_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8547:3: lv_body_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXWhileExpressionAccess().getBodyXExpressionParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXWhileExpression19653); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXWhileExpression" // $ANTLR start "entryRuleXDoWhileExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8571:1: entryRuleXDoWhileExpression returns [EObject current=null] : iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ; public final EObject entryRuleXDoWhileExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXDoWhileExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8572:2: (iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8573:2: iv_ruleXDoWhileExpression= ruleXDoWhileExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXDoWhileExpression_in_entryRuleXDoWhileExpression19689); iv_ruleXDoWhileExpression=ruleXDoWhileExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXDoWhileExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXDoWhileExpression19699); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXDoWhileExpression" // $ANTLR start "ruleXDoWhileExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8580: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8583:28: ( ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8584:1: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8584:1: ( () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8584:2: () otherlv_1= 'do' ( (lv_body_2_0= ruleXExpression ) ) otherlv_3= 'while' otherlv_4= '(' ( (lv_predicate_5_0= ruleXExpression ) ) otherlv_6= ')' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8584:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8585:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXDoWhileExpressionAccess().getXDoWhileExpressionAction_0(), current); } } otherlv_1=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleXDoWhileExpression19745); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXDoWhileExpressionAccess().getDoKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8594:1: ( (lv_body_2_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8595:1: (lv_body_2_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8595:1: (lv_body_2_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8596:3: lv_body_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getBodyXExpressionParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXDoWhileExpression19766); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleXDoWhileExpression19778); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXDoWhileExpressionAccess().getWhileKeyword_3()); } otherlv_4=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXDoWhileExpression19790); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXDoWhileExpressionAccess().getLeftParenthesisKeyword_4()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8620:1: ( (lv_predicate_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8621:1: (lv_predicate_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8621:1: (lv_predicate_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8622:3: lv_predicate_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXDoWhileExpressionAccess().getPredicateXExpressionParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXDoWhileExpression19811); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_6=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXDoWhileExpression19823); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8650:1: entryRuleXBlockExpression returns [EObject current=null] : iv_ruleXBlockExpression= ruleXBlockExpression EOF ; public final EObject entryRuleXBlockExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXBlockExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8651:2: (iv_ruleXBlockExpression= ruleXBlockExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8652:2: iv_ruleXBlockExpression= ruleXBlockExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBlockExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXBlockExpression_in_entryRuleXBlockExpression19859); iv_ruleXBlockExpression=ruleXBlockExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXBlockExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXBlockExpression19869); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXBlockExpression" // $ANTLR start "ruleXBlockExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8659: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8662:28: ( ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8663:1: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8663:1: ( () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8663:2: () otherlv_1= '{' ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* otherlv_4= '}' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8663:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8664:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBlockExpressionAccess().getXBlockExpressionAction_0(), current); } } otherlv_1=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleXBlockExpression19915); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBlockExpressionAccess().getLeftCurlyBracketKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8673:1: ( ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? )* loop138: do { int alt138=2; int LA138_0 = input.LA(1); if ( ((LA138_0>=RULE_ID && LA138_0<=RULE_INT)||(LA138_0>=RULE_STRING && LA138_0<=RULE_DECIMAL)||LA138_0==15||LA138_0==20||(LA138_0>=37 && LA138_0<=38)||LA138_0==42||LA138_0==45||LA138_0==47||LA138_0==49||LA138_0==52||LA138_0==56||LA138_0==65||(LA138_0>=70 && LA138_0<=71)||LA138_0==76||LA138_0==97||LA138_0==104||(LA138_0>=107 && LA138_0<=118)||LA138_0==120) ) { alt138=1; } switch (alt138) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8673:2: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) (otherlv_3= ';' )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8673:2: ( (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8674:1: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8674:1: (lv_expressions_2_0= ruleXExpressionOrVarDeclaration ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8675:3: lv_expressions_2_0= ruleXExpressionOrVarDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBlockExpressionAccess().getExpressionsXExpressionOrVarDeclarationParserRuleCall_2_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpressionOrVarDeclaration_in_ruleXBlockExpression19937); 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, "XExpressionOrVarDeclaration"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8691:2: (otherlv_3= ';' )? int alt137=2; int LA137_0 = input.LA(1); if ( (LA137_0==44) ) { alt137=1; } switch (alt137) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8691:4: otherlv_3= ';' { otherlv_3=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleXBlockExpression19950); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXBlockExpressionAccess().getSemicolonKeyword_2_1()); } } break; } } break; default : break loop138; } } while (true); otherlv_4=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleXBlockExpression19966); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8707:1: entryRuleXExpressionOrVarDeclaration returns [EObject current=null] : iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ; public final EObject entryRuleXExpressionOrVarDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXExpressionOrVarDeclaration = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8708:2: (iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8709:2: iv_ruleXExpressionOrVarDeclaration= ruleXExpressionOrVarDeclaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationRule()); } pushFollow(FollowSets000.FOLLOW_ruleXExpressionOrVarDeclaration_in_entryRuleXExpressionOrVarDeclaration20002); iv_ruleXExpressionOrVarDeclaration=ruleXExpressionOrVarDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXExpressionOrVarDeclaration; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXExpressionOrVarDeclaration20012); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXExpressionOrVarDeclaration" // $ANTLR start "ruleXExpressionOrVarDeclaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8716:1: ruleXExpressionOrVarDeclaration returns [EObject current=null] : (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ; public final EObject ruleXExpressionOrVarDeclaration() throws RecognitionException { EObject current = null; EObject this_XVariableDeclaration_0 = null; EObject this_XExpression_1 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8719:28: ( (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8720:1: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8720:1: (this_XVariableDeclaration_0= ruleXVariableDeclaration | this_XExpression_1= ruleXExpression ) int alt139=2; int LA139_0 = input.LA(1); if ( ((LA139_0>=107 && LA139_0<=108)) ) { alt139=1; } else if ( ((LA139_0>=RULE_ID && LA139_0<=RULE_INT)||(LA139_0>=RULE_STRING && LA139_0<=RULE_DECIMAL)||LA139_0==15||LA139_0==20||(LA139_0>=37 && LA139_0<=38)||LA139_0==42||LA139_0==45||LA139_0==47||LA139_0==49||LA139_0==52||LA139_0==56||LA139_0==65||(LA139_0>=70 && LA139_0<=71)||LA139_0==76||LA139_0==97||LA139_0==104||(LA139_0>=109 && LA139_0<=118)||LA139_0==120) ) { alt139=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 139, 0, input); throw nvae; } switch (alt139) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8721:5: this_XVariableDeclaration_0= ruleXVariableDeclaration { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXVariableDeclarationParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleXVariableDeclaration_in_ruleXExpressionOrVarDeclaration20059); this_XVariableDeclaration_0=ruleXVariableDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XVariableDeclaration_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8731:5: this_XExpression_1= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXExpressionOrVarDeclarationAccess().getXExpressionParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXExpressionOrVarDeclaration20086); this_XExpression_1=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_XExpression_1; afterParserOrEnumRuleCall(); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXExpressionOrVarDeclaration" // $ANTLR start "entryRuleXVariableDeclaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8747:1: entryRuleXVariableDeclaration returns [EObject current=null] : iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ; public final EObject entryRuleXVariableDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXVariableDeclaration = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8748:2: (iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8749:2: iv_ruleXVariableDeclaration= ruleXVariableDeclaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationRule()); } pushFollow(FollowSets000.FOLLOW_ruleXVariableDeclaration_in_entryRuleXVariableDeclaration20121); iv_ruleXVariableDeclaration=ruleXVariableDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXVariableDeclaration; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXVariableDeclaration20131); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXVariableDeclaration" // $ANTLR start "ruleXVariableDeclaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8756:1: ruleXVariableDeclaration returns [EObject current=null] : ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ; public final EObject ruleXVariableDeclaration() throws RecognitionException { EObject current = null; Token lv_writeable_1_0=null; Token otherlv_2=null; Token otherlv_6=null; EObject lv_type_3_0 = null; AntlrDatatypeRuleToken lv_name_4_0 = null; AntlrDatatypeRuleToken lv_name_5_0 = null; EObject lv_right_7_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8759:28: ( ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8760:1: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8760:1: ( () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8760:2: () ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8760:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8761:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXVariableDeclarationAccess().getXVariableDeclarationAction_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8766:2: ( ( (lv_writeable_1_0= 'var' ) ) | otherlv_2= 'val' ) int alt140=2; int LA140_0 = input.LA(1); if ( (LA140_0==107) ) { alt140=1; } else if ( (LA140_0==108) ) { 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 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8766:3: ( (lv_writeable_1_0= 'var' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8766:3: ( (lv_writeable_1_0= 'var' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8767:1: (lv_writeable_1_0= 'var' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8767:1: (lv_writeable_1_0= 'var' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8768:3: lv_writeable_1_0= 'var' { lv_writeable_1_0=(Token)match(input,107,FollowSets000.FOLLOW_107_in_ruleXVariableDeclaration20184); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_writeable_1_0, grammarAccess.getXVariableDeclarationAccess().getWriteableVarKeyword_1_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXVariableDeclarationRule()); } setWithLastConsumed(current, "writeable", true, "var"); } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8782:7: otherlv_2= 'val' { otherlv_2=(Token)match(input,108,FollowSets000.FOLLOW_108_in_ruleXVariableDeclaration20215); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXVariableDeclarationAccess().getValKeyword_1_1()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8786:2: ( ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) | ( (lv_name_5_0= ruleValidID ) ) ) int alt141=2; int LA141_0 = input.LA(1); if ( (LA141_0==RULE_ID) ) { int LA141_1 = input.LA(2); if ( (synpred31_InternalIoT()) ) { alt141=1; } else if ( (true) ) { alt141=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 141, 1, input); throw nvae; } } else if ( (LA141_0==20) && (synpred31_InternalIoT())) { alt141=1; } else if ( (LA141_0==93) && (synpred31_InternalIoT())) { alt141=1; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 141, 0, input); throw nvae; } switch (alt141) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8786:3: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8786:3: ( ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8786:4: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) )=> ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8794:6: ( ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8794:7: ( (lv_type_3_0= ruleJvmTypeReference ) ) ( (lv_name_4_0= ruleValidID ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8794:7: ( (lv_type_3_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8795:1: (lv_type_3_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8795:1: (lv_type_3_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8796:3: lv_type_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getTypeJvmTypeReferenceParserRuleCall_2_0_0_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleXVariableDeclaration20263); lv_type_3_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); } set( current, "type", lv_type_3_0, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8812:2: ( (lv_name_4_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8813:1: (lv_name_4_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8813:1: (lv_name_4_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8814:3: lv_name_4_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_0_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleXVariableDeclaration20284); lv_name_4_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); } set( current, "name", lv_name_4_0, "ValidID"); afterParserOrEnumRuleCall(); } } } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8831:6: ( (lv_name_5_0= ruleValidID ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8831:6: ( (lv_name_5_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8832:1: (lv_name_5_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8832:1: (lv_name_5_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8833:3: lv_name_5_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getNameValidIDParserRuleCall_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleXVariableDeclaration20313); lv_name_5_0=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); } set( current, "name", lv_name_5_0, "ValidID"); afterParserOrEnumRuleCall(); } } } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8849:3: (otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) )? int alt142=2; int LA142_0 = input.LA(1); if ( (LA142_0==35) ) { alt142=1; } switch (alt142) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8849:5: otherlv_6= '=' ( (lv_right_7_0= ruleXExpression ) ) { otherlv_6=(Token)match(input,35,FollowSets000.FOLLOW_35_in_ruleXVariableDeclaration20327); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXVariableDeclarationAccess().getEqualsSignKeyword_3_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8853:1: ( (lv_right_7_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8854:1: (lv_right_7_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8854:1: (lv_right_7_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8855:3: lv_right_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXVariableDeclarationAccess().getRightXExpressionParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXVariableDeclaration20348); lv_right_7_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXVariableDeclarationRule()); } set( current, "right", lv_right_7_0, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXVariableDeclaration" // $ANTLR start "entryRuleJvmFormalParameter" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8879:1: entryRuleJvmFormalParameter returns [EObject current=null] : iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ; public final EObject entryRuleJvmFormalParameter() throws RecognitionException { EObject current = null; EObject iv_ruleJvmFormalParameter = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8880:2: (iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8881:2: iv_ruleJvmFormalParameter= ruleJvmFormalParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterRule()); } pushFollow(FollowSets000.FOLLOW_ruleJvmFormalParameter_in_entryRuleJvmFormalParameter20386); iv_ruleJvmFormalParameter=ruleJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmFormalParameter; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJvmFormalParameter20396); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmFormalParameter" // $ANTLR start "ruleJvmFormalParameter" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8888:1: ruleJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ; public final EObject ruleJvmFormalParameter() throws RecognitionException { EObject current = null; EObject lv_parameterType_0_0 = null; AntlrDatatypeRuleToken lv_name_1_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8891:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8892:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8892:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8892:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? ( (lv_name_1_0= ruleValidID ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8892:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) )? int alt143=2; int LA143_0 = input.LA(1); if ( (LA143_0==RULE_ID) ) { int LA143_1 = input.LA(2); if ( (LA143_1==RULE_ID||LA143_1==42||LA143_1==58||LA143_1==65) ) { alt143=1; } } else if ( (LA143_0==20||LA143_0==93) ) { alt143=1; } switch (alt143) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8893:1: (lv_parameterType_0_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8893:1: (lv_parameterType_0_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8894:3: lv_parameterType_0_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleJvmFormalParameter20442); lv_parameterType_0_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getJvmFormalParameterRule()); } set( current, "parameterType", lv_parameterType_0_0, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8910:3: ( (lv_name_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8911:1: (lv_name_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8911:1: (lv_name_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8912:3: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleJvmFormalParameter20464); 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, "ValidID"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmFormalParameter" // $ANTLR start "entryRuleFullJvmFormalParameter" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8936:1: entryRuleFullJvmFormalParameter returns [EObject current=null] : iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ; public final EObject entryRuleFullJvmFormalParameter() throws RecognitionException { EObject current = null; EObject iv_ruleFullJvmFormalParameter = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8937:2: (iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8938:2: iv_ruleFullJvmFormalParameter= ruleFullJvmFormalParameter EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterRule()); } pushFollow(FollowSets000.FOLLOW_ruleFullJvmFormalParameter_in_entryRuleFullJvmFormalParameter20500); iv_ruleFullJvmFormalParameter=ruleFullJvmFormalParameter(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFullJvmFormalParameter; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFullJvmFormalParameter20510); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFullJvmFormalParameter" // $ANTLR start "ruleFullJvmFormalParameter" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8945:1: ruleFullJvmFormalParameter returns [EObject current=null] : ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ; public final EObject ruleFullJvmFormalParameter() throws RecognitionException { EObject current = null; EObject lv_parameterType_0_0 = null; AntlrDatatypeRuleToken lv_name_1_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8948:28: ( ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8949:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8949:1: ( ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8949:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) ( (lv_name_1_0= ruleValidID ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8949:2: ( (lv_parameterType_0_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8950:1: (lv_parameterType_0_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8950:1: (lv_parameterType_0_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8951:3: lv_parameterType_0_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeJvmTypeReferenceParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleFullJvmFormalParameter20556); lv_parameterType_0_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getFullJvmFormalParameterRule()); } set( current, "parameterType", lv_parameterType_0_0, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8967:2: ( (lv_name_1_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8968:1: (lv_name_1_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8968:1: (lv_name_1_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8969:3: lv_name_1_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFullJvmFormalParameterAccess().getNameValidIDParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleFullJvmFormalParameter20577); 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, "ValidID"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFullJvmFormalParameter" // $ANTLR start "entryRuleXFeatureCall" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8993:1: entryRuleXFeatureCall returns [EObject current=null] : iv_ruleXFeatureCall= ruleXFeatureCall EOF ; public final EObject entryRuleXFeatureCall() throws RecognitionException { EObject current = null; EObject iv_ruleXFeatureCall = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8994:2: (iv_ruleXFeatureCall= ruleXFeatureCall EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8995:2: iv_ruleXFeatureCall= ruleXFeatureCall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallRule()); } pushFollow(FollowSets000.FOLLOW_ruleXFeatureCall_in_entryRuleXFeatureCall20613); iv_ruleXFeatureCall=ruleXFeatureCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXFeatureCall; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXFeatureCall20623); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXFeatureCall" // $ANTLR start "ruleXFeatureCall" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9002: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9005:28: ( ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9006:1: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9006:1: ( () (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? ( ( ruleIdOrSuper ) ) ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9006: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 ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9006:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9007:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXFeatureCallAccess().getXFeatureCallAction_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9012:2: (otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' )? int alt145=2; int LA145_0 = input.LA(1); if ( (LA145_0==65) ) { alt145=1; } switch (alt145) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9012:4: otherlv_1= '<' ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' { otherlv_1=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleXFeatureCall20670); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXFeatureCallAccess().getLessThanSignKeyword_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9016:1: ( (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9017:1: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9017:1: (lv_typeArguments_2_0= ruleJvmArgumentTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9018:3: lv_typeArguments_2_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_ruleXFeatureCall20691); 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, "JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9034:2: (otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) )* loop144: do { int alt144=2; int LA144_0 = input.LA(1); if ( (LA144_0==21) ) { alt144=1; } switch (alt144) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9034:4: otherlv_3= ',' ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) { otherlv_3=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXFeatureCall20704); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXFeatureCallAccess().getCommaKeyword_1_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9038:1: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9039:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9039:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9040:3: lv_typeArguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_ruleXFeatureCall20725); 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, "JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop144; } } while (true); otherlv_5=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleXFeatureCall20739); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXFeatureCallAccess().getGreaterThanSignKeyword_1_3()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9060:3: ( ( ruleIdOrSuper ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9061:1: ( ruleIdOrSuper ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9061:1: ( ruleIdOrSuper ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9062:3: ruleIdOrSuper { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXFeatureCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureJvmIdentifiableElementCrossReference_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleIdOrSuper_in_ruleXFeatureCall20764); ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9075:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )? int alt148=2; alt148 = dfa148.predict(input); switch (alt148) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9075: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= ')' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9075:3: ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9075:4: ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9082:1: (lv_explicitOperationCall_7_0= '(' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9083:3: lv_explicitOperationCall_7_0= '(' { lv_explicitOperationCall_7_0=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXFeatureCall20798); 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, "("); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9096:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? int alt147=3; alt147 = dfa147.predict(input); switch (alt147) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9096:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9096:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9096:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9113:1: (lv_featureCallArguments_8_0= ruleXShortClosure ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9114:3: lv_featureCallArguments_8_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXShortClosureParserRuleCall_3_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXShortClosure_in_ruleXFeatureCall20883); 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, "XShortClosure"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9131:6: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9131:6: ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9131:7: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9131:7: ( (lv_featureCallArguments_9_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9132:1: (lv_featureCallArguments_9_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9132:1: (lv_featureCallArguments_9_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9133:3: lv_featureCallArguments_9_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXFeatureCall20911); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9149:2: (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* loop146: do { int alt146=2; int LA146_0 = input.LA(1); if ( (LA146_0==21) ) { alt146=1; } switch (alt146) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9149:4: otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) { otherlv_10=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXFeatureCall20924); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_10, grammarAccess.getXFeatureCallAccess().getCommaKeyword_3_1_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9153:1: ( (lv_featureCallArguments_11_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9154:1: (lv_featureCallArguments_11_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9154:1: (lv_featureCallArguments_11_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9155:3: lv_featureCallArguments_11_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXExpressionParserRuleCall_3_1_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXFeatureCall20945); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop146; } } while (true); } } break; } otherlv_12=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXFeatureCall20962); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_12, grammarAccess.getXFeatureCallAccess().getRightParenthesisKeyword_3_2()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9175:3: ( ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) )? int alt149=2; alt149 = dfa149.predict(input); switch (alt149) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9175:4: ( ( () '[' ) )=> (lv_featureCallArguments_13_0= ruleXClosure ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9178:1: (lv_featureCallArguments_13_0= ruleXClosure ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9179:3: lv_featureCallArguments_13_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsXClosureParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleXClosure_in_ruleXFeatureCall20997); 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, "XClosure"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXFeatureCall" // $ANTLR start "entryRuleFeatureCallID" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9203:1: entryRuleFeatureCallID returns [String current=null] : iv_ruleFeatureCallID= ruleFeatureCallID EOF ; public final String entryRuleFeatureCallID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleFeatureCallID = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9204:2: (iv_ruleFeatureCallID= ruleFeatureCallID EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9205:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFeatureCallIDRule()); } pushFollow(FollowSets000.FOLLOW_ruleFeatureCallID_in_entryRuleFeatureCallID21035); iv_ruleFeatureCallID=ruleFeatureCallID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleFeatureCallID.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFeatureCallID21046); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleFeatureCallID" // $ANTLR start "ruleFeatureCallID" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9212:1: ruleFeatureCallID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ; public final AntlrDatatypeRuleToken ruleFeatureCallID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; AntlrDatatypeRuleToken this_ValidID_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9215:28: ( (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9216:1: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9216:1: (this_ValidID_0= ruleValidID | kw= 'extends' | kw= 'static' | kw= 'import' | kw= 'extension' ) int alt150=5; switch ( input.LA(1) ) { case RULE_ID: { alt150=1; } break; case 109: { alt150=2; } break; case 110: { alt150=3; } break; case 111: { alt150=4; } break; case 112: { alt150=5; } break; default: if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 150, 0, input); throw nvae; } switch (alt150) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9217:5: this_ValidID_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getFeatureCallIDAccess().getValidIDParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleFeatureCallID21093); 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 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9229:2: kw= 'extends' { kw=(Token)match(input,109,FollowSets000.FOLLOW_109_in_ruleFeatureCallID21117); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtendsKeyword_1()); } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9236:2: kw= 'static' { kw=(Token)match(input,110,FollowSets000.FOLLOW_110_in_ruleFeatureCallID21136); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getStaticKeyword_2()); } } break; case 4 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9243:2: kw= 'import' { kw=(Token)match(input,111,FollowSets000.FOLLOW_111_in_ruleFeatureCallID21155); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getImportKeyword_3()); } } break; case 5 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9250:2: kw= 'extension' { kw=(Token)match(input,112,FollowSets000.FOLLOW_112_in_ruleFeatureCallID21174); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getFeatureCallIDAccess().getExtensionKeyword_4()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleFeatureCallID" // $ANTLR start "entryRuleIdOrSuper" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9263:1: entryRuleIdOrSuper returns [String current=null] : iv_ruleIdOrSuper= ruleIdOrSuper EOF ; public final String entryRuleIdOrSuper() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleIdOrSuper = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9264:2: (iv_ruleIdOrSuper= ruleIdOrSuper EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9265:2: iv_ruleIdOrSuper= ruleIdOrSuper EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIdOrSuperRule()); } pushFollow(FollowSets000.FOLLOW_ruleIdOrSuper_in_entryRuleIdOrSuper21215); iv_ruleIdOrSuper=ruleIdOrSuper(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleIdOrSuper.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIdOrSuper21226); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleIdOrSuper" // $ANTLR start "ruleIdOrSuper" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9272: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9275:28: ( (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9276:1: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9276:1: (this_FeatureCallID_0= ruleFeatureCallID | kw= 'super' ) int alt151=2; int LA151_0 = input.LA(1); if ( (LA151_0==RULE_ID||(LA151_0>=109 && LA151_0<=112)) ) { alt151=1; } else if ( (LA151_0==113) ) { alt151=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 151, 0, input); throw nvae; } switch (alt151) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9277:5: this_FeatureCallID_0= ruleFeatureCallID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getIdOrSuperAccess().getFeatureCallIDParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleFeatureCallID_in_ruleIdOrSuper21273); 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 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9289:2: kw= 'super' { kw=(Token)match(input,113,FollowSets000.FOLLOW_113_in_ruleIdOrSuper21297); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getIdOrSuperAccess().getSuperKeyword_1()); } } break; } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleIdOrSuper" // $ANTLR start "entryRuleXConstructorCall" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9302:1: entryRuleXConstructorCall returns [EObject current=null] : iv_ruleXConstructorCall= ruleXConstructorCall EOF ; public final EObject entryRuleXConstructorCall() throws RecognitionException { EObject current = null; EObject iv_ruleXConstructorCall = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9303:2: (iv_ruleXConstructorCall= ruleXConstructorCall EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9304:2: iv_ruleXConstructorCall= ruleXConstructorCall EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallRule()); } pushFollow(FollowSets000.FOLLOW_ruleXConstructorCall_in_entryRuleXConstructorCall21337); iv_ruleXConstructorCall=ruleXConstructorCall(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXConstructorCall; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXConstructorCall21347); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXConstructorCall" // $ANTLR start "ruleXConstructorCall" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9311:1: ruleXConstructorCall returns [EObject current=null] : ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ; public final EObject ruleXConstructorCall() throws RecognitionException { EObject current = null; Token otherlv_1=null; Token otherlv_3=null; Token otherlv_5=null; Token otherlv_7=null; Token lv_explicitConstructorCall_8_0=null; Token otherlv_11=null; Token otherlv_13=null; EObject lv_typeArguments_4_0 = null; EObject lv_typeArguments_6_0 = null; EObject lv_arguments_9_0 = null; EObject lv_arguments_10_0 = null; EObject lv_arguments_12_0 = null; EObject lv_arguments_14_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9314:28: ( ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9315:1: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9315:1: ( () otherlv_1= 'new' ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9315: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 ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9315:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9316:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXConstructorCallAccess().getXConstructorCallAction_0(), current); } } otherlv_1=(Token)match(input,114,FollowSets000.FOLLOW_114_in_ruleXConstructorCall21393); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXConstructorCallAccess().getNewKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9325:1: ( ( ruleQualifiedName ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9326:1: ( ruleQualifiedName ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9326:1: ( ruleQualifiedName ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9327:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXConstructorCallRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getConstructorJvmConstructorCrossReference_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_ruleXConstructorCall21416); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9340:2: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )? int alt153=2; alt153 = dfa153.predict(input); switch (alt153) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9340:3: ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9340:3: ( ( '<' )=>otherlv_3= '<' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9340:4: ( '<' )=>otherlv_3= '<' { otherlv_3=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleXConstructorCall21437); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXConstructorCallAccess().getLessThanSignKeyword_3_0()); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9345:2: ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9346:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9346:1: (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9347:3: lv_typeArguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_ruleXConstructorCall21459); lv_typeArguments_4_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "typeArguments", lv_typeArguments_4_0, "JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9363:2: (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* loop152: do { int alt152=2; int LA152_0 = input.LA(1); if ( (LA152_0==21) ) { alt152=1; } switch (alt152) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9363:4: otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) { otherlv_5=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXConstructorCall21472); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXConstructorCallAccess().getCommaKeyword_3_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9367:1: ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9368:1: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9368:1: (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9369:3: lv_typeArguments_6_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getTypeArgumentsJvmArgumentTypeReferenceParserRuleCall_3_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_ruleXConstructorCall21493); lv_typeArguments_6_0=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "typeArguments", lv_typeArguments_6_0, "JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop152; } } while (true); otherlv_7=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleXConstructorCall21507); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getXConstructorCallAccess().getGreaterThanSignKeyword_3_3()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9389:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )? int alt156=2; alt156 = dfa156.predict(input); switch (alt156) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9389: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= ')' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9389:4: ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9389:5: ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9396:1: (lv_explicitConstructorCall_8_0= '(' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9397:3: lv_explicitConstructorCall_8_0= '(' { lv_explicitConstructorCall_8_0=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXConstructorCall21543); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_explicitConstructorCall_8_0, grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallLeftParenthesisKeyword_4_0_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXConstructorCallRule()); } setWithLastConsumed(current, "explicitConstructorCall", true, "("); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9410:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? int alt155=3; alt155 = dfa155.predict(input); switch (alt155) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9410:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9410:3: ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9410:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9427:1: (lv_arguments_9_0= ruleXShortClosure ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9428:3: lv_arguments_9_0= ruleXShortClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXShortClosureParserRuleCall_4_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXShortClosure_in_ruleXConstructorCall21628); lv_arguments_9_0=ruleXShortClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "arguments", lv_arguments_9_0, "XShortClosure"); afterParserOrEnumRuleCall(); } } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9445:6: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9445:6: ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9445:7: ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9445:7: ( (lv_arguments_10_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9446:1: (lv_arguments_10_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9446:1: (lv_arguments_10_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9447:3: lv_arguments_10_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXConstructorCall21656); lv_arguments_10_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "arguments", lv_arguments_10_0, "XExpression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9463:2: (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* loop154: do { int alt154=2; int LA154_0 = input.LA(1); if ( (LA154_0==21) ) { alt154=1; } switch (alt154) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9463:4: otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) { otherlv_11=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXConstructorCall21669); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getXConstructorCallAccess().getCommaKeyword_4_1_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9467:1: ( (lv_arguments_12_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9468:1: (lv_arguments_12_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9468:1: (lv_arguments_12_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9469:3: lv_arguments_12_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXExpressionParserRuleCall_4_1_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXConstructorCall21690); lv_arguments_12_0=ruleXExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "arguments", lv_arguments_12_0, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; default : break loop154; } } while (true); } } break; } otherlv_13=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXConstructorCall21707); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getXConstructorCallAccess().getRightParenthesisKeyword_4_2()); } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9489:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )? int alt157=2; alt157 = dfa157.predict(input); switch (alt157) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9489:4: ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9492:1: (lv_arguments_14_0= ruleXClosure ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9493:3: lv_arguments_14_0= ruleXClosure { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXConstructorCallAccess().getArgumentsXClosureParserRuleCall_5_0()); } pushFollow(FollowSets000.FOLLOW_ruleXClosure_in_ruleXConstructorCall21742); lv_arguments_14_0=ruleXClosure(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { if (current==null) { current = createModelElementForParent(grammarAccess.getXConstructorCallRule()); } add( current, "arguments", lv_arguments_14_0, "XClosure"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXConstructorCall" // $ANTLR start "entryRuleXBooleanLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9517:1: entryRuleXBooleanLiteral returns [EObject current=null] : iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ; public final EObject entryRuleXBooleanLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXBooleanLiteral = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9518:2: (iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9519:2: iv_ruleXBooleanLiteral= ruleXBooleanLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXBooleanLiteralRule()); } pushFollow(FollowSets000.FOLLOW_ruleXBooleanLiteral_in_entryRuleXBooleanLiteral21779); iv_ruleXBooleanLiteral=ruleXBooleanLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXBooleanLiteral; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXBooleanLiteral21789); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXBooleanLiteral" // $ANTLR start "ruleXBooleanLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9526: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9529:28: ( ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9530:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9530:1: ( () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9530:2: () (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9530:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9531:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXBooleanLiteralAccess().getXBooleanLiteralAction_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9536:2: (otherlv_1= 'false' | ( (lv_isTrue_2_0= 'true' ) ) ) int alt158=2; int LA158_0 = input.LA(1); if ( (LA158_0==38) ) { alt158=1; } else if ( (LA158_0==37) ) { alt158=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 158, 0, input); throw nvae; } switch (alt158) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9536:4: otherlv_1= 'false' { otherlv_1=(Token)match(input,38,FollowSets000.FOLLOW_38_in_ruleXBooleanLiteral21836); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXBooleanLiteralAccess().getFalseKeyword_1_0()); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9541:6: ( (lv_isTrue_2_0= 'true' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9541:6: ( (lv_isTrue_2_0= 'true' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9542:1: (lv_isTrue_2_0= 'true' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9542:1: (lv_isTrue_2_0= 'true' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9543:3: lv_isTrue_2_0= 'true' { lv_isTrue_2_0=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleXBooleanLiteral21860); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9564:1: entryRuleXNullLiteral returns [EObject current=null] : iv_ruleXNullLiteral= ruleXNullLiteral EOF ; public final EObject entryRuleXNullLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXNullLiteral = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9565:2: (iv_ruleXNullLiteral= ruleXNullLiteral EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9566:2: iv_ruleXNullLiteral= ruleXNullLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXNullLiteralRule()); } pushFollow(FollowSets000.FOLLOW_ruleXNullLiteral_in_entryRuleXNullLiteral21910); iv_ruleXNullLiteral=ruleXNullLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXNullLiteral; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXNullLiteral21920); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXNullLiteral" // $ANTLR start "ruleXNullLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9573:1: ruleXNullLiteral returns [EObject current=null] : ( () otherlv_1= 'null' ) ; public final EObject ruleXNullLiteral() throws RecognitionException { EObject current = null; Token otherlv_1=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9576:28: ( ( () otherlv_1= 'null' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9577:1: ( () otherlv_1= 'null' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9577:1: ( () otherlv_1= 'null' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9577:2: () otherlv_1= 'null' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9577:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9578:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXNullLiteralAccess().getXNullLiteralAction_0(), current); } } otherlv_1=(Token)match(input,115,FollowSets000.FOLLOW_115_in_ruleXNullLiteral21966); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9595:1: entryRuleXNumberLiteral returns [EObject current=null] : iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ; public final EObject entryRuleXNumberLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXNumberLiteral = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9596:2: (iv_ruleXNumberLiteral= ruleXNumberLiteral EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9597:2: iv_ruleXNumberLiteral= ruleXNumberLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXNumberLiteralRule()); } pushFollow(FollowSets000.FOLLOW_ruleXNumberLiteral_in_entryRuleXNumberLiteral22002); iv_ruleXNumberLiteral=ruleXNumberLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXNumberLiteral; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXNumberLiteral22012); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXNumberLiteral" // $ANTLR start "ruleXNumberLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9604: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9607:28: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9608:1: ( () ( (lv_value_1_0= ruleNumber ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9608:1: ( () ( (lv_value_1_0= ruleNumber ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9608:2: () ( (lv_value_1_0= ruleNumber ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9608:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9609:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9614:2: ( (lv_value_1_0= ruleNumber ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9615:1: (lv_value_1_0= ruleNumber ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9615:1: (lv_value_1_0= ruleNumber ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9616:3: lv_value_1_0= ruleNumber { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleNumber_in_ruleXNumberLiteral22067); 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, "Number"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXNumberLiteral" // $ANTLR start "entryRuleXStringLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9640:1: entryRuleXStringLiteral returns [EObject current=null] : iv_ruleXStringLiteral= ruleXStringLiteral EOF ; public final EObject entryRuleXStringLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXStringLiteral = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9641:2: (iv_ruleXStringLiteral= ruleXStringLiteral EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9642:2: iv_ruleXStringLiteral= ruleXStringLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXStringLiteralRule()); } pushFollow(FollowSets000.FOLLOW_ruleXStringLiteral_in_entryRuleXStringLiteral22103); iv_ruleXStringLiteral=ruleXStringLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXStringLiteral; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXStringLiteral22113); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXStringLiteral" // $ANTLR start "ruleXStringLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9649:1: ruleXStringLiteral returns [EObject current=null] : ( () ( (lv_value_1_0= RULE_STRING ) ) ) ; public final EObject ruleXStringLiteral() throws RecognitionException { EObject current = null; Token lv_value_1_0=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9652:28: ( ( () ( (lv_value_1_0= RULE_STRING ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9653:1: ( () ( (lv_value_1_0= RULE_STRING ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9653:1: ( () ( (lv_value_1_0= RULE_STRING ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9653:2: () ( (lv_value_1_0= RULE_STRING ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9653:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9654:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXStringLiteralAccess().getXStringLiteralAction_0(), current); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9659:2: ( (lv_value_1_0= RULE_STRING ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9660:1: (lv_value_1_0= RULE_STRING ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9660:1: (lv_value_1_0= RULE_STRING ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9661:3: lv_value_1_0= RULE_STRING { lv_value_1_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleXStringLiteral22164); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(lv_value_1_0, grammarAccess.getXStringLiteralAccess().getValueSTRINGTerminalRuleCall_1_0()); } if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXStringLiteralRule()); } setWithLastConsumed( current, "value", lv_value_1_0, "STRING"); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXStringLiteral" // $ANTLR start "entryRuleXTypeLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9685:1: entryRuleXTypeLiteral returns [EObject current=null] : iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ; public final EObject entryRuleXTypeLiteral() throws RecognitionException { EObject current = null; EObject iv_ruleXTypeLiteral = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9686:2: (iv_ruleXTypeLiteral= ruleXTypeLiteral EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9687:2: iv_ruleXTypeLiteral= ruleXTypeLiteral EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralRule()); } pushFollow(FollowSets000.FOLLOW_ruleXTypeLiteral_in_entryRuleXTypeLiteral22205); iv_ruleXTypeLiteral=ruleXTypeLiteral(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXTypeLiteral; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXTypeLiteral22215); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXTypeLiteral" // $ANTLR start "ruleXTypeLiteral" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9694: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9697:28: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9698:1: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9698:1: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9698:2: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9698:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9699:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(), current); } } otherlv_1=(Token)match(input,116,FollowSets000.FOLLOW_116_in_ruleXTypeLiteral22261); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1()); } otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXTypeLiteral22273); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9712:1: ( ( ruleQualifiedName ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9713:1: ( ruleQualifiedName ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9713:1: ( ruleQualifiedName ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9714:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXTypeLiteralRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_ruleXTypeLiteral22296); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9727:2: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* loop159: do { int alt159=2; int LA159_0 = input.LA(1); if ( (LA159_0==42) ) { alt159=1; } switch (alt159) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9728:1: (lv_arrayDimensions_4_0= ruleArrayBrackets ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9728:1: (lv_arrayDimensions_4_0= ruleArrayBrackets ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9729:3: lv_arrayDimensions_4_0= ruleArrayBrackets { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleArrayBrackets_in_ruleXTypeLiteral22317); 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, "ArrayBrackets"); afterParserOrEnumRuleCall(); } } } break; default : break loop159; } } while (true); otherlv_5=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXTypeLiteral22330); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9757:1: entryRuleXThrowExpression returns [EObject current=null] : iv_ruleXThrowExpression= ruleXThrowExpression EOF ; public final EObject entryRuleXThrowExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXThrowExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9758:2: (iv_ruleXThrowExpression= ruleXThrowExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9759:2: iv_ruleXThrowExpression= ruleXThrowExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXThrowExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXThrowExpression_in_entryRuleXThrowExpression22366); iv_ruleXThrowExpression=ruleXThrowExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXThrowExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXThrowExpression22376); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXThrowExpression" // $ANTLR start "ruleXThrowExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9766: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9769:28: ( ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9770:1: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9770:1: ( () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9770:2: () otherlv_1= 'throw' ( (lv_expression_2_0= ruleXExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9770:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9771:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXThrowExpressionAccess().getXThrowExpressionAction_0(), current); } } otherlv_1=(Token)match(input,117,FollowSets000.FOLLOW_117_in_ruleXThrowExpression22422); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXThrowExpressionAccess().getThrowKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9780:1: ( (lv_expression_2_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9781:1: (lv_expression_2_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9781:1: (lv_expression_2_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9782:3: lv_expression_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXThrowExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXThrowExpression22443); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXThrowExpression" // $ANTLR start "entryRuleXReturnExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9806:1: entryRuleXReturnExpression returns [EObject current=null] : iv_ruleXReturnExpression= ruleXReturnExpression EOF ; public final EObject entryRuleXReturnExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXReturnExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9807:2: (iv_ruleXReturnExpression= ruleXReturnExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9808:2: iv_ruleXReturnExpression= ruleXReturnExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReturnExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXReturnExpression_in_entryRuleXReturnExpression22479); iv_ruleXReturnExpression=ruleXReturnExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXReturnExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXReturnExpression22489); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXReturnExpression" // $ANTLR start "ruleXReturnExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9815:1: ruleXReturnExpression returns [EObject current=null] : ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ; public final EObject ruleXReturnExpression() throws RecognitionException { EObject current = null; Token otherlv_1=null; EObject lv_expression_2_0 = null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9818:28: ( ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9819:1: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9819:1: ( () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9819:2: () otherlv_1= 'return' ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9819:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9820:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXReturnExpressionAccess().getXReturnExpressionAction_0(), current); } } otherlv_1=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleXReturnExpression22535); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXReturnExpressionAccess().getReturnKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9829:1: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )? int alt160=2; alt160 = dfa160.predict(input); switch (alt160) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9829:2: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9857:1: (lv_expression_2_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9858:3: lv_expression_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXReturnExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXReturnExpression22770); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXReturnExpression" // $ANTLR start "entryRuleXTryCatchFinallyExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9882:1: entryRuleXTryCatchFinallyExpression returns [EObject current=null] : iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ; public final EObject entryRuleXTryCatchFinallyExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXTryCatchFinallyExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9883:2: (iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9884:2: iv_ruleXTryCatchFinallyExpression= ruleXTryCatchFinallyExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXTryCatchFinallyExpression_in_entryRuleXTryCatchFinallyExpression22807); iv_ruleXTryCatchFinallyExpression=ruleXTryCatchFinallyExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXTryCatchFinallyExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXTryCatchFinallyExpression22817); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXTryCatchFinallyExpression" // $ANTLR start "ruleXTryCatchFinallyExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9891: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9894:28: ( ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9895:1: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9895:1: ( () otherlv_1= 'try' ( (lv_expression_2_0= ruleXExpression ) ) ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9895: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 ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9895:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9896:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXTryCatchFinallyExpressionAccess().getXTryCatchFinallyExpressionAction_0(), current); } } otherlv_1=(Token)match(input,118,FollowSets000.FOLLOW_118_in_ruleXTryCatchFinallyExpression22863); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXTryCatchFinallyExpressionAccess().getTryKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9905:1: ( (lv_expression_2_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9906:1: (lv_expression_2_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9906:1: (lv_expression_2_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9907:3: lv_expression_2_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionXExpressionParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXTryCatchFinallyExpression22884); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9923:2: ( ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) | (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) ) int alt163=2; int LA163_0 = input.LA(1); if ( (LA163_0==121) ) { alt163=1; } else if ( (LA163_0==119) ) { alt163=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 163, 0, input); throw nvae; } switch (alt163) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9923:3: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9923:3: ( ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9923:4: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9923:4: ( ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) )+ int cnt161=0; loop161: do { int alt161=2; int LA161_0 = input.LA(1); if ( (LA161_0==121) ) { int LA161_2 = input.LA(2); if ( (synpred40_InternalIoT()) ) { alt161=1; } } switch (alt161) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9923:5: ( 'catch' )=> (lv_catchClauses_3_0= ruleXCatchClause ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9925:1: (lv_catchClauses_3_0= ruleXCatchClause ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9926:3: lv_catchClauses_3_0= ruleXCatchClause { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesXCatchClauseParserRuleCall_3_0_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleXCatchClause_in_ruleXTryCatchFinallyExpression22914); 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, "XCatchClause"); afterParserOrEnumRuleCall(); } } } break; default : if ( cnt161 >= 1 ) break loop161; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(161, input); throw eee; } cnt161++; } while (true); // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9942:3: ( ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) )? int alt162=2; int LA162_0 = input.LA(1); if ( (LA162_0==119) ) { int LA162_1 = input.LA(2); if ( (synpred41_InternalIoT()) ) { alt162=1; } } switch (alt162) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9942:4: ( ( 'finally' )=>otherlv_4= 'finally' ) ( (lv_finallyExpression_5_0= ruleXExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9942:4: ( ( 'finally' )=>otherlv_4= 'finally' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9942:5: ( 'finally' )=>otherlv_4= 'finally' { otherlv_4=(Token)match(input,119,FollowSets000.FOLLOW_119_in_ruleXTryCatchFinallyExpression22936); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_0_1_0()); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9947:2: ( (lv_finallyExpression_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9948:1: (lv_finallyExpression_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9948:1: (lv_finallyExpression_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9949:3: lv_finallyExpression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_0_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXTryCatchFinallyExpression22958); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } break; } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9966:6: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9966:6: (otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9966:8: otherlv_6= 'finally' ( (lv_finallyExpression_7_0= ruleXExpression ) ) { otherlv_6=(Token)match(input,119,FollowSets000.FOLLOW_119_in_ruleXTryCatchFinallyExpression22980); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_6, grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyKeyword_3_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9970:1: ( (lv_finallyExpression_7_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9971:1: (lv_finallyExpression_7_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9971:1: (lv_finallyExpression_7_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9972:3: lv_finallyExpression_7_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionXExpressionParserRuleCall_3_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXTryCatchFinallyExpression23001); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXTryCatchFinallyExpression" // $ANTLR start "entryRuleXSynchronizedExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9996:1: entryRuleXSynchronizedExpression returns [EObject current=null] : iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ; public final EObject entryRuleXSynchronizedExpression() throws RecognitionException { EObject current = null; EObject iv_ruleXSynchronizedExpression = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9997:2: (iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9998:2: iv_ruleXSynchronizedExpression= ruleXSynchronizedExpression EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSynchronizedExpressionRule()); } pushFollow(FollowSets000.FOLLOW_ruleXSynchronizedExpression_in_entryRuleXSynchronizedExpression23039); iv_ruleXSynchronizedExpression=ruleXSynchronizedExpression(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXSynchronizedExpression; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXSynchronizedExpression23049); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXSynchronizedExpression" // $ANTLR start "ruleXSynchronizedExpression" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10005: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10008:28: ( ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10009:1: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10009:1: ( ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10009:2: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) ( (lv_param_3_0= ruleXExpression ) ) otherlv_4= ')' ( (lv_expression_5_0= ruleXExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10009:2: ( ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10009:3: ( ( () 'synchronized' '(' ) )=> ( () otherlv_1= 'synchronized' otherlv_2= '(' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10012:5: ( () otherlv_1= 'synchronized' otherlv_2= '(' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10012:6: () otherlv_1= 'synchronized' otherlv_2= '(' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10012:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10013:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getXSynchronizedExpressionAccess().getXSynchronizedExpressionAction_0_0_0(), current); } } otherlv_1=(Token)match(input,120,FollowSets000.FOLLOW_120_in_ruleXSynchronizedExpression23113); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXSynchronizedExpressionAccess().getSynchronizedKeyword_0_0_1()); } otherlv_2=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXSynchronizedExpression23125); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXSynchronizedExpressionAccess().getLeftParenthesisKeyword_0_0_2()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10026:3: ( (lv_param_3_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10027:1: (lv_param_3_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10027:1: (lv_param_3_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10028:3: lv_param_3_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getParamXExpressionParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXSynchronizedExpression23148); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXSynchronizedExpression23160); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXSynchronizedExpressionAccess().getRightParenthesisKeyword_2()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10048:1: ( (lv_expression_5_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10049:1: (lv_expression_5_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10049:1: (lv_expression_5_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10050:3: lv_expression_5_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXSynchronizedExpressionAccess().getExpressionXExpressionParserRuleCall_3_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXSynchronizedExpression23181); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXSynchronizedExpression" // $ANTLR start "entryRuleXCatchClause" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10074:1: entryRuleXCatchClause returns [EObject current=null] : iv_ruleXCatchClause= ruleXCatchClause EOF ; public final EObject entryRuleXCatchClause() throws RecognitionException { EObject current = null; EObject iv_ruleXCatchClause = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10075:2: (iv_ruleXCatchClause= ruleXCatchClause EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10076:2: iv_ruleXCatchClause= ruleXCatchClause EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCatchClauseRule()); } pushFollow(FollowSets000.FOLLOW_ruleXCatchClause_in_entryRuleXCatchClause23217); iv_ruleXCatchClause=ruleXCatchClause(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXCatchClause; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXCatchClause23227); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXCatchClause" // $ANTLR start "ruleXCatchClause" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10083: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10086:28: ( ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10087:1: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10087:1: ( ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10087:2: ( ( 'catch' )=>otherlv_0= 'catch' ) otherlv_1= '(' ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) otherlv_3= ')' ( (lv_expression_4_0= ruleXExpression ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10087:2: ( ( 'catch' )=>otherlv_0= 'catch' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10087:3: ( 'catch' )=>otherlv_0= 'catch' { otherlv_0=(Token)match(input,121,FollowSets000.FOLLOW_121_in_ruleXCatchClause23272); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXCatchClauseAccess().getCatchKeyword_0()); } } otherlv_1=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXCatchClause23285); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getXCatchClauseAccess().getLeftParenthesisKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10096:1: ( (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10097:1: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10097:1: (lv_declaredParam_2_0= ruleFullJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10098:3: lv_declaredParam_2_0= ruleFullJvmFormalParameter { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCatchClauseAccess().getDeclaredParamFullJvmFormalParameterParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleFullJvmFormalParameter_in_ruleXCatchClause23306); 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, "FullJvmFormalParameter"); afterParserOrEnumRuleCall(); } } } otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXCatchClause23318); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getXCatchClauseAccess().getRightParenthesisKeyword_3()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10118:1: ( (lv_expression_4_0= ruleXExpression ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10119:1: (lv_expression_4_0= ruleXExpression ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10119:1: (lv_expression_4_0= ruleXExpression ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10120:3: lv_expression_4_0= ruleXExpression { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXCatchClauseAccess().getExpressionXExpressionParserRuleCall_4_0()); } pushFollow(FollowSets000.FOLLOW_ruleXExpression_in_ruleXCatchClause23339); 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, "XExpression"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXCatchClause" // $ANTLR start "entryRuleQualifiedName" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10144:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ; public final String entryRuleQualifiedName() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedName = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10145:2: (iv_ruleQualifiedName= ruleQualifiedName EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10146:2: iv_ruleQualifiedName= ruleQualifiedName EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameRule()); } pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName23376); iv_ruleQualifiedName=ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedName.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQualifiedName23387); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedName" // $ANTLR start "ruleQualifiedName" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10153: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10156:28: ( (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10157:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10157:1: (this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10158:5: this_ValidID_0= ruleValidID ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleQualifiedName23434); 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(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10168:1: ( ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID )* loop164: do { int alt164=2; int LA164_0 = input.LA(1); if ( (LA164_0==58) ) { int LA164_2 = input.LA(2); if ( (LA164_2==RULE_ID) ) { int LA164_3 = input.LA(3); if ( (synpred44_InternalIoT()) ) { alt164=1; } } } switch (alt164) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10168:2: ( ( '.' )=>kw= '.' ) this_ValidID_2= ruleValidID { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10168:2: ( ( '.' )=>kw= '.' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10168:3: ( '.' )=>kw= '.' { kw=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleQualifiedName23462); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameAccess().getValidIDParserRuleCall_1_1()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleQualifiedName23485); this_ValidID_2=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_ValidID_2); } if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } break; default : break loop164; } } while (true); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedName" // $ANTLR start "entryRuleNumber" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10195: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10199:2: (iv_ruleNumber= ruleNumber EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10200:2: iv_ruleNumber= ruleNumber EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getNumberRule()); } pushFollow(FollowSets000.FOLLOW_ruleNumber_in_entryRuleNumber23539); iv_ruleNumber=ruleNumber(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleNumber.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleNumber23550); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { myHiddenTokenState.restore(); } return current; } // $ANTLR end "entryRuleNumber" // $ANTLR start "ruleNumber" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10210: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10214:28: ( (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10215:1: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10215:1: (this_HEX_0= RULE_HEX | ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) ) int alt168=2; int LA168_0 = input.LA(1); if ( (LA168_0==RULE_HEX) ) { alt168=1; } else if ( (LA168_0==RULE_INT||LA168_0==RULE_DECIMAL) ) { alt168=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 168, 0, input); throw nvae; } switch (alt168) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10215:6: this_HEX_0= RULE_HEX { this_HEX_0=(Token)match(input,RULE_HEX,FollowSets000.FOLLOW_RULE_HEX_in_ruleNumber23594); 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 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10223:6: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10223:6: ( (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10223:7: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10223:7: (this_INT_1= RULE_INT | this_DECIMAL_2= RULE_DECIMAL ) int alt165=2; int LA165_0 = input.LA(1); if ( (LA165_0==RULE_INT) ) { alt165=1; } else if ( (LA165_0==RULE_DECIMAL) ) { alt165=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 165, 0, input); throw nvae; } switch (alt165) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10223:12: this_INT_1= RULE_INT { this_INT_1=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleNumber23622); 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 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10231:10: this_DECIMAL_2= RULE_DECIMAL { this_DECIMAL_2=(Token)match(input,RULE_DECIMAL,FollowSets000.FOLLOW_RULE_DECIMAL_in_ruleNumber23648); 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; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10238:2: (kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) )? int alt167=2; int LA167_0 = input.LA(1); if ( (LA167_0==58) ) { int LA167_1 = input.LA(2); if ( (LA167_1==RULE_INT||LA167_1==RULE_DECIMAL) ) { alt167=1; } } switch (alt167) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10239:2: kw= '.' (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) { kw=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleNumber23668); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getNumberAccess().getFullStopKeyword_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10244:1: (this_INT_4= RULE_INT | this_DECIMAL_5= RULE_DECIMAL ) int alt166=2; int LA166_0 = input.LA(1); if ( (LA166_0==RULE_INT) ) { alt166=1; } else if ( (LA166_0==RULE_DECIMAL) ) { alt166=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 166, 0, input); throw nvae; } switch (alt166) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10244:6: this_INT_4= RULE_INT { this_INT_4=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleNumber23684); 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 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10252:10: this_DECIMAL_5= RULE_DECIMAL { this_DECIMAL_5=(Token)match(input,RULE_DECIMAL,FollowSets000.FOLLOW_RULE_DECIMAL_in_ruleNumber23710); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10272:1: entryRuleJvmTypeReference returns [EObject current=null] : iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ; public final EObject entryRuleJvmTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmTypeReference = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10273:2: (iv_ruleJvmTypeReference= ruleJvmTypeReference EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10274:2: iv_ruleJvmTypeReference= ruleJvmTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceRule()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_entryRuleJvmTypeReference23765); iv_ruleJvmTypeReference=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmTypeReference; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJvmTypeReference23775); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmTypeReference" // $ANTLR start "ruleJvmTypeReference" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10281: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10284:28: ( ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10285:1: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10285:1: ( (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) | this_XFunctionTypeRef_3= ruleXFunctionTypeRef ) int alt170=2; int LA170_0 = input.LA(1); if ( (LA170_0==RULE_ID) ) { alt170=1; } else if ( (LA170_0==20||LA170_0==93) ) { alt170=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 170, 0, input); throw nvae; } switch (alt170) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10285:2: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10285:2: (this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10286:5: this_JvmParameterizedTypeReference_0= ruleJvmParameterizedTypeReference ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getJvmParameterizedTypeReferenceParserRuleCall_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmParameterizedTypeReference_in_ruleJvmTypeReference23823); this_JvmParameterizedTypeReference_0=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_JvmParameterizedTypeReference_0; afterParserOrEnumRuleCall(); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10294:1: ( ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) )* loop169: do { int alt169=2; int LA169_0 = input.LA(1); if ( (LA169_0==42) ) { int LA169_2 = input.LA(2); if ( (LA169_2==43) ) { int LA169_3 = input.LA(3); if ( (synpred45_InternalIoT()) ) { alt169=1; } } } switch (alt169) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10294:2: ( ( () ruleArrayBrackets ) )=> ( () ruleArrayBrackets ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10295:24: ( () ruleArrayBrackets ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10295:25: () ruleArrayBrackets { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10295:25: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10296:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0(), current); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getArrayBracketsParserRuleCall_0_1_0_1()); } pushFollow(FollowSets000.FOLLOW_ruleArrayBrackets_in_ruleJvmTypeReference23859); ruleArrayBrackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } break; default : break loop169; } } while (true); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10311:5: this_XFunctionTypeRef_3= ruleXFunctionTypeRef { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmTypeReferenceAccess().getXFunctionTypeRefParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleXFunctionTypeRef_in_ruleJvmTypeReference23890); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10327:1: entryRuleArrayBrackets returns [String current=null] : iv_ruleArrayBrackets= ruleArrayBrackets EOF ; public final String entryRuleArrayBrackets() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleArrayBrackets = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10328:2: (iv_ruleArrayBrackets= ruleArrayBrackets EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10329:2: iv_ruleArrayBrackets= ruleArrayBrackets EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getArrayBracketsRule()); } pushFollow(FollowSets000.FOLLOW_ruleArrayBrackets_in_entryRuleArrayBrackets23926); iv_ruleArrayBrackets=ruleArrayBrackets(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleArrayBrackets.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleArrayBrackets23937); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleArrayBrackets" // $ANTLR start "ruleArrayBrackets" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10336:1: ruleArrayBrackets returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '[' kw= ']' ) ; public final AntlrDatatypeRuleToken ruleArrayBrackets() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token kw=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10339:28: ( (kw= '[' kw= ']' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10340:1: (kw= '[' kw= ']' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10340:1: (kw= '[' kw= ']' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10341:2: kw= '[' kw= ']' { kw=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleArrayBrackets23975); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getArrayBracketsAccess().getLeftSquareBracketKeyword_0()); } kw=(Token)match(input,43,FollowSets000.FOLLOW_43_in_ruleArrayBrackets23988); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10360:1: entryRuleXFunctionTypeRef returns [EObject current=null] : iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ; public final EObject entryRuleXFunctionTypeRef() throws RecognitionException { EObject current = null; EObject iv_ruleXFunctionTypeRef = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10361:2: (iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10362:2: iv_ruleXFunctionTypeRef= ruleXFunctionTypeRef EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefRule()); } pushFollow(FollowSets000.FOLLOW_ruleXFunctionTypeRef_in_entryRuleXFunctionTypeRef24028); iv_ruleXFunctionTypeRef=ruleXFunctionTypeRef(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXFunctionTypeRef; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXFunctionTypeRef24038); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXFunctionTypeRef" // $ANTLR start "ruleXFunctionTypeRef" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10369: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10372:28: ( ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10373:1: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10373:1: ( (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10373:2: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? otherlv_5= '=>' ( (lv_returnType_6_0= ruleJvmTypeReference ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10373:2: (otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' )? int alt173=2; int LA173_0 = input.LA(1); if ( (LA173_0==20) ) { alt173=1; } switch (alt173) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10373:4: otherlv_0= '(' ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? otherlv_4= ')' { otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleXFunctionTypeRef24076); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXFunctionTypeRefAccess().getLeftParenthesisKeyword_0_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10377:1: ( ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* )? int alt172=2; int LA172_0 = input.LA(1); if ( (LA172_0==RULE_ID||LA172_0==20||LA172_0==93) ) { alt172=1; } switch (alt172) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10377:2: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10377:2: ( (lv_paramTypes_1_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10378:1: (lv_paramTypes_1_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10378:1: (lv_paramTypes_1_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10379:3: lv_paramTypes_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleXFunctionTypeRef24098); 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, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10395:2: (otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) )* loop171: do { int alt171=2; int LA171_0 = input.LA(1); if ( (LA171_0==21) ) { alt171=1; } switch (alt171) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10395:4: otherlv_2= ',' ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) { otherlv_2=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleXFunctionTypeRef24111); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_2, grammarAccess.getXFunctionTypeRefAccess().getCommaKeyword_0_1_1_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10399:1: ( (lv_paramTypes_3_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10400:1: (lv_paramTypes_3_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10400:1: (lv_paramTypes_3_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10401:3: lv_paramTypes_3_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getParamTypesJvmTypeReferenceParserRuleCall_0_1_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleXFunctionTypeRef24132); 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, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop171; } } while (true); } break; } otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleXFunctionTypeRef24148); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_4, grammarAccess.getXFunctionTypeRefAccess().getRightParenthesisKeyword_0_2()); } } break; } otherlv_5=(Token)match(input,93,FollowSets000.FOLLOW_93_in_ruleXFunctionTypeRef24162); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getXFunctionTypeRefAccess().getEqualsSignGreaterThanSignKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10425:1: ( (lv_returnType_6_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10426:1: (lv_returnType_6_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10426:1: (lv_returnType_6_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10427:3: lv_returnType_6_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeJvmTypeReferenceParserRuleCall_2_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleXFunctionTypeRef24183); 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, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleXFunctionTypeRef" // $ANTLR start "entryRuleJvmParameterizedTypeReference" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10451:1: entryRuleJvmParameterizedTypeReference returns [EObject current=null] : iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ; public final EObject entryRuleJvmParameterizedTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmParameterizedTypeReference = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10452:2: (iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10453:2: iv_ruleJvmParameterizedTypeReference= ruleJvmParameterizedTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceRule()); } pushFollow(FollowSets000.FOLLOW_ruleJvmParameterizedTypeReference_in_entryRuleJvmParameterizedTypeReference24219); iv_ruleJvmParameterizedTypeReference=ruleJvmParameterizedTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmParameterizedTypeReference; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJvmParameterizedTypeReference24229); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmParameterizedTypeReference" // $ANTLR start "ruleJvmParameterizedTypeReference" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10460: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10463:28: ( ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10464:1: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10464:1: ( ( ( ruleQualifiedName ) ) ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10464: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= '>' )? )* )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10464:2: ( ( ruleQualifiedName ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10465:1: ( ruleQualifiedName ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10465:1: ( ruleQualifiedName ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10466:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_ruleJvmParameterizedTypeReference24277); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10479:2: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )? int alt178=2; alt178 = dfa178.predict(input); switch (alt178) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10479: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= '>' )? )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10479:3: ( ( '<' )=>otherlv_1= '<' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10479:4: ( '<' )=>otherlv_1= '<' { otherlv_1=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleJvmParameterizedTypeReference24298); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_0()); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10484:2: ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10485:1: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10485:1: (lv_arguments_2_0= ruleJvmArgumentTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10486:3: lv_arguments_2_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_ruleJvmParameterizedTypeReference24320); 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, "JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10502:2: (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* loop174: do { int alt174=2; int LA174_0 = input.LA(1); if ( (LA174_0==21) ) { alt174=1; } switch (alt174) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10502:4: otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) { otherlv_3=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleJvmParameterizedTypeReference24333); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_3, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10506:1: ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10507:1: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10507:1: (lv_arguments_4_0= ruleJvmArgumentTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10508:3: lv_arguments_4_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_ruleJvmParameterizedTypeReference24354); 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, "JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop174; } } while (true); otherlv_5=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleJvmParameterizedTypeReference24368); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_5, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_3()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10528:1: ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* loop177: do { int alt177=2; int LA177_0 = input.LA(1); if ( (LA177_0==58) ) { int LA177_2 = input.LA(2); if ( (LA177_2==RULE_ID) ) { int LA177_3 = input.LA(3); if ( (synpred47_InternalIoT()) ) { alt177=1; } } } switch (alt177) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10528:2: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10528:2: ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10528:3: ( ( () '.' ) )=> ( () otherlv_7= '.' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10530:5: ( () otherlv_7= '.' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10530:6: () otherlv_7= '.' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10530:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10531:5: { if ( state.backtracking==0 ) { current = forceCreateModelElementAndSet( grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0(), current); } } otherlv_7=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleJvmParameterizedTypeReference24404); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_7, grammarAccess.getJvmParameterizedTypeReferenceAccess().getFullStopKeyword_1_4_0_0_1()); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10540:3: ( ( ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10541:1: ( ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10541:1: ( ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10542:3: ruleValidID { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getJvmParameterizedTypeReferenceRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeJvmTypeCrossReference_1_4_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_ruleJvmParameterizedTypeReference24429); ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10555:2: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? int alt176=2; alt176 = dfa176.predict(input); switch (alt176) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10555:3: ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10555:3: ( ( '<' )=>otherlv_9= '<' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10555:4: ( '<' )=>otherlv_9= '<' { otherlv_9=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleJvmParameterizedTypeReference24450); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_9, grammarAccess.getJvmParameterizedTypeReferenceAccess().getLessThanSignKeyword_1_4_2_0()); } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10560:2: ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10561:1: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10561:1: (lv_arguments_10_0= ruleJvmArgumentTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10562:3: lv_arguments_10_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_ruleJvmParameterizedTypeReference24472); 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, "JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10578:2: (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* loop175: do { int alt175=2; int LA175_0 = input.LA(1); if ( (LA175_0==21) ) { alt175=1; } switch (alt175) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10578:4: otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) { otherlv_11=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleJvmParameterizedTypeReference24485); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_11, grammarAccess.getJvmParameterizedTypeReferenceAccess().getCommaKeyword_1_4_2_2_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10582:1: ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10583:1: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10583:1: (lv_arguments_12_0= ruleJvmArgumentTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10584:3: lv_arguments_12_0= ruleJvmArgumentTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsJvmArgumentTypeReferenceParserRuleCall_1_4_2_2_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_ruleJvmParameterizedTypeReference24506); 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, "JvmArgumentTypeReference"); afterParserOrEnumRuleCall(); } } } } break; default : break loop175; } } while (true); otherlv_13=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleJvmParameterizedTypeReference24520); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_13, grammarAccess.getJvmParameterizedTypeReferenceAccess().getGreaterThanSignKeyword_1_4_2_3()); } } break; } } break; default : break loop177; } } while (true); } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmParameterizedTypeReference" // $ANTLR start "entryRuleJvmArgumentTypeReference" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10612:1: entryRuleJvmArgumentTypeReference returns [EObject current=null] : iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ; public final EObject entryRuleJvmArgumentTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmArgumentTypeReference = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10613:2: (iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10614:2: iv_ruleJvmArgumentTypeReference= ruleJvmArgumentTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceRule()); } pushFollow(FollowSets000.FOLLOW_ruleJvmArgumentTypeReference_in_entryRuleJvmArgumentTypeReference24562); iv_ruleJvmArgumentTypeReference=ruleJvmArgumentTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmArgumentTypeReference; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJvmArgumentTypeReference24572); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmArgumentTypeReference" // $ANTLR start "ruleJvmArgumentTypeReference" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10621: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10624:28: ( (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10625:1: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10625:1: (this_JvmTypeReference_0= ruleJvmTypeReference | this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference ) int alt179=2; int LA179_0 = input.LA(1); if ( (LA179_0==RULE_ID||LA179_0==20||LA179_0==93) ) { alt179=1; } else if ( (LA179_0==122) ) { alt179=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 179, 0, input); throw nvae; } switch (alt179) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10626:5: this_JvmTypeReference_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmTypeReferenceParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleJvmArgumentTypeReference24619); this_JvmTypeReference_0=ruleJvmTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current = this_JvmTypeReference_0; afterParserOrEnumRuleCall(); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10636:5: this_JvmWildcardTypeReference_1= ruleJvmWildcardTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmArgumentTypeReferenceAccess().getJvmWildcardTypeReferenceParserRuleCall_1()); } pushFollow(FollowSets000.FOLLOW_ruleJvmWildcardTypeReference_in_ruleJvmArgumentTypeReference24646); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10652:1: entryRuleJvmWildcardTypeReference returns [EObject current=null] : iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ; public final EObject entryRuleJvmWildcardTypeReference() throws RecognitionException { EObject current = null; EObject iv_ruleJvmWildcardTypeReference = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10653:2: (iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10654:2: iv_ruleJvmWildcardTypeReference= ruleJvmWildcardTypeReference EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceRule()); } pushFollow(FollowSets000.FOLLOW_ruleJvmWildcardTypeReference_in_entryRuleJvmWildcardTypeReference24681); iv_ruleJvmWildcardTypeReference=ruleJvmWildcardTypeReference(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmWildcardTypeReference; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJvmWildcardTypeReference24691); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmWildcardTypeReference" // $ANTLR start "ruleJvmWildcardTypeReference" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10661: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10664:28: ( ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10665:1: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10665:1: ( () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10665:2: () otherlv_1= '?' ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10665:2: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10666:5: { if ( state.backtracking==0 ) { current = forceCreateModelElement( grammarAccess.getJvmWildcardTypeReferenceAccess().getJvmWildcardTypeReferenceAction_0(), current); } } otherlv_1=(Token)match(input,122,FollowSets000.FOLLOW_122_in_ruleJvmWildcardTypeReference24737); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_1, grammarAccess.getJvmWildcardTypeReferenceAccess().getQuestionMarkKeyword_1()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10675:1: ( ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) | ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) )? int alt182=3; int LA182_0 = input.LA(1); if ( (LA182_0==109) ) { alt182=1; } else if ( (LA182_0==113) ) { alt182=2; } switch (alt182) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10675:2: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10675:2: ( ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10675:3: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10675:3: ( (lv_constraints_2_0= ruleJvmUpperBound ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10676:1: (lv_constraints_2_0= ruleJvmUpperBound ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10676:1: (lv_constraints_2_0= ruleJvmUpperBound ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10677:3: lv_constraints_2_0= ruleJvmUpperBound { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundParserRuleCall_2_0_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmUpperBound_in_ruleJvmWildcardTypeReference24760); 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, "JvmUpperBound"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10693:2: ( (lv_constraints_3_0= ruleJvmUpperBoundAnded ) )* loop180: do { int alt180=2; int LA180_0 = input.LA(1); if ( (LA180_0==123) ) { alt180=1; } switch (alt180) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10694:1: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10694:1: (lv_constraints_3_0= ruleJvmUpperBoundAnded ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10695:3: lv_constraints_3_0= ruleJvmUpperBoundAnded { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmUpperBoundAndedParserRuleCall_2_0_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmUpperBoundAnded_in_ruleJvmWildcardTypeReference24781); 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, "JvmUpperBoundAnded"); afterParserOrEnumRuleCall(); } } } break; default : break loop180; } } while (true); } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10712:6: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10712:6: ( ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10712:7: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10712:7: ( (lv_constraints_4_0= ruleJvmLowerBound ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10713:1: (lv_constraints_4_0= ruleJvmLowerBound ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10713:1: (lv_constraints_4_0= ruleJvmLowerBound ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10714:3: lv_constraints_4_0= ruleJvmLowerBound { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundParserRuleCall_2_1_0_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmLowerBound_in_ruleJvmWildcardTypeReference24811); 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, "JvmLowerBound"); afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10730:2: ( (lv_constraints_5_0= ruleJvmLowerBoundAnded ) )* loop181: do { int alt181=2; int LA181_0 = input.LA(1); if ( (LA181_0==123) ) { alt181=1; } switch (alt181) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10731:1: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10731:1: (lv_constraints_5_0= ruleJvmLowerBoundAnded ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10732:3: lv_constraints_5_0= ruleJvmLowerBoundAnded { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsJvmLowerBoundAndedParserRuleCall_2_1_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmLowerBoundAnded_in_ruleJvmWildcardTypeReference24832); 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, "JvmLowerBoundAnded"); afterParserOrEnumRuleCall(); } } } break; default : break loop181; } } while (true); } } break; } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmWildcardTypeReference" // $ANTLR start "entryRuleJvmUpperBound" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10756:1: entryRuleJvmUpperBound returns [EObject current=null] : iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ; public final EObject entryRuleJvmUpperBound() throws RecognitionException { EObject current = null; EObject iv_ruleJvmUpperBound = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10757:2: (iv_ruleJvmUpperBound= ruleJvmUpperBound EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10758:2: iv_ruleJvmUpperBound= ruleJvmUpperBound EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundRule()); } pushFollow(FollowSets000.FOLLOW_ruleJvmUpperBound_in_entryRuleJvmUpperBound24872); iv_ruleJvmUpperBound=ruleJvmUpperBound(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmUpperBound; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJvmUpperBound24882); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmUpperBound" // $ANTLR start "ruleJvmUpperBound" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10765: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10768:28: ( (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10769:1: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10769:1: (otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10769:3: otherlv_0= 'extends' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,109,FollowSets000.FOLLOW_109_in_ruleJvmUpperBound24919); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAccess().getExtendsKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10773:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10774:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10774:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10775:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleJvmUpperBound24940); 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, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmUpperBound" // $ANTLR start "entryRuleJvmUpperBoundAnded" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10799:1: entryRuleJvmUpperBoundAnded returns [EObject current=null] : iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ; public final EObject entryRuleJvmUpperBoundAnded() throws RecognitionException { EObject current = null; EObject iv_ruleJvmUpperBoundAnded = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10800:2: (iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10801:2: iv_ruleJvmUpperBoundAnded= ruleJvmUpperBoundAnded EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundAndedRule()); } pushFollow(FollowSets000.FOLLOW_ruleJvmUpperBoundAnded_in_entryRuleJvmUpperBoundAnded24976); iv_ruleJvmUpperBoundAnded=ruleJvmUpperBoundAnded(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmUpperBoundAnded; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJvmUpperBoundAnded24986); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmUpperBoundAnded" // $ANTLR start "ruleJvmUpperBoundAnded" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10808: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10811:28: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10812:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10812:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10812:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,123,FollowSets000.FOLLOW_123_in_ruleJvmUpperBoundAnded25023); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmUpperBoundAndedAccess().getAmpersandKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10816:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10817:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10817:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10818:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleJvmUpperBoundAnded25044); 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, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmUpperBoundAnded" // $ANTLR start "entryRuleJvmLowerBound" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10842:1: entryRuleJvmLowerBound returns [EObject current=null] : iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ; public final EObject entryRuleJvmLowerBound() throws RecognitionException { EObject current = null; EObject iv_ruleJvmLowerBound = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10843:2: (iv_ruleJvmLowerBound= ruleJvmLowerBound EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10844:2: iv_ruleJvmLowerBound= ruleJvmLowerBound EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundRule()); } pushFollow(FollowSets000.FOLLOW_ruleJvmLowerBound_in_entryRuleJvmLowerBound25080); iv_ruleJvmLowerBound=ruleJvmLowerBound(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmLowerBound; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJvmLowerBound25090); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmLowerBound" // $ANTLR start "ruleJvmLowerBound" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10851: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10854:28: ( (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10855:1: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10855:1: (otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10855:3: otherlv_0= 'super' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,113,FollowSets000.FOLLOW_113_in_ruleJvmLowerBound25127); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAccess().getSuperKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10859:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10860:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10860:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10861:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleJvmLowerBound25148); 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, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmLowerBound" // $ANTLR start "entryRuleJvmLowerBoundAnded" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10885:1: entryRuleJvmLowerBoundAnded returns [EObject current=null] : iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ; public final EObject entryRuleJvmLowerBoundAnded() throws RecognitionException { EObject current = null; EObject iv_ruleJvmLowerBoundAnded = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10886:2: (iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10887:2: iv_ruleJvmLowerBoundAnded= ruleJvmLowerBoundAnded EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundAndedRule()); } pushFollow(FollowSets000.FOLLOW_ruleJvmLowerBoundAnded_in_entryRuleJvmLowerBoundAnded25184); iv_ruleJvmLowerBoundAnded=ruleJvmLowerBoundAnded(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleJvmLowerBoundAnded; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJvmLowerBoundAnded25194); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleJvmLowerBoundAnded" // $ANTLR start "ruleJvmLowerBoundAnded" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10894: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10897:28: ( (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10898:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10898:1: (otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10898:3: otherlv_0= '&' ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) { otherlv_0=(Token)match(input,123,FollowSets000.FOLLOW_123_in_ruleJvmLowerBoundAnded25231); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getJvmLowerBoundAndedAccess().getAmpersandKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10902:1: ( (lv_typeReference_1_0= ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10903:1: (lv_typeReference_1_0= ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10903:1: (lv_typeReference_1_0= ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10904:3: lv_typeReference_1_0= ruleJvmTypeReference { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceJvmTypeReferenceParserRuleCall_1_0()); } pushFollow(FollowSets000.FOLLOW_ruleJvmTypeReference_in_ruleJvmLowerBoundAnded25252); 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, "JvmTypeReference"); afterParserOrEnumRuleCall(); } } } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleJvmLowerBoundAnded" // $ANTLR start "entryRuleQualifiedNameWithWildcard" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10930:1: entryRuleQualifiedNameWithWildcard returns [String current=null] : iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ; public final String entryRuleQualifiedNameWithWildcard() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedNameWithWildcard = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10931:2: (iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10932:2: iv_ruleQualifiedNameWithWildcard= ruleQualifiedNameWithWildcard EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardRule()); } pushFollow(FollowSets000.FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard25291); iv_ruleQualifiedNameWithWildcard=ruleQualifiedNameWithWildcard(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedNameWithWildcard.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard25302); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedNameWithWildcard" // $ANTLR start "ruleQualifiedNameWithWildcard" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10939: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10942:28: ( (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10943:1: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10943:1: (this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10944:5: this_QualifiedName_0= ruleQualifiedName kw= '.' kw= '*' { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameWithWildcardAccess().getQualifiedNameParserRuleCall_0()); } pushFollow(FollowSets000.FOLLOW_ruleQualifiedName_in_ruleQualifiedNameWithWildcard25349); 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,58,FollowSets000.FOLLOW_58_in_ruleQualifiedNameWithWildcard25367); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getFullStopKeyword_1()); } kw=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleQualifiedNameWithWildcard25380); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameWithWildcardAccess().getAsteriskKeyword_2()); } } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedNameWithWildcard" // $ANTLR start "entryRuleValidID" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10974:1: entryRuleValidID returns [String current=null] : iv_ruleValidID= ruleValidID EOF ; public final String entryRuleValidID() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleValidID = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10975:2: (iv_ruleValidID= ruleValidID EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10976:2: iv_ruleValidID= ruleValidID EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getValidIDRule()); } pushFollow(FollowSets000.FOLLOW_ruleValidID_in_entryRuleValidID25421); iv_ruleValidID=ruleValidID(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleValidID.getText(); } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleValidID25432); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleValidID" // $ANTLR start "ruleValidID" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10983:1: ruleValidID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_ID_0= RULE_ID ; public final AntlrDatatypeRuleToken ruleValidID() throws RecognitionException { AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); Token this_ID_0=null; enterRule(); try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10986:28: (this_ID_0= RULE_ID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10987:5: this_ID_0= RULE_ID { this_ID_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleValidID25471); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(this_ID_0); } if ( state.backtracking==0 ) { newLeafNode(this_ID_0, grammarAccess.getValidIDAccess().getIDTerminalRuleCall()); } } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleValidID" // $ANTLR start "entryRuleXImportDeclaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11004:1: entryRuleXImportDeclaration returns [EObject current=null] : iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ; public final EObject entryRuleXImportDeclaration() throws RecognitionException { EObject current = null; EObject iv_ruleXImportDeclaration = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11005:2: (iv_ruleXImportDeclaration= ruleXImportDeclaration EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11006:2: iv_ruleXImportDeclaration= ruleXImportDeclaration EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationRule()); } pushFollow(FollowSets000.FOLLOW_ruleXImportDeclaration_in_entryRuleXImportDeclaration25517); iv_ruleXImportDeclaration=ruleXImportDeclaration(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleXImportDeclaration; } match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleXImportDeclaration25527); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleXImportDeclaration" // $ANTLR start "ruleXImportDeclaration" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11013: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11016:28: ( (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11017:1: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11017:1: (otherlv_0= 'import' ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) (otherlv_8= ';' )? ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11017: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,111,FollowSets000.FOLLOW_111_in_ruleXImportDeclaration25564); if (state.failed) return current; if ( state.backtracking==0 ) { newLeafNode(otherlv_0, grammarAccess.getXImportDeclarationAccess().getImportKeyword_0()); } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11021:1: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) ) int alt185=3; alt185 = dfa185.predict(input); switch (alt185) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11021:2: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11021:2: ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11021:3: ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11021:3: ( (lv_static_1_0= 'static' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11022:1: (lv_static_1_0= 'static' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11022:1: (lv_static_1_0= 'static' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11023:3: lv_static_1_0= 'static' { lv_static_1_0=(Token)match(input,110,FollowSets001.FOLLOW_110_in_ruleXImportDeclaration25584); 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"); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11036:2: ( (lv_extension_2_0= 'extension' ) )? int alt183=2; int LA183_0 = input.LA(1); if ( (LA183_0==112) ) { alt183=1; } switch (alt183) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11037:1: (lv_extension_2_0= 'extension' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11037:1: (lv_extension_2_0= 'extension' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11038:3: lv_extension_2_0= 'extension' { lv_extension_2_0=(Token)match(input,112,FollowSets001.FOLLOW_112_in_ruleXImportDeclaration25615); 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; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11051:3: ( ( ruleQualifiedNameInStaticImport ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11052:1: ( ruleQualifiedNameInStaticImport ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11052:1: ( ruleQualifiedNameInStaticImport ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11053:3: ruleQualifiedNameInStaticImport { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXImportDeclarationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_0_2_0()); } pushFollow(FollowSets001.FOLLOW_ruleQualifiedNameInStaticImport_in_ruleXImportDeclaration25652); ruleQualifiedNameInStaticImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11066:2: ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) int alt184=2; int LA184_0 = input.LA(1); if ( (LA184_0==72) ) { alt184=1; } else if ( (LA184_0==RULE_ID) ) { alt184=2; } else { if (state.backtracking>0) {state.failed=true; return current;} NoViableAltException nvae = new NoViableAltException("", 184, 0, input); throw nvae; } switch (alt184) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11066:3: ( (lv_wildcard_4_0= '*' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11066:3: ( (lv_wildcard_4_0= '*' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11067:1: (lv_wildcard_4_0= '*' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11067:1: (lv_wildcard_4_0= '*' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11068:3: lv_wildcard_4_0= '*' { lv_wildcard_4_0=(Token)match(input,72,FollowSets001.FOLLOW_72_in_ruleXImportDeclaration25671); 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 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11082:6: ( (lv_memberName_5_0= ruleValidID ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11082:6: ( (lv_memberName_5_0= ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11083:1: (lv_memberName_5_0= ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11083:1: (lv_memberName_5_0= ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11084:3: lv_memberName_5_0= ruleValidID { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getMemberNameValidIDParserRuleCall_1_0_3_1_0()); } pushFollow(FollowSets001.FOLLOW_ruleValidID_in_ruleXImportDeclaration25711); 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, "ValidID"); afterParserOrEnumRuleCall(); } } } } break; } } } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11101:6: ( ( ruleQualifiedName ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11101:6: ( ( ruleQualifiedName ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11102:1: ( ruleQualifiedName ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11102:1: ( ruleQualifiedName ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11103:3: ruleQualifiedName { if ( state.backtracking==0 ) { if (current==null) { current = createModelElement(grammarAccess.getXImportDeclarationRule()); } } if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedTypeJvmDeclaredTypeCrossReference_1_1_0()); } pushFollow(FollowSets001.FOLLOW_ruleQualifiedName_in_ruleXImportDeclaration25742); ruleQualifiedName(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { afterParserOrEnumRuleCall(); } } } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11117:6: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11117:6: ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11118:1: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11118:1: (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11119:3: lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceQualifiedNameWithWildcardParserRuleCall_1_2_0()); } pushFollow(FollowSets001.FOLLOW_ruleQualifiedNameWithWildcard_in_ruleXImportDeclaration25769); 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, "QualifiedNameWithWildcard"); afterParserOrEnumRuleCall(); } } } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11135:3: (otherlv_8= ';' )? int alt186=2; int LA186_0 = input.LA(1); if ( (LA186_0==44) ) { alt186=1; } switch (alt186) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11135:5: otherlv_8= ';' { otherlv_8=(Token)match(input,44,FollowSets001.FOLLOW_44_in_ruleXImportDeclaration25783); 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" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11147:1: entryRuleQualifiedNameInStaticImport returns [String current=null] : iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ; public final String entryRuleQualifiedNameInStaticImport() throws RecognitionException { String current = null; AntlrDatatypeRuleToken iv_ruleQualifiedNameInStaticImport = null; try { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11148:2: (iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11149:2: iv_ruleQualifiedNameInStaticImport= ruleQualifiedNameInStaticImport EOF { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportRule()); } pushFollow(FollowSets001.FOLLOW_ruleQualifiedNameInStaticImport_in_entryRuleQualifiedNameInStaticImport25822); iv_ruleQualifiedNameInStaticImport=ruleQualifiedNameInStaticImport(); state._fsp--; if (state.failed) return current; if ( state.backtracking==0 ) { current =iv_ruleQualifiedNameInStaticImport.getText(); } match(input,EOF,FollowSets001.FOLLOW_EOF_in_entryRuleQualifiedNameInStaticImport25833); if (state.failed) return current; } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "entryRuleQualifiedNameInStaticImport" // $ANTLR start "ruleQualifiedNameInStaticImport" // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11156: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 { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11159:28: ( (this_ValidID_0= ruleValidID kw= '.' )+ ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11160:1: (this_ValidID_0= ruleValidID kw= '.' )+ { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11160:1: (this_ValidID_0= ruleValidID kw= '.' )+ int cnt187=0; loop187: do { int alt187=2; int LA187_0 = input.LA(1); if ( (LA187_0==RULE_ID) ) { int LA187_2 = input.LA(2); if ( (LA187_2==58) ) { alt187=1; } } switch (alt187) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:11161:5: this_ValidID_0= ruleValidID kw= '.' { if ( state.backtracking==0 ) { newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0()); } pushFollow(FollowSets001.FOLLOW_ruleValidID_in_ruleQualifiedNameInStaticImport25880); 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,58,FollowSets001.FOLLOW_58_in_ruleQualifiedNameInStaticImport25898); if (state.failed) return current; if ( state.backtracking==0 ) { current.merge(kw); newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1()); } } break; default : if ( cnt187 >= 1 ) break loop187; if (state.backtracking>0) {state.failed=true; return current;} EarlyExitException eee = new EarlyExitException(187, input); throw eee; } cnt187++; } while (true); } if ( state.backtracking==0 ) { leaveRule(); } } catch (RecognitionException re) { recover(input,re); appendSkippedTokens(); } finally { } return current; } // $ANTLR end "ruleQualifiedNameInStaticImport" // $ANTLR start synpred1_InternalIoT public final void synpred1_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3155:4: ( ',' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:3155:6: ',' { match(input,21,FollowSets001.FOLLOW_21_in_synpred1_InternalIoT6962); if (state.failed) return ; } } // $ANTLR end synpred1_InternalIoT // $ANTLR start synpred2_InternalIoT public final void synpred2_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4557:4: ( ':' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:4557:6: ':' { match(input,59,FollowSets001.FOLLOW_59_in_synpred2_InternalIoT10168); if (state.failed) return ; } } // $ANTLR end synpred2_InternalIoT // $ANTLR start synpred3_InternalIoT public final void synpred3_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5329:3: ( ( () ( ( ruleOpMultiAssign ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5329:4: ( () ( ( ruleOpMultiAssign ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5329:4: ( () ( ( ruleOpMultiAssign ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5329:5: () ( ( ruleOpMultiAssign ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5329:5: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5330:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5330:2: ( ( ruleOpMultiAssign ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5331:1: ( ruleOpMultiAssign ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5331:1: ( ruleOpMultiAssign ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5332:3: ruleOpMultiAssign { pushFollow(FollowSets001.FOLLOW_ruleOpMultiAssign_in_synpred3_InternalIoT11862); ruleOpMultiAssign(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred3_InternalIoT // $ANTLR start synpred4_InternalIoT public final void synpred4_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5523:3: ( ( () ( ( ruleOpOr ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5523:4: ( () ( ( ruleOpOr ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5523:4: ( () ( ( ruleOpOr ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5523:5: () ( ( ruleOpOr ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5523:5: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5524:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5524:2: ( ( ruleOpOr ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5525:1: ( ruleOpOr ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5525:1: ( ruleOpOr ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5526:3: ruleOpOr { pushFollow(FollowSets001.FOLLOW_ruleOpOr_in_synpred4_InternalIoT12385); ruleOpOr(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred4_InternalIoT // $ANTLR start synpred5_InternalIoT public final void synpred5_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5624:3: ( ( () ( ( ruleOpAnd ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5624:4: ( () ( ( ruleOpAnd ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5624:4: ( () ( ( ruleOpAnd ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5624:5: () ( ( ruleOpAnd ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5624:5: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5625:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5625:2: ( ( ruleOpAnd ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5626:1: ( ruleOpAnd ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5626:1: ( ruleOpAnd ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5627:3: ruleOpAnd { pushFollow(FollowSets001.FOLLOW_ruleOpAnd_in_synpred5_InternalIoT12644); ruleOpAnd(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred5_InternalIoT // $ANTLR start synpred6_InternalIoT public final void synpred6_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5725:3: ( ( () ( ( ruleOpEquality ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5725:4: ( () ( ( ruleOpEquality ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5725:4: ( () ( ( ruleOpEquality ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5725:5: () ( ( ruleOpEquality ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5725:5: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5726:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5726:2: ( ( ruleOpEquality ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5727:1: ( ruleOpEquality ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5727:1: ( ruleOpEquality ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5728:3: ruleOpEquality { pushFollow(FollowSets001.FOLLOW_ruleOpEquality_in_synpred6_InternalIoT12903); ruleOpEquality(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred6_InternalIoT // $ANTLR start synpred7_InternalIoT public final void synpred7_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:4: ( ( () 'instanceof' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:5: ( () 'instanceof' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:5: ( () 'instanceof' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:6: () 'instanceof' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5847:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5848:1: { } match(input,90,FollowSets001.FOLLOW_90_in_synpred7_InternalIoT13217); if (state.failed) return ; } } } // $ANTLR end synpred7_InternalIoT // $ANTLR start synpred8_InternalIoT public final void synpred8_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5878:8: ( ( () ( ( ruleOpCompare ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5878:9: ( () ( ( ruleOpCompare ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5878:9: ( () ( ( ruleOpCompare ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5878:10: () ( ( ruleOpCompare ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5878:10: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5879:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5879:2: ( ( ruleOpCompare ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5880:1: ( ruleOpCompare ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5880:1: ( ruleOpCompare ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:5881:3: ruleOpCompare { pushFollow(FollowSets001.FOLLOW_ruleOpCompare_in_synpred8_InternalIoT13288); ruleOpCompare(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred8_InternalIoT // $ANTLR start synpred9_InternalIoT public final void synpred9_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6006:3: ( ( () ( ( ruleOpOther ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6006:4: ( () ( ( ruleOpOther ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6006:4: ( () ( ( ruleOpOther ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6006:5: () ( ( ruleOpOther ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6006:5: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6007:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6007:2: ( ( ruleOpOther ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6008:1: ( ruleOpOther ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6008:1: ( ruleOpOther ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6009:3: ruleOpOther { pushFollow(FollowSets001.FOLLOW_ruleOpOther_in_synpred9_InternalIoT13622); ruleOpOther(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred9_InternalIoT // $ANTLR start synpred10_InternalIoT public final void synpred10_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6118:3: ( ( '>' '>' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6118:4: ( '>' '>' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6118:4: ( '>' '>' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6119:2: '>' '>' { match(input,63,FollowSets001.FOLLOW_63_in_synpred10_InternalIoT13891); if (state.failed) return ; match(input,63,FollowSets001.FOLLOW_63_in_synpred10_InternalIoT13896); if (state.failed) return ; } } } // $ANTLR end synpred10_InternalIoT // $ANTLR start synpred11_InternalIoT public final void synpred11_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6148:3: ( ( '<' '<' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6148:4: ( '<' '<' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6148:4: ( '<' '<' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6149:2: '<' '<' { match(input,65,FollowSets001.FOLLOW_65_in_synpred11_InternalIoT13978); if (state.failed) return ; match(input,65,FollowSets001.FOLLOW_65_in_synpred11_InternalIoT13983); if (state.failed) return ; } } } // $ANTLR end synpred11_InternalIoT // $ANTLR start synpred12_InternalIoT public final void synpred12_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6222:3: ( ( () ( ( ruleOpAdd ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6222:4: ( () ( ( ruleOpAdd ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6222:4: ( () ( ( ruleOpAdd ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6222:5: () ( ( ruleOpAdd ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6222:5: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6223:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6223:2: ( ( ruleOpAdd ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6224:1: ( ruleOpAdd ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6224:1: ( ruleOpAdd ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6225:3: ruleOpAdd { pushFollow(FollowSets001.FOLLOW_ruleOpAdd_in_synpred12_InternalIoT14205); ruleOpAdd(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred12_InternalIoT // $ANTLR start synpred13_InternalIoT public final void synpred13_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6330:3: ( ( () ( ( ruleOpMulti ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6330:4: ( () ( ( ruleOpMulti ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6330:4: ( () ( ( ruleOpMulti ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6330:5: () ( ( ruleOpMulti ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6330:5: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6331:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6331:2: ( ( ruleOpMulti ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6332:1: ( ruleOpMulti ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6332:1: ( ruleOpMulti ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6333:3: ruleOpMulti { pushFollow(FollowSets001.FOLLOW_ruleOpMulti_in_synpred13_InternalIoT14485); ruleOpMulti(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred13_InternalIoT // $ANTLR start synpred14_InternalIoT public final void synpred14_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6563:3: ( ( () 'as' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6563:4: ( () 'as' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6563:4: ( () 'as' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6563:5: () 'as' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6563:5: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6564:1: { } match(input,98,FollowSets001.FOLLOW_98_in_synpred14_InternalIoT15079); if (state.failed) return ; } } } // $ANTLR end synpred14_InternalIoT // $ANTLR start synpred15_InternalIoT public final void synpred15_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6623:2: ( ( () ( ( ruleOpPostfix ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6623:3: ( () ( ( ruleOpPostfix ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6623:3: ( () ( ( ruleOpPostfix ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6623:4: () ( ( ruleOpPostfix ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6623:4: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6624:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6624:2: ( ( ruleOpPostfix ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6625:1: ( ruleOpPostfix ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6625:1: ( ruleOpPostfix ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6626:3: ruleOpPostfix { pushFollow(FollowSets001.FOLLOW_ruleOpPostfix_in_synpred15_InternalIoT15236); ruleOpPostfix(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred15_InternalIoT // $ANTLR start synpred16_InternalIoT public final void synpred16_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:4: ( ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:5: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:5: ( () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:6: () ( '.' | ( ( '::' ) ) ) ( ( ruleFeatureCallID ) ) ruleOpSingleAssign { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6713:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6714:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6714:2: ( '.' | ( ( '::' ) ) ) int alt188=2; int LA188_0 = input.LA(1); if ( (LA188_0==58) ) { alt188=1; } else if ( (LA188_0==101) ) { alt188=2; } else { if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 188, 0, input); throw nvae; } switch (alt188) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6714:4: '.' { match(input,58,FollowSets001.FOLLOW_58_in_synpred16_InternalIoT15491); if (state.failed) return ; } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6716:6: ( ( '::' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6716:6: ( ( '::' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6717:1: ( '::' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6717:1: ( '::' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6718:2: '::' { match(input,101,FollowSets001.FOLLOW_101_in_synpred16_InternalIoT15505); if (state.failed) return ; } } } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6722:3: ( ( ruleFeatureCallID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6723:1: ( ruleFeatureCallID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6723:1: ( ruleFeatureCallID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6724:3: ruleFeatureCallID { pushFollow(FollowSets001.FOLLOW_ruleFeatureCallID_in_synpred16_InternalIoT15521); ruleFeatureCallID(); state._fsp--; if (state.failed) return ; } } pushFollow(FollowSets001.FOLLOW_ruleOpSingleAssign_in_synpred16_InternalIoT15527); ruleOpSingleAssign(); state._fsp--; if (state.failed) return ; } } } // $ANTLR end synpred16_InternalIoT // $ANTLR start synpred17_InternalIoT public final void synpred17_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6794:8: ( ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6794:9: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6794:9: ( () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6794:10: () ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6794:10: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6795:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6795:2: ( '.' | ( ( '?.' ) ) | ( ( '::' ) ) ) int alt189=3; switch ( input.LA(1) ) { case 58: { alt189=1; } break; case 102: { alt189=2; } break; case 101: { alt189=3; } break; default: if (state.backtracking>0) {state.failed=true; return ;} NoViableAltException nvae = new NoViableAltException("", 189, 0, input); throw nvae; } switch (alt189) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6795:4: '.' { match(input,58,FollowSets001.FOLLOW_58_in_synpred17_InternalIoT15669); if (state.failed) return ; } break; case 2 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6797:6: ( ( '?.' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6797:6: ( ( '?.' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6798:1: ( '?.' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6798:1: ( '?.' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6799:2: '?.' { match(input,102,FollowSets001.FOLLOW_102_in_synpred17_InternalIoT15683); if (state.failed) return ; } } } break; case 3 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6804:6: ( ( '::' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6804:6: ( ( '::' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6805:1: ( '::' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6805:1: ( '::' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6806:2: '::' { match(input,101,FollowSets001.FOLLOW_101_in_synpred17_InternalIoT15703); if (state.failed) return ; } } } break; } } } } // $ANTLR end synpred17_InternalIoT // $ANTLR start synpred18_InternalIoT public final void synpred18_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6915:4: ( ( '(' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6916:1: ( '(' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6916:1: ( '(' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6917:2: '(' { match(input,20,FollowSets001.FOLLOW_20_in_synpred18_InternalIoT15930); if (state.failed) return ; } } } // $ANTLR end synpred18_InternalIoT // $ANTLR start synpred19_InternalIoT public final void synpred19_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6936:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6936:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6936:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6936:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6936:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6937:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6937:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt191=2; int LA191_0 = input.LA(1); if ( (LA191_0==RULE_ID||LA191_0==20||LA191_0==93) ) { alt191=1; } switch (alt191) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6937:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6937:3: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6938:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6938:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6939:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred19_InternalIoT15982); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6941:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop190: do { int alt190=2; int LA190_0 = input.LA(1); if ( (LA190_0==21) ) { alt190=1; } switch (alt190) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6941:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,21,FollowSets001.FOLLOW_21_in_synpred19_InternalIoT15989); if (state.failed) return ; // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6942:1: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6943:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6943:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6944:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred19_InternalIoT15996); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop190; } } while (true); } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6946:6: ( ( '|' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6947:1: ( '|' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6947:1: ( '|' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:6948:2: '|' { match(input,103,FollowSets001.FOLLOW_103_in_synpred19_InternalIoT16010); if (state.failed) return ; } } } } } // $ANTLR end synpred19_InternalIoT // $ANTLR start synpred20_InternalIoT public final void synpred20_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7015:4: ( ( () '[' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7015:5: ( () '[' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7015:5: ( () '[' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7015:6: () '[' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7015:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7016:1: { } match(input,42,FollowSets001.FOLLOW_42_in_synpred20_InternalIoT16130); if (state.failed) return ; } } } // $ANTLR end synpred20_InternalIoT // $ANTLR start synpred21_InternalIoT public final void synpred21_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7086:7: ( ( () 'synchronized' '(' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7086:8: ( () 'synchronized' '(' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7086:8: ( () 'synchronized' '(' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7086:9: () 'synchronized' '(' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7086:9: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7087:1: { } match(input,120,FollowSets001.FOLLOW_120_in_synpred21_InternalIoT16319); if (state.failed) return ; match(input,20,FollowSets001.FOLLOW_20_in_synpred21_InternalIoT16323); if (state.failed) return ; } } } // $ANTLR end synpred21_InternalIoT // $ANTLR start synpred22_InternalIoT public final void synpred22_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7129:7: ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7129:8: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7129:8: ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7129:9: () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7129:9: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7130:1: { } match(input,56,FollowSets001.FOLLOW_56_in_synpred22_InternalIoT16445); if (state.failed) return ; match(input,20,FollowSets001.FOLLOW_20_in_synpred22_InternalIoT16449); if (state.failed) return ; // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7132:1: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7133:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7133:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7134:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred22_InternalIoT16456); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,59,FollowSets001.FOLLOW_59_in_synpred22_InternalIoT16462); if (state.failed) return ; } } } // $ANTLR end synpred22_InternalIoT // $ANTLR start synpred23_InternalIoT public final void synpred23_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7247:7: ( ( () '[' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7247:8: ( () '[' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7247:8: ( () '[' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7247:9: () '[' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7247:9: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7248:1: { } match(input,42,FollowSets001.FOLLOW_42_in_synpred23_InternalIoT16784); if (state.failed) return ; } } } // $ANTLR end synpred23_InternalIoT // $ANTLR start synpred25_InternalIoT public final void synpred25_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7539:4: ( ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7539:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7539:5: ( ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7539:6: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7539:6: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt193=2; int LA193_0 = input.LA(1); if ( (LA193_0==RULE_ID||LA193_0==20||LA193_0==93) ) { alt193=1; } switch (alt193) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7539:7: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7539:7: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7540:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7540:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7541:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred25_InternalIoT17534); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7543:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop192: do { int alt192=2; int LA192_0 = input.LA(1); if ( (LA192_0==21) ) { alt192=1; } switch (alt192) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7543:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,21,FollowSets001.FOLLOW_21_in_synpred25_InternalIoT17541); if (state.failed) return ; // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7544:1: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7545:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7545:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7546:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred25_InternalIoT17548); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop192; } } while (true); } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7548:6: ( ( '|' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7549:1: ( '|' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7549:1: ( '|' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7550:2: '|' { match(input,103,FollowSets001.FOLLOW_103_in_synpred25_InternalIoT17562); if (state.failed) return ; } } } } } // $ANTLR end synpred25_InternalIoT // $ANTLR start synpred27_InternalIoT public final void synpred27_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7909:4: ( 'else' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7909:6: 'else' { match(input,54,FollowSets001.FOLLOW_54_in_synpred27_InternalIoT18345); if (state.failed) return ; } } // $ANTLR end synpred27_InternalIoT // $ANTLR start synpred28_InternalIoT public final void synpred28_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7963:4: ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7963:5: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7963:5: ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7963:7: '(' ( ( ruleJvmFormalParameter ) ) ':' { match(input,20,FollowSets001.FOLLOW_20_in_synpred28_InternalIoT18484); if (state.failed) return ; // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7964:1: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7965:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7965:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:7966:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred28_InternalIoT18491); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,59,FollowSets001.FOLLOW_59_in_synpred28_InternalIoT18497); if (state.failed) return ; } } } // $ANTLR end synpred28_InternalIoT // $ANTLR start synpred29_InternalIoT public final void synpred29_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8018:8: ( ( ( ( ruleJvmFormalParameter ) ) ':' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8018:9: ( ( ( ruleJvmFormalParameter ) ) ':' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8018:9: ( ( ( ruleJvmFormalParameter ) ) ':' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8018:10: ( ( ruleJvmFormalParameter ) ) ':' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8018:10: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8019:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8019:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8020:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred29_InternalIoT18599); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } match(input,59,FollowSets001.FOLLOW_59_in_synpred29_InternalIoT18605); if (state.failed) return ; } } } // $ANTLR end synpred29_InternalIoT // $ANTLR start synpred31_InternalIoT public final void synpred31_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8786:4: ( ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8786:5: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8786:5: ( ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8786:6: ( ( ruleJvmTypeReference ) ) ( ( ruleValidID ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8786:6: ( ( ruleJvmTypeReference ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8787:1: ( ruleJvmTypeReference ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8787:1: ( ruleJvmTypeReference ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8788:1: ruleJvmTypeReference { pushFollow(FollowSets001.FOLLOW_ruleJvmTypeReference_in_synpred31_InternalIoT20233); ruleJvmTypeReference(); state._fsp--; if (state.failed) return ; } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8790:2: ( ( ruleValidID ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8791:1: ( ruleValidID ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8791:1: ( ruleValidID ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:8792:1: ruleValidID { pushFollow(FollowSets001.FOLLOW_ruleValidID_in_synpred31_InternalIoT20242); ruleValidID(); state._fsp--; if (state.failed) return ; } } } } } // $ANTLR end synpred31_InternalIoT // $ANTLR start synpred32_InternalIoT public final void synpred32_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9075:4: ( ( '(' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9076:1: ( '(' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9076:1: ( '(' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9077:2: '(' { match(input,20,FollowSets001.FOLLOW_20_in_synpred32_InternalIoT20780); if (state.failed) return ; } } } // $ANTLR end synpred32_InternalIoT // $ANTLR start synpred33_InternalIoT public final void synpred33_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9096:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9096:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9096:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9096:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9096:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9097:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9097:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt197=2; int LA197_0 = input.LA(1); if ( (LA197_0==RULE_ID||LA197_0==20||LA197_0==93) ) { alt197=1; } switch (alt197) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9097:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9097:3: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9098:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9098:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9099:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred33_InternalIoT20832); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9101:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop196: do { int alt196=2; int LA196_0 = input.LA(1); if ( (LA196_0==21) ) { alt196=1; } switch (alt196) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9101:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,21,FollowSets001.FOLLOW_21_in_synpred33_InternalIoT20839); if (state.failed) return ; // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9102:1: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9103:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9103:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9104:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred33_InternalIoT20846); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop196; } } while (true); } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9106:6: ( ( '|' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9107:1: ( '|' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9107:1: ( '|' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9108:2: '|' { match(input,103,FollowSets001.FOLLOW_103_in_synpred33_InternalIoT20860); if (state.failed) return ; } } } } } // $ANTLR end synpred33_InternalIoT // $ANTLR start synpred34_InternalIoT public final void synpred34_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9175:4: ( ( () '[' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9175:5: ( () '[' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9175:5: ( () '[' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9175:6: () '[' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9175:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9176:1: { } match(input,42,FollowSets001.FOLLOW_42_in_synpred34_InternalIoT20980); if (state.failed) return ; } } } // $ANTLR end synpred34_InternalIoT // $ANTLR start synpred35_InternalIoT public final void synpred35_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9340:4: ( '<' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9340:6: '<' { match(input,65,FollowSets001.FOLLOW_65_in_synpred35_InternalIoT21429); if (state.failed) return ; } } // $ANTLR end synpred35_InternalIoT // $ANTLR start synpred36_InternalIoT public final void synpred36_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9389:5: ( ( '(' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9390:1: ( '(' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9390:1: ( '(' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9391:2: '(' { match(input,20,FollowSets001.FOLLOW_20_in_synpred36_InternalIoT21525); if (state.failed) return ; } } } // $ANTLR end synpred36_InternalIoT // $ANTLR start synpred37_InternalIoT public final void synpred37_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9410:4: ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9410:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9410:5: ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9410:6: () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9410:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9411:1: { } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9411:2: ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? int alt199=2; int LA199_0 = input.LA(1); if ( (LA199_0==RULE_ID||LA199_0==20||LA199_0==93) ) { alt199=1; } switch (alt199) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9411:3: ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9411:3: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9412:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9412:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9413:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred37_InternalIoT21577); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9415:2: ( ',' ( ( ruleJvmFormalParameter ) ) )* loop198: do { int alt198=2; int LA198_0 = input.LA(1); if ( (LA198_0==21) ) { alt198=1; } switch (alt198) { case 1 : // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9415:4: ',' ( ( ruleJvmFormalParameter ) ) { match(input,21,FollowSets001.FOLLOW_21_in_synpred37_InternalIoT21584); if (state.failed) return ; // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9416:1: ( ( ruleJvmFormalParameter ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9417:1: ( ruleJvmFormalParameter ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9417:1: ( ruleJvmFormalParameter ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9418:1: ruleJvmFormalParameter { pushFollow(FollowSets001.FOLLOW_ruleJvmFormalParameter_in_synpred37_InternalIoT21591); ruleJvmFormalParameter(); state._fsp--; if (state.failed) return ; } } } break; default : break loop198; } } while (true); } break; } // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9420:6: ( ( '|' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9421:1: ( '|' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9421:1: ( '|' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9422:2: '|' { match(input,103,FollowSets001.FOLLOW_103_in_synpred37_InternalIoT21605); if (state.failed) return ; } } } } } // $ANTLR end synpred37_InternalIoT // $ANTLR start synpred38_InternalIoT public final void synpred38_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9489:4: ( ( () '[' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9489:5: ( () '[' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9489:5: ( () '[' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9489:6: () '[' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9489:6: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9490:1: { } match(input,42,FollowSets001.FOLLOW_42_in_synpred38_InternalIoT21725); if (state.failed) return ; } } } // $ANTLR end synpred38_InternalIoT // $ANTLR start synpred39_InternalIoT public final void synpred39_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9829:2: ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g: { if ( (input.LA(1)>=RULE_ID && input.LA(1)<=RULE_INT)||(input.LA(1)>=RULE_STRING && input.LA(1)<=RULE_DECIMAL)||input.LA(1)==15||input.LA(1)==20||(input.LA(1)>=37 && input.LA(1)<=38)||input.LA(1)==42||input.LA(1)==45||input.LA(1)==47||input.LA(1)==49||input.LA(1)==52||input.LA(1)==56||input.LA(1)==65||(input.LA(1)>=70 && input.LA(1)<=71)||input.LA(1)==76||input.LA(1)==97||input.LA(1)==104||(input.LA(1)>=109 && input.LA(1)<=118)||input.LA(1)==120 ) { 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 synpred39_InternalIoT // $ANTLR start synpred40_InternalIoT public final void synpred40_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9923:5: ( 'catch' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9923:7: 'catch' { match(input,121,FollowSets001.FOLLOW_121_in_synpred40_InternalIoT22898); if (state.failed) return ; } } // $ANTLR end synpred40_InternalIoT // $ANTLR start synpred41_InternalIoT public final void synpred41_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9942:5: ( 'finally' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:9942:7: 'finally' { match(input,119,FollowSets001.FOLLOW_119_in_synpred41_InternalIoT22928); if (state.failed) return ; } } // $ANTLR end synpred41_InternalIoT // $ANTLR start synpred44_InternalIoT public final void synpred44_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10168:3: ( '.' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10169:2: '.' { match(input,58,FollowSets001.FOLLOW_58_in_synpred44_InternalIoT23453); if (state.failed) return ; } } // $ANTLR end synpred44_InternalIoT // $ANTLR start synpred45_InternalIoT public final void synpred45_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10294:2: ( ( () ruleArrayBrackets ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10294:3: ( () ruleArrayBrackets ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10294:3: ( () ruleArrayBrackets ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10294:4: () ruleArrayBrackets { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10294:4: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10295:1: { } pushFollow(FollowSets001.FOLLOW_ruleArrayBrackets_in_synpred45_InternalIoT23838); ruleArrayBrackets(); state._fsp--; if (state.failed) return ; } } } // $ANTLR end synpred45_InternalIoT // $ANTLR start synpred46_InternalIoT public final void synpred46_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10479:4: ( '<' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10479:6: '<' { match(input,65,FollowSets001.FOLLOW_65_in_synpred46_InternalIoT24290); if (state.failed) return ; } } // $ANTLR end synpred46_InternalIoT // $ANTLR start synpred47_InternalIoT public final void synpred47_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10528:3: ( ( () '.' ) ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10528:4: ( () '.' ) { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10528:4: ( () '.' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10528:5: () '.' { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10528:5: () // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10529:1: { } match(input,58,FollowSets001.FOLLOW_58_in_synpred47_InternalIoT24385); if (state.failed) return ; } } } // $ANTLR end synpred47_InternalIoT // $ANTLR start synpred48_InternalIoT public final void synpred48_InternalIoT_fragment() throws RecognitionException { // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10555:4: ( '<' ) // ../fr.inria.diverse.iot.xtext/src-gen/fr/inria/diverse/iot/xtext/parser/antlr/internal/InternalIoT.g:10555:6: '<' { match(input,65,FollowSets001.FOLLOW_65_in_synpred48_InternalIoT24442); if (state.failed) return ; } } // $ANTLR end synpred48_InternalIoT // Delegated rules public final boolean synpred48_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred48_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred37_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred15_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred36_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred47_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred46_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred7_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred14_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred25_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred8_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred13_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred34_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred45_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred35_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred11_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred32_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred9_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred10_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred12_InternalIoT_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred21_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred21_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred23_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred40_InternalIoT_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 synpred44_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred44_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred33_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred22_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred6_InternalIoT_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred5_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred5_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred16_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred27_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred4_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred17_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred38_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred41_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred31_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred39_InternalIoT_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred20_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred20_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred28_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred2_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred1_InternalIoT_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred3_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred3_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred18_InternalIoT_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_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred29_InternalIoT_fragment(); // can never throw exception } catch (RecognitionException re) { System.err.println("impossible: "+re); } boolean success = !state.failed; input.rewind(start); state.backtracking--; state.failed=false; return success; } public final boolean synpred19_InternalIoT() { state.backtracking++; int start = input.mark(); try { synpred19_InternalIoT_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 DFA40 dfa40 = new DFA40(this); protected DFA67 dfa67 = new DFA67(this); protected DFA78 dfa78 = new DFA78(this); protected DFA88 dfa88 = new DFA88(this); protected DFA91 dfa91 = new DFA91(this); protected DFA107 dfa107 = new DFA107(this); protected DFA106 dfa106 = new DFA106(this); protected DFA108 dfa108 = new DFA108(this); protected DFA110 dfa110 = new DFA110(this); protected DFA119 dfa119 = new DFA119(this); protected DFA126 dfa126 = new DFA126(this); protected DFA125 dfa125 = new DFA125(this); protected DFA148 dfa148 = new DFA148(this); protected DFA147 dfa147 = new DFA147(this); protected DFA149 dfa149 = new DFA149(this); protected DFA153 dfa153 = new DFA153(this); protected DFA156 dfa156 = new DFA156(this); protected DFA155 dfa155 = new DFA155(this); protected DFA157 dfa157 = new DFA157(this); protected DFA160 dfa160 = new DFA160(this); protected DFA178 dfa178 = new DFA178(this); protected DFA176 dfa176 = new DFA176(this); protected DFA185 dfa185 = new DFA185(this); static final String DFA40_eotS = "\16\uffff"; static final String DFA40_eofS = "\16\uffff"; static final String DFA40_minS = "\1\4\4\uffff\1\4\1\uffff\1\4\1\uffff\1\25\4\uffff"; static final String DFA40_maxS = "\1\74\4\uffff\1\4\1\uffff\1\71\1\uffff\1\43\4\uffff"; static final String DFA40_acceptS = "\1\uffff\1\1\1\2\1\3\1\4\1\uffff\1\7\1\uffff\1\12\1\uffff\1\10\1\11\1\6\1\5"; static final String DFA40_specialS = "\16\uffff}>"; static final String[] DFA40_transitionS = { "\1\10\17\uffff\1\10\32\uffff\1\1\1\uffff\1\2\1\3\1\uffff\1\4\3\uffff\1\5\1\6\2\uffff\1\7", "", "", "", "", "\1\11", "", "\1\13\64\uffff\1\12", "", "\1\14\4\uffff\1\14\10\uffff\1\15", "", "", "", "" }; static final short[] DFA40_eot = DFA.unpackEncodedString(DFA40_eotS); static final short[] DFA40_eof = DFA.unpackEncodedString(DFA40_eofS); static final char[] DFA40_min = DFA.unpackEncodedStringToUnsignedChars(DFA40_minS); static final char[] DFA40_max = DFA.unpackEncodedStringToUnsignedChars(DFA40_maxS); static final short[] DFA40_accept = DFA.unpackEncodedString(DFA40_acceptS); static final short[] DFA40_special = DFA.unpackEncodedString(DFA40_specialS); static final short[][] DFA40_transition; static { int numStates = DFA40_transitionS.length; DFA40_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA40_transition[i] = DFA.unpackEncodedString(DFA40_transitionS[i]); } } class DFA40 extends DFA { public DFA40(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 40; this.eot = DFA40_eot; this.eof = DFA40_eof; this.min = DFA40_min; this.max = DFA40_max; this.accept = DFA40_accept; this.special = DFA40_special; this.transition = DFA40_transition; } public String getDescription() { return "2108:1: (this_Statement_Block_0= ruleStatement_Block | this_Statement_While_1= ruleStatement_While | this_Statement_Repeat_2= ruleStatement_Repeat | this_Statement_If_Then_Else_3= ruleStatement_If_Then_Else | this_Statement_For_Numeric_4= ruleStatement_For_Numeric | this_Statement_For_Generic_5= ruleStatement_For_Generic | this_Statement_GlobalFunction_Declaration_6= ruleStatement_GlobalFunction_Declaration | this_Statement_LocalFunction_Declaration_7= ruleStatement_LocalFunction_Declaration | this_Statement_Local_Variable_Declaration_8= ruleStatement_Local_Variable_Declaration | this_Statement_FunctioncallOrAssignment_9= ruleStatement_FunctioncallOrAssignment )"; } } static final String DFA67_eotS = "\51\uffff"; static final String DFA67_eofS = "\1\5\50\uffff"; static final String DFA67_minS = "\1\4\50\uffff"; static final String DFA67_maxS = "\1\115\50\uffff"; static final String DFA67_acceptS = "\1\uffff\1\1\2\2\1\uffff\1\3\43\uffff"; static final String DFA67_specialS = "\1\0\50\uffff}>"; static final String[] DFA67_transitionS = { "\1\5\2\uffff\1\3\7\uffff\1\3\1\5\3\uffff\1\2\2\5\24\uffff\17\5\1\uffff\1\1\17\5\2\uffff\1\5", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA67_eot = DFA.unpackEncodedString(DFA67_eotS); static final short[] DFA67_eof = DFA.unpackEncodedString(DFA67_eofS); static final char[] DFA67_min = DFA.unpackEncodedStringToUnsignedChars(DFA67_minS); static final char[] DFA67_max = DFA.unpackEncodedStringToUnsignedChars(DFA67_maxS); static final short[] DFA67_accept = DFA.unpackEncodedString(DFA67_acceptS); static final short[] DFA67_special = DFA.unpackEncodedString(DFA67_specialS); static final short[][] DFA67_transition; static { int numStates = DFA67_transitionS.length; DFA67_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA67_transition[i] = DFA.unpackEncodedString(DFA67_transitionS[i]); } } class DFA67 extends DFA { public DFA67(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 67; this.eot = DFA67_eot; this.eof = DFA67_eof; this.min = DFA67_min; this.max = DFA67_max; this.accept = DFA67_accept; this.special = DFA67_special; this.transition = DFA67_transition; } public String getDescription() { return "4557:1: ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= ruleValidID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA67_0 = input.LA(1); int index67_0 = input.index(); input.rewind(); s = -1; if ( (LA67_0==59) && (synpred2_InternalIoT())) {s = 1;} else if ( (LA67_0==20) ) {s = 2;} else if ( (LA67_0==RULE_STRING||LA67_0==15) ) {s = 3;} else if ( (LA67_0==EOF||LA67_0==RULE_ID||LA67_0==16||(LA67_0>=21 && LA67_0<=22)||(LA67_0>=43 && LA67_0<=57)||(LA67_0>=60 && LA67_0<=74)||LA67_0==77) ) {s = 5;} input.seek(index67_0); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 67, _s, input); error(nvae); throw nvae; } } static final String DFA78_eotS = "\12\uffff"; static final String DFA78_eofS = "\1\10\11\uffff"; static final String DFA78_minS = "\1\4\7\0\2\uffff"; static final String DFA78_maxS = "\1\171\7\0\2\uffff"; static final String DFA78_acceptS = "\10\uffff\1\2\1\1"; static final String DFA78_specialS = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\0\1\6\2\uffff}>"; static final String[] DFA78_transitionS = { "\2\10\1\uffff\3\10\5\uffff\2\10\3\uffff\3\10\16\uffff\2\10\3\uffff\4\10\1\uffff\1\10\1\uffff\1\10\2\uffff\1\10\1\uffff\1\10\1\uffff\1\10\1\uffff\2\10\3\uffff\1\7\1\10\1\6\1\uffff\1\10\1\uffff\6\10\1\uffff\1\10\3\uffff\1\1\1\2\1\3\1\4\1\5\22\10\1\uffff\22\10", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "" }; static final short[] DFA78_eot = DFA.unpackEncodedString(DFA78_eotS); static final short[] DFA78_eof = DFA.unpackEncodedString(DFA78_eofS); static final char[] DFA78_min = DFA.unpackEncodedStringToUnsignedChars(DFA78_minS); static final char[] DFA78_max = DFA.unpackEncodedStringToUnsignedChars(DFA78_maxS); static final short[] DFA78_accept = DFA.unpackEncodedString(DFA78_acceptS); static final short[] DFA78_special = DFA.unpackEncodedString(DFA78_specialS); static final short[][] DFA78_transition; static { int numStates = DFA78_transitionS.length; DFA78_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA78_transition[i] = DFA.unpackEncodedString(DFA78_transitionS[i]); } } class DFA78 extends DFA { public DFA78(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 78; this.eot = DFA78_eot; this.eof = DFA78_eof; this.min = DFA78_min; this.max = DFA78_max; this.accept = DFA78_accept; this.special = DFA78_special; this.transition = DFA78_transition; } public String getDescription() { return "5329:1: ( ( ( ( () ( ( ruleOpMultiAssign ) ) ) )=> ( () ( ( ruleOpMultiAssign ) ) ) ) ( (lv_rightOperand_7_0= ruleXAssignment ) ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA78_6 = input.LA(1); int index78_6 = input.index(); input.rewind(); s = -1; if ( (synpred3_InternalIoT()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index78_6); if ( s>=0 ) return s; break; case 1 : int LA78_1 = input.LA(1); int index78_1 = input.index(); input.rewind(); s = -1; if ( (synpred3_InternalIoT()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index78_1); if ( s>=0 ) return s; break; case 2 : int LA78_2 = input.LA(1); int index78_2 = input.index(); input.rewind(); s = -1; if ( (synpred3_InternalIoT()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index78_2); if ( s>=0 ) return s; break; case 3 : int LA78_3 = input.LA(1); int index78_3 = input.index(); input.rewind(); s = -1; if ( (synpred3_InternalIoT()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index78_3); if ( s>=0 ) return s; break; case 4 : int LA78_4 = input.LA(1); int index78_4 = input.index(); input.rewind(); s = -1; if ( (synpred3_InternalIoT()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index78_4); if ( s>=0 ) return s; break; case 5 : int LA78_5 = input.LA(1); int index78_5 = input.index(); input.rewind(); s = -1; if ( (synpred3_InternalIoT()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index78_5); if ( s>=0 ) return s; break; case 6 : int LA78_7 = input.LA(1); int index78_7 = input.index(); input.rewind(); s = -1; if ( (synpred3_InternalIoT()) ) {s = 9;} else if ( (true) ) {s = 8;} input.seek(index78_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 78, _s, input); error(nvae); throw nvae; } } static final String DFA88_eotS = "\13\uffff"; static final String DFA88_eofS = "\1\1\12\uffff"; static final String DFA88_minS = "\1\4\1\uffff\10\0\1\uffff"; static final String DFA88_maxS = "\1\171\1\uffff\10\0\1\uffff"; static final String DFA88_acceptS = "\1\uffff\1\2\10\uffff\1\1"; static final String DFA88_specialS = "\2\uffff\1\3\1\2\1\4\1\5\1\6\1\7\1\0\1\1\1\uffff}>"; static final String[] DFA88_transitionS = { "\2\1\1\uffff\3\1\5\uffff\2\1\3\uffff\3\1\16\uffff\2\1\3\uffff\4\1\1\uffff\1\1\1\uffff\1\1\2\uffff\1\1\1\uffff\1\1\1\uffff\1\1\1\uffff\2\1\3\uffff\1\3\1\1\1\2\1\uffff\1\1\1\uffff\1\6\5\1\1\uffff\1\1\3\uffff\13\1\1\4\1\5\1\7\1\10\1\11\7\1\1\uffff\22\1", "", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "" }; static final short[] DFA88_eot = DFA.unpackEncodedString(DFA88_eotS); static final short[] DFA88_eof = DFA.unpackEncodedString(DFA88_eofS); static final char[] DFA88_min = DFA.unpackEncodedStringToUnsignedChars(DFA88_minS); static final char[] DFA88_max = DFA.unpackEncodedStringToUnsignedChars(DFA88_maxS); static final short[] DFA88_accept = DFA.unpackEncodedString(DFA88_acceptS); static final short[] DFA88_special = DFA.unpackEncodedString(DFA88_specialS); static final short[][] DFA88_transition; static { int numStates = DFA88_transitionS.length; DFA88_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA88_transition[i] = DFA.unpackEncodedString(DFA88_transitionS[i]); } } class DFA88 extends DFA { public DFA88(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 88; this.eot = DFA88_eot; this.eof = DFA88_eof; this.min = DFA88_min; this.max = DFA88_max; this.accept = DFA88_accept; this.special = DFA88_special; this.transition = DFA88_transition; } public String getDescription() { return "()* loopback of 6006:1: ( ( ( ( () ( ( ruleOpOther ) ) ) )=> ( () ( ( ruleOpOther ) ) ) ) ( (lv_rightOperand_3_0= ruleXAdditiveExpression ) ) )*"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA88_8 = input.LA(1); int index88_8 = input.index(); input.rewind(); s = -1; if ( (synpred9_InternalIoT()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index88_8); if ( s>=0 ) return s; break; case 1 : int LA88_9 = input.LA(1); int index88_9 = input.index(); input.rewind(); s = -1; if ( (synpred9_InternalIoT()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index88_9); if ( s>=0 ) return s; break; case 2 : int LA88_3 = input.LA(1); int index88_3 = input.index(); input.rewind(); s = -1; if ( (synpred9_InternalIoT()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index88_3); if ( s>=0 ) return s; break; case 3 : int LA88_2 = input.LA(1); int index88_2 = input.index(); input.rewind(); s = -1; if ( (synpred9_InternalIoT()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index88_2); if ( s>=0 ) return s; break; case 4 : int LA88_4 = input.LA(1); int index88_4 = input.index(); input.rewind(); s = -1; if ( (synpred9_InternalIoT()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index88_4); if ( s>=0 ) return s; break; case 5 : int LA88_5 = input.LA(1); int index88_5 = input.index(); input.rewind(); s = -1; if ( (synpred9_InternalIoT()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index88_5); if ( s>=0 ) return s; break; case 6 : int LA88_6 = input.LA(1); int index88_6 = input.index(); input.rewind(); s = -1; if ( (synpred9_InternalIoT()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index88_6); if ( s>=0 ) return s; break; case 7 : int LA88_7 = input.LA(1); int index88_7 = input.index(); input.rewind(); s = -1; if ( (synpred9_InternalIoT()) ) {s = 10;} else if ( (true) ) {s = 1;} input.seek(index88_7); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 88, _s, input); error(nvae); throw nvae; } } static final String DFA91_eotS = "\13\uffff"; static final String DFA91_eofS = "\13\uffff"; static final String DFA91_minS = "\1\77\2\uffff\1\77\7\uffff"; static final String DFA91_maxS = "\1\137\2\uffff\1\105\7\uffff"; static final String DFA91_acceptS = "\1\uffff\1\1\1\2\1\uffff\1\4\1\5\1\7\1\10\1\11\1\3\1\6"; static final String DFA91_specialS = "\13\uffff}>"; static final String[] DFA91_transitionS = { "\1\3\1\uffff\1\6\3\uffff\1\4\25\uffff\1\1\1\2\1\5\1\7\1\10", "", "", "\1\12\5\uffff\1\11", "", "", "", "", "", "", "" }; static final short[] DFA91_eot = DFA.unpackEncodedString(DFA91_eotS); static final short[] DFA91_eof = DFA.unpackEncodedString(DFA91_eofS); static final char[] DFA91_min = DFA.unpackEncodedStringToUnsignedChars(DFA91_minS); static final char[] DFA91_max = DFA.unpackEncodedStringToUnsignedChars(DFA91_maxS); static final short[] DFA91_accept = DFA.unpackEncodedString(DFA91_acceptS); static final short[] DFA91_special = DFA.unpackEncodedString(DFA91_specialS); static final short[][] DFA91_transition; static { int numStates = DFA91_transitionS.length; DFA91_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA91_transition[i] = DFA.unpackEncodedString(DFA91_transitionS[i]); } } class DFA91 extends DFA { public DFA91(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 91; this.eot = DFA91_eot; this.eof = DFA91_eof; this.min = DFA91_min; this.max = DFA91_max; this.accept = DFA91_accept; this.special = DFA91_special; this.transition = DFA91_transition; } public String getDescription() { return "6071:1: (kw= '->' | kw= '..<' | (kw= '>' kw= '..' ) | kw= '..' | kw= '=>' | (kw= '>' ( ( ( ( '>' '>' ) )=> (kw= '>' kw= '>' ) ) | kw= '>' ) ) | (kw= '<' ( ( ( ( '<' '<' ) )=> (kw= '<' kw= '<' ) ) | kw= '<' | kw= '=>' ) ) | kw= '<>' | kw= '?:' )"; } } static final String DFA107_eotS = "\116\uffff"; static final String DFA107_eofS = "\1\2\115\uffff"; static final String DFA107_minS = "\1\4\1\0\114\uffff"; static final String DFA107_maxS = "\1\171\1\0\114\uffff"; static final String DFA107_acceptS = "\2\uffff\1\2\112\uffff\1\1"; static final String DFA107_specialS = "\1\uffff\1\0\114\uffff}>"; static final String[] DFA107_transitionS = { "\2\2\1\uffff\3\2\5\uffff\2\2\3\uffff\1\1\2\2\16\uffff\2\2\3\uffff\4\2\1\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff\3\2\1\uffff\1\2\1\uffff\6\2\1\uffff\1\2\3\uffff\27\2\1\uffff\22\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA107_eot = DFA.unpackEncodedString(DFA107_eotS); static final short[] DFA107_eof = DFA.unpackEncodedString(DFA107_eofS); static final char[] DFA107_min = DFA.unpackEncodedStringToUnsignedChars(DFA107_minS); static final char[] DFA107_max = DFA.unpackEncodedStringToUnsignedChars(DFA107_maxS); static final short[] DFA107_accept = DFA.unpackEncodedString(DFA107_acceptS); static final short[] DFA107_special = DFA.unpackEncodedString(DFA107_specialS); static final short[][] DFA107_transition; static { int numStates = DFA107_transitionS.length; DFA107_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA107_transition[i] = DFA.unpackEncodedString(DFA107_transitionS[i]); } } class DFA107 extends DFA { public DFA107(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 107; this.eot = DFA107_eot; this.eof = DFA107_eof; this.min = DFA107_min; this.max = DFA107_max; this.accept = DFA107_accept; this.special = DFA107_special; this.transition = DFA107_transition; } public String getDescription() { return "6915:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_17_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )? otherlv_22= ')' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA107_1 = input.LA(1); int index107_1 = input.index(); input.rewind(); s = -1; if ( (synpred18_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index107_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 107, _s, input); error(nvae); throw nvae; } } static final String DFA106_eotS = "\44\uffff"; static final String DFA106_eofS = "\44\uffff"; static final String DFA106_minS = "\1\4\2\0\41\uffff"; static final String DFA106_maxS = "\1\170\2\0\41\uffff"; static final String DFA106_acceptS = "\3\uffff\2\1\1\2\35\uffff\1\3"; static final String DFA106_specialS = "\1\0\1\1\1\2\41\uffff}>"; static final String[] DFA106_transitionS = { "\1\1\1\5\1\uffff\3\5\5\uffff\1\5\4\uffff\1\2\1\uffff\1\43\16\uffff\2\5\3\uffff\1\5\2\uffff\1\5\1\uffff\1\5\1\uffff\1\5\2\uffff\1\5\3\uffff\1\5\10\uffff\1\5\4\uffff\2\5\4\uffff\1\5\20\uffff\1\3\3\uffff\1\5\5\uffff\1\4\1\5\4\uffff\12\5\1\uffff\1\5", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA106_eot = DFA.unpackEncodedString(DFA106_eotS); static final short[] DFA106_eof = DFA.unpackEncodedString(DFA106_eofS); static final char[] DFA106_min = DFA.unpackEncodedStringToUnsignedChars(DFA106_minS); static final char[] DFA106_max = DFA.unpackEncodedStringToUnsignedChars(DFA106_maxS); static final short[] DFA106_accept = DFA.unpackEncodedString(DFA106_acceptS); static final short[] DFA106_special = DFA.unpackEncodedString(DFA106_specialS); static final short[][] DFA106_transition; static { int numStates = DFA106_transitionS.length; DFA106_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA106_transition[i] = DFA.unpackEncodedString(DFA106_transitionS[i]); } } class DFA106 extends DFA { public DFA106(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 106; this.eot = DFA106_eot; this.eof = DFA106_eof; this.min = DFA106_min; this.max = DFA106_max; this.accept = DFA106_accept; this.special = DFA106_special; this.transition = DFA106_transition; } public String getDescription() { return "6936:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_memberCallArguments_18_0= ruleXShortClosure ) ) | ( ( (lv_memberCallArguments_19_0= ruleXExpression ) ) (otherlv_20= ',' ( (lv_memberCallArguments_21_0= ruleXExpression ) ) )* ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA106_0 = input.LA(1); int index106_0 = input.index(); input.rewind(); s = -1; if ( (LA106_0==RULE_ID) ) {s = 1;} else if ( (LA106_0==20) ) {s = 2;} else if ( (LA106_0==93) && (synpred19_InternalIoT())) {s = 3;} else if ( (LA106_0==103) && (synpred19_InternalIoT())) {s = 4;} else if ( (LA106_0==RULE_INT||(LA106_0>=RULE_STRING && LA106_0<=RULE_DECIMAL)||LA106_0==15||(LA106_0>=37 && LA106_0<=38)||LA106_0==42||LA106_0==45||LA106_0==47||LA106_0==49||LA106_0==52||LA106_0==56||LA106_0==65||(LA106_0>=70 && LA106_0<=71)||LA106_0==76||LA106_0==97||LA106_0==104||(LA106_0>=109 && LA106_0<=118)||LA106_0==120) ) {s = 5;} else if ( (LA106_0==22) ) {s = 35;} input.seek(index106_0); if ( s>=0 ) return s; break; case 1 : int LA106_1 = input.LA(1); int index106_1 = input.index(); input.rewind(); s = -1; if ( (synpred19_InternalIoT()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index106_1); if ( s>=0 ) return s; break; case 2 : int LA106_2 = input.LA(1); int index106_2 = input.index(); input.rewind(); s = -1; if ( (synpred19_InternalIoT()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index106_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 106, _s, input); error(nvae); throw nvae; } } static final String DFA108_eotS = "\116\uffff"; static final String DFA108_eofS = "\1\2\115\uffff"; static final String DFA108_minS = "\1\4\1\0\114\uffff"; static final String DFA108_maxS = "\1\171\1\0\114\uffff"; static final String DFA108_acceptS = "\2\uffff\1\2\112\uffff\1\1"; static final String DFA108_specialS = "\1\uffff\1\0\114\uffff}>"; static final String[] DFA108_transitionS = { "\2\2\1\uffff\3\2\5\uffff\2\2\3\uffff\3\2\16\uffff\2\2\3\uffff\1\1\3\2\1\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff\3\2\1\uffff\1\2\1\uffff\6\2\1\uffff\1\2\3\uffff\27\2\1\uffff\22\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA108_eot = DFA.unpackEncodedString(DFA108_eotS); static final short[] DFA108_eof = DFA.unpackEncodedString(DFA108_eofS); static final char[] DFA108_min = DFA.unpackEncodedStringToUnsignedChars(DFA108_minS); static final char[] DFA108_max = DFA.unpackEncodedStringToUnsignedChars(DFA108_maxS); static final short[] DFA108_accept = DFA.unpackEncodedString(DFA108_acceptS); static final short[] DFA108_special = DFA.unpackEncodedString(DFA108_specialS); static final short[][] DFA108_transition; static { int numStates = DFA108_transitionS.length; DFA108_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA108_transition[i] = DFA.unpackEncodedString(DFA108_transitionS[i]); } } class DFA108 extends DFA { public DFA108(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 108; this.eot = DFA108_eot; this.eof = DFA108_eof; this.min = DFA108_min; this.max = DFA108_max; this.accept = DFA108_accept; this.special = DFA108_special; this.transition = DFA108_transition; } public String getDescription() { return "7015:3: ( ( ( () '[' ) )=> (lv_memberCallArguments_23_0= ruleXClosure ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA108_1 = input.LA(1); int index108_1 = input.index(); input.rewind(); s = -1; if ( (synpred20_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index108_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 108, _s, input); error(nvae); throw nvae; } } static final String DFA110_eotS = "\40\uffff"; static final String DFA110_eofS = "\40\uffff"; static final String DFA110_minS = "\1\4\26\uffff\1\0\10\uffff"; static final String DFA110_maxS = "\1\170\26\uffff\1\0\10\uffff"; static final String DFA110_acceptS = "\1\uffff\1\1\1\2\1\3\1\4\1\5\6\uffff\1\6\11\uffff\1\7\1\uffff\1\12\1\13\1\14\1\15\1\16\1\17\1\10\1\11"; static final String DFA110_specialS = "\1\0\26\uffff\1\1\10\uffff}>"; static final String[] DFA110_transitionS = { "\1\5\1\14\1\uffff\3\14\5\uffff\1\2\4\uffff\1\35\20\uffff\2\14\3\uffff\1\14\2\uffff\1\33\1\uffff\1\31\1\uffff\1\30\2\uffff\1\26\3\uffff\1\27\10\uffff\1\5\12\uffff\1\14\33\uffff\1\3\4\uffff\5\5\1\1\2\14\1\32\1\34\1\uffff\1\4", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "\1\uffff", "", "", "", "", "", "", "", "" }; static final short[] DFA110_eot = DFA.unpackEncodedString(DFA110_eotS); static final short[] DFA110_eof = DFA.unpackEncodedString(DFA110_eofS); static final char[] DFA110_min = DFA.unpackEncodedStringToUnsignedChars(DFA110_minS); static final char[] DFA110_max = DFA.unpackEncodedStringToUnsignedChars(DFA110_maxS); static final short[] DFA110_accept = DFA.unpackEncodedString(DFA110_acceptS); static final short[] DFA110_special = DFA.unpackEncodedString(DFA110_specialS); static final short[][] DFA110_transition; static { int numStates = DFA110_transitionS.length; DFA110_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA110_transition[i] = DFA.unpackEncodedString(DFA110_transitionS[i]); } } class DFA110 extends DFA { public DFA110(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 110; this.eot = DFA110_eot; this.eof = DFA110_eof; this.min = DFA110_min; this.max = DFA110_max; this.accept = DFA110_accept; this.special = DFA110_special; this.transition = DFA110_transition; } public String getDescription() { return "7056:1: (this_XConstructorCall_0= ruleXConstructorCall | this_XBlockExpression_1= ruleXBlockExpression | this_XSwitchExpression_2= ruleXSwitchExpression | ( ( ( () 'synchronized' '(' ) )=>this_XSynchronizedExpression_3= ruleXSynchronizedExpression ) | this_XFeatureCall_4= ruleXFeatureCall | this_XLiteral_5= ruleXLiteral | this_XIfExpression_6= ruleXIfExpression | ( ( ( () 'for' '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=>this_XForLoopExpression_7= ruleXForLoopExpression ) | this_XBasicForLoopExpression_8= ruleXBasicForLoopExpression | this_XWhileExpression_9= ruleXWhileExpression | this_XDoWhileExpression_10= ruleXDoWhileExpression | this_XThrowExpression_11= ruleXThrowExpression | this_XReturnExpression_12= ruleXReturnExpression | this_XTryCatchFinallyExpression_13= ruleXTryCatchFinallyExpression | this_XParenthesizedExpression_14= ruleXParenthesizedExpression )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA110_0 = input.LA(1); int index110_0 = input.index(); input.rewind(); s = -1; if ( (LA110_0==114) ) {s = 1;} else if ( (LA110_0==15) ) {s = 2;} else if ( (LA110_0==104) ) {s = 3;} else if ( (LA110_0==120) && (synpred21_InternalIoT())) {s = 4;} else if ( (LA110_0==RULE_ID||LA110_0==65||(LA110_0>=109 && LA110_0<=113)) ) {s = 5;} else if ( (LA110_0==RULE_INT||(LA110_0>=RULE_STRING && LA110_0<=RULE_DECIMAL)||(LA110_0>=37 && LA110_0<=38)||LA110_0==42||LA110_0==76||(LA110_0>=115 && LA110_0<=116)) ) {s = 12;} else if ( (LA110_0==52) ) {s = 22;} else if ( (LA110_0==56) ) {s = 23;} else if ( (LA110_0==49) ) {s = 24;} else if ( (LA110_0==47) ) {s = 25;} else if ( (LA110_0==117) ) {s = 26;} else if ( (LA110_0==45) ) {s = 27;} else if ( (LA110_0==118) ) {s = 28;} else if ( (LA110_0==20) ) {s = 29;} input.seek(index110_0); if ( s>=0 ) return s; break; case 1 : int LA110_23 = input.LA(1); int index110_23 = input.index(); input.rewind(); s = -1; if ( (synpred22_InternalIoT()) ) {s = 30;} else if ( (true) ) {s = 31;} input.seek(index110_23); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 110, _s, input); error(nvae); throw nvae; } } static final String DFA119_eotS = "\46\uffff"; static final String DFA119_eofS = "\46\uffff"; static final String DFA119_minS = "\1\4\2\0\43\uffff"; static final String DFA119_maxS = "\1\170\2\0\43\uffff"; static final String DFA119_acceptS = "\3\uffff\2\1\1\2\40\uffff"; static final String DFA119_specialS = "\1\0\1\1\1\2\43\uffff}>"; static final String[] DFA119_transitionS = { "\1\1\1\5\1\uffff\3\5\5\uffff\1\5\4\uffff\1\2\20\uffff\2\5\3\uffff\2\5\1\uffff\1\5\1\uffff\1\5\1\uffff\1\5\2\uffff\1\5\3\uffff\1\5\10\uffff\1\5\4\uffff\2\5\4\uffff\1\5\20\uffff\1\3\3\uffff\1\5\5\uffff\1\4\1\5\2\uffff\14\5\1\uffff\1\5", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA119_eot = DFA.unpackEncodedString(DFA119_eotS); static final short[] DFA119_eof = DFA.unpackEncodedString(DFA119_eofS); static final char[] DFA119_min = DFA.unpackEncodedStringToUnsignedChars(DFA119_minS); static final char[] DFA119_max = DFA.unpackEncodedStringToUnsignedChars(DFA119_maxS); static final short[] DFA119_accept = DFA.unpackEncodedString(DFA119_acceptS); static final short[] DFA119_special = DFA.unpackEncodedString(DFA119_specialS); static final short[][] DFA119_transition; static { int numStates = DFA119_transitionS.length; DFA119_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA119_transition[i] = DFA.unpackEncodedString(DFA119_transitionS[i]); } } class DFA119 extends DFA { public DFA119(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 119; this.eot = DFA119_eot; this.eof = DFA119_eof; this.min = DFA119_min; this.max = DFA119_max; this.accept = DFA119_accept; this.special = DFA119_special; this.transition = DFA119_transition; } public String getDescription() { return "7539: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 LA119_0 = input.LA(1); int index119_0 = input.index(); input.rewind(); s = -1; if ( (LA119_0==RULE_ID) ) {s = 1;} else if ( (LA119_0==20) ) {s = 2;} else if ( (LA119_0==93) && (synpred25_InternalIoT())) {s = 3;} else if ( (LA119_0==103) && (synpred25_InternalIoT())) {s = 4;} else if ( (LA119_0==RULE_INT||(LA119_0>=RULE_STRING && LA119_0<=RULE_DECIMAL)||LA119_0==15||(LA119_0>=37 && LA119_0<=38)||(LA119_0>=42 && LA119_0<=43)||LA119_0==45||LA119_0==47||LA119_0==49||LA119_0==52||LA119_0==56||LA119_0==65||(LA119_0>=70 && LA119_0<=71)||LA119_0==76||LA119_0==97||LA119_0==104||(LA119_0>=107 && LA119_0<=118)||LA119_0==120) ) {s = 5;} input.seek(index119_0); if ( s>=0 ) return s; break; case 1 : int LA119_1 = input.LA(1); int index119_1 = input.index(); input.rewind(); s = -1; if ( (synpred25_InternalIoT()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index119_1); if ( s>=0 ) return s; break; case 2 : int LA119_2 = input.LA(1); int index119_2 = input.index(); input.rewind(); s = -1; if ( (synpred25_InternalIoT()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index119_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 119, _s, input); error(nvae); throw nvae; } } static final String DFA126_eotS = "\43\uffff"; static final String DFA126_eofS = "\43\uffff"; static final String DFA126_minS = "\1\4\1\0\41\uffff"; static final String DFA126_maxS = "\1\170\1\0\41\uffff"; static final String DFA126_acceptS = "\2\uffff\1\2\37\uffff\1\1"; static final String DFA126_specialS = "\1\uffff\1\0\41\uffff}>"; static final String[] DFA126_transitionS = { "\2\2\1\uffff\3\2\5\uffff\1\2\4\uffff\1\1\20\uffff\2\2\3\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\uffff\1\2\2\uffff\1\2\3\uffff\1\2\10\uffff\1\2\4\uffff\2\2\4\uffff\1\2\20\uffff\1\2\3\uffff\1\2\6\uffff\1\2\4\uffff\12\2\1\uffff\1\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA126_eot = DFA.unpackEncodedString(DFA126_eotS); static final short[] DFA126_eof = DFA.unpackEncodedString(DFA126_eofS); static final char[] DFA126_min = DFA.unpackEncodedStringToUnsignedChars(DFA126_minS); static final char[] DFA126_max = DFA.unpackEncodedStringToUnsignedChars(DFA126_maxS); static final short[] DFA126_accept = DFA.unpackEncodedString(DFA126_acceptS); static final short[] DFA126_special = DFA.unpackEncodedString(DFA126_specialS); static final short[][] DFA126_transition; static { int numStates = DFA126_transitionS.length; DFA126_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA126_transition[i] = DFA.unpackEncodedString(DFA126_transitionS[i]); } } class DFA126 extends DFA { public DFA126(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 126; this.eot = DFA126_eot; this.eof = DFA126_eof; this.min = DFA126_min; this.max = DFA126_max; this.accept = DFA126_accept; this.special = DFA126_special; this.transition = DFA126_transition; } public String getDescription() { return "7963:1: ( ( ( ( ( '(' ( ( ruleJvmFormalParameter ) ) ':' ) )=> (otherlv_2= '(' ( (lv_declaredParam_3_0= ruleJvmFormalParameter ) ) otherlv_4= ':' ) ) ( (lv_switch_5_0= ruleXExpression ) ) otherlv_6= ')' ) | ( ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )? ( (lv_switch_9_0= ruleXExpression ) ) ) )"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA126_1 = input.LA(1); int index126_1 = input.index(); input.rewind(); s = -1; if ( (synpred28_InternalIoT()) ) {s = 34;} else if ( (true) ) {s = 2;} input.seek(index126_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 126, _s, input); error(nvae); throw nvae; } } static final String DFA125_eotS = "\42\uffff"; static final String DFA125_eofS = "\42\uffff"; static final String DFA125_minS = "\1\4\2\0\37\uffff"; static final String DFA125_maxS = "\1\170\2\0\37\uffff"; static final String DFA125_acceptS = "\3\uffff\1\1\1\2\35\uffff"; static final String DFA125_specialS = "\1\0\1\1\1\2\37\uffff}>"; static final String[] DFA125_transitionS = { "\1\1\1\4\1\uffff\3\4\5\uffff\1\4\4\uffff\1\2\20\uffff\2\4\3\uffff\1\4\2\uffff\1\4\1\uffff\1\4\1\uffff\1\4\2\uffff\1\4\3\uffff\1\4\10\uffff\1\4\4\uffff\2\4\4\uffff\1\4\20\uffff\1\3\3\uffff\1\4\6\uffff\1\4\4\uffff\12\4\1\uffff\1\4", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA125_eot = DFA.unpackEncodedString(DFA125_eotS); static final short[] DFA125_eof = DFA.unpackEncodedString(DFA125_eofS); static final char[] DFA125_min = DFA.unpackEncodedStringToUnsignedChars(DFA125_minS); static final char[] DFA125_max = DFA.unpackEncodedStringToUnsignedChars(DFA125_maxS); static final short[] DFA125_accept = DFA.unpackEncodedString(DFA125_acceptS); static final short[] DFA125_special = DFA.unpackEncodedString(DFA125_specialS); static final short[][] DFA125_transition; static { int numStates = DFA125_transitionS.length; DFA125_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA125_transition[i] = DFA.unpackEncodedString(DFA125_transitionS[i]); } } class DFA125 extends DFA { public DFA125(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 125; this.eot = DFA125_eot; this.eof = DFA125_eof; this.min = DFA125_min; this.max = DFA125_max; this.accept = DFA125_accept; this.special = DFA125_special; this.transition = DFA125_transition; } public String getDescription() { return "8018:7: ( ( ( ( ( ruleJvmFormalParameter ) ) ':' ) )=> ( ( (lv_declaredParam_7_0= ruleJvmFormalParameter ) ) otherlv_8= ':' ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA125_0 = input.LA(1); int index125_0 = input.index(); input.rewind(); s = -1; if ( (LA125_0==RULE_ID) ) {s = 1;} else if ( (LA125_0==20) ) {s = 2;} else if ( (LA125_0==93) && (synpred29_InternalIoT())) {s = 3;} else if ( (LA125_0==RULE_INT||(LA125_0>=RULE_STRING && LA125_0<=RULE_DECIMAL)||LA125_0==15||(LA125_0>=37 && LA125_0<=38)||LA125_0==42||LA125_0==45||LA125_0==47||LA125_0==49||LA125_0==52||LA125_0==56||LA125_0==65||(LA125_0>=70 && LA125_0<=71)||LA125_0==76||LA125_0==97||LA125_0==104||(LA125_0>=109 && LA125_0<=118)||LA125_0==120) ) {s = 4;} input.seek(index125_0); if ( s>=0 ) return s; break; case 1 : int LA125_1 = input.LA(1); int index125_1 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalIoT()) ) {s = 3;} else if ( (true) ) {s = 4;} input.seek(index125_1); if ( s>=0 ) return s; break; case 2 : int LA125_2 = input.LA(1); int index125_2 = input.index(); input.rewind(); s = -1; if ( (synpred29_InternalIoT()) ) {s = 3;} else if ( (true) ) {s = 4;} input.seek(index125_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 125, _s, input); error(nvae); throw nvae; } } static final String DFA148_eotS = "\116\uffff"; static final String DFA148_eofS = "\1\2\115\uffff"; static final String DFA148_minS = "\1\4\1\0\114\uffff"; static final String DFA148_maxS = "\1\171\1\0\114\uffff"; static final String DFA148_acceptS = "\2\uffff\1\2\112\uffff\1\1"; static final String DFA148_specialS = "\1\uffff\1\0\114\uffff}>"; static final String[] DFA148_transitionS = { "\2\2\1\uffff\3\2\5\uffff\2\2\3\uffff\1\1\2\2\16\uffff\2\2\3\uffff\4\2\1\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff\3\2\1\uffff\1\2\1\uffff\6\2\1\uffff\1\2\3\uffff\27\2\1\uffff\22\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA148_eot = DFA.unpackEncodedString(DFA148_eotS); static final short[] DFA148_eof = DFA.unpackEncodedString(DFA148_eofS); static final char[] DFA148_min = DFA.unpackEncodedStringToUnsignedChars(DFA148_minS); static final char[] DFA148_max = DFA.unpackEncodedStringToUnsignedChars(DFA148_maxS); static final short[] DFA148_accept = DFA.unpackEncodedString(DFA148_acceptS); static final short[] DFA148_special = DFA.unpackEncodedString(DFA148_specialS); static final short[][] DFA148_transition; static { int numStates = DFA148_transitionS.length; DFA148_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA148_transition[i] = DFA.unpackEncodedString(DFA148_transitionS[i]); } } class DFA148 extends DFA { public DFA148(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 148; this.eot = DFA148_eot; this.eof = DFA148_eof; this.min = DFA148_min; this.max = DFA148_max; this.accept = DFA148_accept; this.special = DFA148_special; this.transition = DFA148_transition; } public String getDescription() { return "9075:2: ( ( ( ( '(' ) )=> (lv_explicitOperationCall_7_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )? otherlv_12= ')' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA148_1 = input.LA(1); int index148_1 = input.index(); input.rewind(); s = -1; if ( (synpred32_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index148_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 148, _s, input); error(nvae); throw nvae; } } static final String DFA147_eotS = "\44\uffff"; static final String DFA147_eofS = "\44\uffff"; static final String DFA147_minS = "\1\4\2\0\41\uffff"; static final String DFA147_maxS = "\1\170\2\0\41\uffff"; static final String DFA147_acceptS = "\3\uffff\2\1\1\2\35\uffff\1\3"; static final String DFA147_specialS = "\1\0\1\1\1\2\41\uffff}>"; static final String[] DFA147_transitionS = { "\1\1\1\5\1\uffff\3\5\5\uffff\1\5\4\uffff\1\2\1\uffff\1\43\16\uffff\2\5\3\uffff\1\5\2\uffff\1\5\1\uffff\1\5\1\uffff\1\5\2\uffff\1\5\3\uffff\1\5\10\uffff\1\5\4\uffff\2\5\4\uffff\1\5\20\uffff\1\3\3\uffff\1\5\5\uffff\1\4\1\5\4\uffff\12\5\1\uffff\1\5", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA147_eot = DFA.unpackEncodedString(DFA147_eotS); static final short[] DFA147_eof = DFA.unpackEncodedString(DFA147_eofS); static final char[] DFA147_min = DFA.unpackEncodedStringToUnsignedChars(DFA147_minS); static final char[] DFA147_max = DFA.unpackEncodedStringToUnsignedChars(DFA147_maxS); static final short[] DFA147_accept = DFA.unpackEncodedString(DFA147_acceptS); static final short[] DFA147_special = DFA.unpackEncodedString(DFA147_specialS); static final short[][] DFA147_transition; static { int numStates = DFA147_transitionS.length; DFA147_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA147_transition[i] = DFA.unpackEncodedString(DFA147_transitionS[i]); } } class DFA147 extends DFA { public DFA147(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 147; this.eot = DFA147_eot; this.eof = DFA147_eof; this.min = DFA147_min; this.max = DFA147_max; this.accept = DFA147_accept; this.special = DFA147_special; this.transition = DFA147_transition; } public String getDescription() { return "9096:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_featureCallArguments_8_0= ruleXShortClosure ) ) | ( ( (lv_featureCallArguments_9_0= ruleXExpression ) ) (otherlv_10= ',' ( (lv_featureCallArguments_11_0= ruleXExpression ) ) )* ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA147_0 = input.LA(1); int index147_0 = input.index(); input.rewind(); s = -1; if ( (LA147_0==RULE_ID) ) {s = 1;} else if ( (LA147_0==20) ) {s = 2;} else if ( (LA147_0==93) && (synpred33_InternalIoT())) {s = 3;} else if ( (LA147_0==103) && (synpred33_InternalIoT())) {s = 4;} else if ( (LA147_0==RULE_INT||(LA147_0>=RULE_STRING && LA147_0<=RULE_DECIMAL)||LA147_0==15||(LA147_0>=37 && LA147_0<=38)||LA147_0==42||LA147_0==45||LA147_0==47||LA147_0==49||LA147_0==52||LA147_0==56||LA147_0==65||(LA147_0>=70 && LA147_0<=71)||LA147_0==76||LA147_0==97||LA147_0==104||(LA147_0>=109 && LA147_0<=118)||LA147_0==120) ) {s = 5;} else if ( (LA147_0==22) ) {s = 35;} input.seek(index147_0); if ( s>=0 ) return s; break; case 1 : int LA147_1 = input.LA(1); int index147_1 = input.index(); input.rewind(); s = -1; if ( (synpred33_InternalIoT()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index147_1); if ( s>=0 ) return s; break; case 2 : int LA147_2 = input.LA(1); int index147_2 = input.index(); input.rewind(); s = -1; if ( (synpred33_InternalIoT()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index147_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 147, _s, input); error(nvae); throw nvae; } } static final String DFA149_eotS = "\116\uffff"; static final String DFA149_eofS = "\1\2\115\uffff"; static final String DFA149_minS = "\1\4\1\0\114\uffff"; static final String DFA149_maxS = "\1\171\1\0\114\uffff"; static final String DFA149_acceptS = "\2\uffff\1\2\112\uffff\1\1"; static final String DFA149_specialS = "\1\uffff\1\0\114\uffff}>"; static final String[] DFA149_transitionS = { "\2\2\1\uffff\3\2\5\uffff\2\2\3\uffff\3\2\16\uffff\2\2\3\uffff\1\1\3\2\1\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff\3\2\1\uffff\1\2\1\uffff\6\2\1\uffff\1\2\3\uffff\27\2\1\uffff\22\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA149_eot = DFA.unpackEncodedString(DFA149_eotS); static final short[] DFA149_eof = DFA.unpackEncodedString(DFA149_eofS); static final char[] DFA149_min = DFA.unpackEncodedStringToUnsignedChars(DFA149_minS); static final char[] DFA149_max = DFA.unpackEncodedStringToUnsignedChars(DFA149_maxS); static final short[] DFA149_accept = DFA.unpackEncodedString(DFA149_acceptS); static final short[] DFA149_special = DFA.unpackEncodedString(DFA149_specialS); static final short[][] DFA149_transition; static { int numStates = DFA149_transitionS.length; DFA149_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA149_transition[i] = DFA.unpackEncodedString(DFA149_transitionS[i]); } } class DFA149 extends DFA { public DFA149(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 149; this.eot = DFA149_eot; this.eof = DFA149_eof; this.min = DFA149_min; this.max = DFA149_max; this.accept = DFA149_accept; this.special = DFA149_special; this.transition = DFA149_transition; } public String getDescription() { return "9175: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 LA149_1 = input.LA(1); int index149_1 = input.index(); input.rewind(); s = -1; if ( (synpred34_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index149_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 149, _s, input); error(nvae); throw nvae; } } static final String DFA153_eotS = "\116\uffff"; static final String DFA153_eofS = "\1\2\115\uffff"; static final String DFA153_minS = "\1\4\1\0\114\uffff"; static final String DFA153_maxS = "\1\171\1\0\114\uffff"; static final String DFA153_acceptS = "\2\uffff\1\2\112\uffff\1\1"; static final String DFA153_specialS = "\1\uffff\1\0\114\uffff}>"; static final String[] DFA153_transitionS = { "\2\2\1\uffff\3\2\5\uffff\2\2\3\uffff\3\2\16\uffff\2\2\3\uffff\4\2\1\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff\2\2\1\1\1\uffff\1\2\1\uffff\6\2\1\uffff\1\2\3\uffff\27\2\1\uffff\22\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA153_eot = DFA.unpackEncodedString(DFA153_eotS); static final short[] DFA153_eof = DFA.unpackEncodedString(DFA153_eofS); static final char[] DFA153_min = DFA.unpackEncodedStringToUnsignedChars(DFA153_minS); static final char[] DFA153_max = DFA.unpackEncodedStringToUnsignedChars(DFA153_maxS); static final short[] DFA153_accept = DFA.unpackEncodedString(DFA153_acceptS); static final short[] DFA153_special = DFA.unpackEncodedString(DFA153_specialS); static final short[][] DFA153_transition; static { int numStates = DFA153_transitionS.length; DFA153_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA153_transition[i] = DFA.unpackEncodedString(DFA153_transitionS[i]); } } class DFA153 extends DFA { public DFA153(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 153; this.eot = DFA153_eot; this.eof = DFA153_eof; this.min = DFA153_min; this.max = DFA153_max; this.accept = DFA153_accept; this.special = DFA153_special; this.transition = DFA153_transition; } public String getDescription() { return "9340:2: ( ( ( '<' )=>otherlv_3= '<' ) ( (lv_typeArguments_4_0= ruleJvmArgumentTypeReference ) ) (otherlv_5= ',' ( (lv_typeArguments_6_0= ruleJvmArgumentTypeReference ) ) )* otherlv_7= '>' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA153_1 = input.LA(1); int index153_1 = input.index(); input.rewind(); s = -1; if ( (synpred35_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index153_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 153, _s, input); error(nvae); throw nvae; } } static final String DFA156_eotS = "\116\uffff"; static final String DFA156_eofS = "\1\2\115\uffff"; static final String DFA156_minS = "\1\4\1\0\114\uffff"; static final String DFA156_maxS = "\1\171\1\0\114\uffff"; static final String DFA156_acceptS = "\2\uffff\1\2\112\uffff\1\1"; static final String DFA156_specialS = "\1\uffff\1\0\114\uffff}>"; static final String[] DFA156_transitionS = { "\2\2\1\uffff\3\2\5\uffff\2\2\3\uffff\1\1\2\2\16\uffff\2\2\3\uffff\4\2\1\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff\3\2\1\uffff\1\2\1\uffff\6\2\1\uffff\1\2\3\uffff\27\2\1\uffff\22\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA156_eot = DFA.unpackEncodedString(DFA156_eotS); static final short[] DFA156_eof = DFA.unpackEncodedString(DFA156_eofS); static final char[] DFA156_min = DFA.unpackEncodedStringToUnsignedChars(DFA156_minS); static final char[] DFA156_max = DFA.unpackEncodedStringToUnsignedChars(DFA156_maxS); static final short[] DFA156_accept = DFA.unpackEncodedString(DFA156_acceptS); static final short[] DFA156_special = DFA.unpackEncodedString(DFA156_specialS); static final short[][] DFA156_transition; static { int numStates = DFA156_transitionS.length; DFA156_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA156_transition[i] = DFA.unpackEncodedString(DFA156_transitionS[i]); } } class DFA156 extends DFA { public DFA156(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 156; this.eot = DFA156_eot; this.eof = DFA156_eof; this.min = DFA156_min; this.max = DFA156_max; this.accept = DFA156_accept; this.special = DFA156_special; this.transition = DFA156_transition; } public String getDescription() { return "9389:3: ( ( ( ( '(' ) )=> (lv_explicitConstructorCall_8_0= '(' ) ) ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )? otherlv_13= ')' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA156_1 = input.LA(1); int index156_1 = input.index(); input.rewind(); s = -1; if ( (synpred36_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index156_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 156, _s, input); error(nvae); throw nvae; } } static final String DFA155_eotS = "\44\uffff"; static final String DFA155_eofS = "\44\uffff"; static final String DFA155_minS = "\1\4\2\0\41\uffff"; static final String DFA155_maxS = "\1\170\2\0\41\uffff"; static final String DFA155_acceptS = "\3\uffff\2\1\1\2\35\uffff\1\3"; static final String DFA155_specialS = "\1\0\1\1\1\2\41\uffff}>"; static final String[] DFA155_transitionS = { "\1\1\1\5\1\uffff\3\5\5\uffff\1\5\4\uffff\1\2\1\uffff\1\43\16\uffff\2\5\3\uffff\1\5\2\uffff\1\5\1\uffff\1\5\1\uffff\1\5\2\uffff\1\5\3\uffff\1\5\10\uffff\1\5\4\uffff\2\5\4\uffff\1\5\20\uffff\1\3\3\uffff\1\5\5\uffff\1\4\1\5\4\uffff\12\5\1\uffff\1\5", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA155_eot = DFA.unpackEncodedString(DFA155_eotS); static final short[] DFA155_eof = DFA.unpackEncodedString(DFA155_eofS); static final char[] DFA155_min = DFA.unpackEncodedStringToUnsignedChars(DFA155_minS); static final char[] DFA155_max = DFA.unpackEncodedStringToUnsignedChars(DFA155_maxS); static final short[] DFA155_accept = DFA.unpackEncodedString(DFA155_acceptS); static final short[] DFA155_special = DFA.unpackEncodedString(DFA155_specialS); static final short[][] DFA155_transition; static { int numStates = DFA155_transitionS.length; DFA155_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA155_transition[i] = DFA.unpackEncodedString(DFA155_transitionS[i]); } } class DFA155 extends DFA { public DFA155(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 155; this.eot = DFA155_eot; this.eof = DFA155_eof; this.min = DFA155_min; this.max = DFA155_max; this.accept = DFA155_accept; this.special = DFA155_special; this.transition = DFA155_transition; } public String getDescription() { return "9410:2: ( ( ( ( () ( ( ( ruleJvmFormalParameter ) ) ( ',' ( ( ruleJvmFormalParameter ) ) )* )? ( ( '|' ) ) ) )=> (lv_arguments_9_0= ruleXShortClosure ) ) | ( ( (lv_arguments_10_0= ruleXExpression ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleXExpression ) ) )* ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA155_0 = input.LA(1); int index155_0 = input.index(); input.rewind(); s = -1; if ( (LA155_0==RULE_ID) ) {s = 1;} else if ( (LA155_0==20) ) {s = 2;} else if ( (LA155_0==93) && (synpred37_InternalIoT())) {s = 3;} else if ( (LA155_0==103) && (synpred37_InternalIoT())) {s = 4;} else if ( (LA155_0==RULE_INT||(LA155_0>=RULE_STRING && LA155_0<=RULE_DECIMAL)||LA155_0==15||(LA155_0>=37 && LA155_0<=38)||LA155_0==42||LA155_0==45||LA155_0==47||LA155_0==49||LA155_0==52||LA155_0==56||LA155_0==65||(LA155_0>=70 && LA155_0<=71)||LA155_0==76||LA155_0==97||LA155_0==104||(LA155_0>=109 && LA155_0<=118)||LA155_0==120) ) {s = 5;} else if ( (LA155_0==22) ) {s = 35;} input.seek(index155_0); if ( s>=0 ) return s; break; case 1 : int LA155_1 = input.LA(1); int index155_1 = input.index(); input.rewind(); s = -1; if ( (synpred37_InternalIoT()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index155_1); if ( s>=0 ) return s; break; case 2 : int LA155_2 = input.LA(1); int index155_2 = input.index(); input.rewind(); s = -1; if ( (synpred37_InternalIoT()) ) {s = 4;} else if ( (true) ) {s = 5;} input.seek(index155_2); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 155, _s, input); error(nvae); throw nvae; } } static final String DFA157_eotS = "\116\uffff"; static final String DFA157_eofS = "\1\2\115\uffff"; static final String DFA157_minS = "\1\4\1\0\114\uffff"; static final String DFA157_maxS = "\1\171\1\0\114\uffff"; static final String DFA157_acceptS = "\2\uffff\1\2\112\uffff\1\1"; static final String DFA157_specialS = "\1\uffff\1\0\114\uffff}>"; static final String[] DFA157_transitionS = { "\2\2\1\uffff\3\2\5\uffff\2\2\3\uffff\3\2\16\uffff\2\2\3\uffff\1\1\3\2\1\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff\3\2\1\uffff\1\2\1\uffff\6\2\1\uffff\1\2\3\uffff\27\2\1\uffff\22\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA157_eot = DFA.unpackEncodedString(DFA157_eotS); static final short[] DFA157_eof = DFA.unpackEncodedString(DFA157_eofS); static final char[] DFA157_min = DFA.unpackEncodedStringToUnsignedChars(DFA157_minS); static final char[] DFA157_max = DFA.unpackEncodedStringToUnsignedChars(DFA157_maxS); static final short[] DFA157_accept = DFA.unpackEncodedString(DFA157_acceptS); static final short[] DFA157_special = DFA.unpackEncodedString(DFA157_specialS); static final short[][] DFA157_transition; static { int numStates = DFA157_transitionS.length; DFA157_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA157_transition[i] = DFA.unpackEncodedString(DFA157_transitionS[i]); } } class DFA157 extends DFA { public DFA157(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 157; this.eot = DFA157_eot; this.eof = DFA157_eof; this.min = DFA157_min; this.max = DFA157_max; this.accept = DFA157_accept; this.special = DFA157_special; this.transition = DFA157_transition; } public String getDescription() { return "9489:3: ( ( ( () '[' ) )=> (lv_arguments_14_0= ruleXClosure ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA157_1 = input.LA(1); int index157_1 = input.index(); input.rewind(); s = -1; if ( (synpred38_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 2;} input.seek(index157_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 157, _s, input); error(nvae); throw nvae; } } static final String DFA160_eotS = "\116\uffff"; static final String DFA160_eofS = "\1\41\115\uffff"; static final String DFA160_minS = "\1\4\40\0\55\uffff"; static final String DFA160_maxS = "\1\171\40\0\55\uffff"; static final String DFA160_acceptS = "\41\uffff\1\2\53\uffff\1\1"; static final String DFA160_specialS = "\1\uffff\1\0\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32\1\33\1\34\1\35\1\36\1\37\55\uffff}>"; static final String[] DFA160_transitionS = { "\1\1\1\24\1\uffff\1\27\1\23\1\25\5\uffff\1\12\1\41\3\uffff\1\40\2\41\16\uffff\1\22\1\21\3\uffff\1\20\2\41\1\36\1\uffff\1\34\1\uffff\1\33\2\uffff\1\31\1\uffff\1\41\1\uffff\1\32\1\uffff\2\41\3\uffff\2\41\1\15\1\uffff\1\41\1\uffff\1\41\1\10\1\7\3\41\1\uffff\1\17\3\uffff\21\41\1\6\5\41\1\uffff\1\13\4\41\1\2\1\3\1\4\1\5\1\16\1\11\1\26\1\30\1\35\1\37\1\41\1\14\1\41", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA160_eot = DFA.unpackEncodedString(DFA160_eotS); static final short[] DFA160_eof = DFA.unpackEncodedString(DFA160_eofS); static final char[] DFA160_min = DFA.unpackEncodedStringToUnsignedChars(DFA160_minS); static final char[] DFA160_max = DFA.unpackEncodedStringToUnsignedChars(DFA160_maxS); static final short[] DFA160_accept = DFA.unpackEncodedString(DFA160_acceptS); static final short[] DFA160_special = DFA.unpackEncodedString(DFA160_specialS); static final short[][] DFA160_transition; static { int numStates = DFA160_transitionS.length; DFA160_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA160_transition[i] = DFA.unpackEncodedString(DFA160_transitionS[i]); } } class DFA160 extends DFA { public DFA160(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 160; this.eot = DFA160_eot; this.eof = DFA160_eof; this.min = DFA160_min; this.max = DFA160_max; this.accept = DFA160_accept; this.special = DFA160_special; this.transition = DFA160_transition; } public String getDescription() { return "9829:1: ( ( 'extends' | 'static' | 'import' | 'extension' | '!' | '-' | '+' | 'new' | '{' | 'switch' | 'synchronized' | '<' | 'super' | '#' | '[' | 'false' | 'true' | 'null' | 'typeof' | 'if' | 'for' | 'while' | 'do' | 'throw' | 'return' | 'try' | '(' | RULE_ID | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_STRING )=> (lv_expression_2_0= ruleXExpression ) )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA160_1 = input.LA(1); int index160_1 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_1); if ( s>=0 ) return s; break; case 1 : int LA160_2 = input.LA(1); int index160_2 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_2); if ( s>=0 ) return s; break; case 2 : int LA160_3 = input.LA(1); int index160_3 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_3); if ( s>=0 ) return s; break; case 3 : int LA160_4 = input.LA(1); int index160_4 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_4); if ( s>=0 ) return s; break; case 4 : int LA160_5 = input.LA(1); int index160_5 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_5); if ( s>=0 ) return s; break; case 5 : int LA160_6 = input.LA(1); int index160_6 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_6); if ( s>=0 ) return s; break; case 6 : int LA160_7 = input.LA(1); int index160_7 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_7); if ( s>=0 ) return s; break; case 7 : int LA160_8 = input.LA(1); int index160_8 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_8); if ( s>=0 ) return s; break; case 8 : int LA160_9 = input.LA(1); int index160_9 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_9); if ( s>=0 ) return s; break; case 9 : int LA160_10 = input.LA(1); int index160_10 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_10); if ( s>=0 ) return s; break; case 10 : int LA160_11 = input.LA(1); int index160_11 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_11); if ( s>=0 ) return s; break; case 11 : int LA160_12 = input.LA(1); int index160_12 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_12); if ( s>=0 ) return s; break; case 12 : int LA160_13 = input.LA(1); int index160_13 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_13); if ( s>=0 ) return s; break; case 13 : int LA160_14 = input.LA(1); int index160_14 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_14); if ( s>=0 ) return s; break; case 14 : int LA160_15 = input.LA(1); int index160_15 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_15); if ( s>=0 ) return s; break; case 15 : int LA160_16 = input.LA(1); int index160_16 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_16); if ( s>=0 ) return s; break; case 16 : int LA160_17 = input.LA(1); int index160_17 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_17); if ( s>=0 ) return s; break; case 17 : int LA160_18 = input.LA(1); int index160_18 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_18); if ( s>=0 ) return s; break; case 18 : int LA160_19 = input.LA(1); int index160_19 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_19); if ( s>=0 ) return s; break; case 19 : int LA160_20 = input.LA(1); int index160_20 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_20); if ( s>=0 ) return s; break; case 20 : int LA160_21 = input.LA(1); int index160_21 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_21); if ( s>=0 ) return s; break; case 21 : int LA160_22 = input.LA(1); int index160_22 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_22); if ( s>=0 ) return s; break; case 22 : int LA160_23 = input.LA(1); int index160_23 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_23); if ( s>=0 ) return s; break; case 23 : int LA160_24 = input.LA(1); int index160_24 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_24); if ( s>=0 ) return s; break; case 24 : int LA160_25 = input.LA(1); int index160_25 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_25); if ( s>=0 ) return s; break; case 25 : int LA160_26 = input.LA(1); int index160_26 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_26); if ( s>=0 ) return s; break; case 26 : int LA160_27 = input.LA(1); int index160_27 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_27); if ( s>=0 ) return s; break; case 27 : int LA160_28 = input.LA(1); int index160_28 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_28); if ( s>=0 ) return s; break; case 28 : int LA160_29 = input.LA(1); int index160_29 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_29); if ( s>=0 ) return s; break; case 29 : int LA160_30 = input.LA(1); int index160_30 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_30); if ( s>=0 ) return s; break; case 30 : int LA160_31 = input.LA(1); int index160_31 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_31); if ( s>=0 ) return s; break; case 31 : int LA160_32 = input.LA(1); int index160_32 = input.index(); input.rewind(); s = -1; if ( (synpred39_InternalIoT()) ) {s = 77;} else if ( (true) ) {s = 33;} input.seek(index160_32); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 160, _s, input); error(nvae); throw nvae; } } static final String DFA178_eotS = "\117\uffff"; static final String DFA178_eofS = "\1\2\116\uffff"; static final String DFA178_minS = "\1\4\1\0\115\uffff"; static final String DFA178_maxS = "\1\173\1\0\115\uffff"; static final String DFA178_acceptS = "\2\uffff\1\2\113\uffff\1\1"; static final String DFA178_specialS = "\1\uffff\1\0\115\uffff}>"; static final String[] DFA178_transitionS = { "\2\2\1\uffff\3\2\5\uffff\2\2\3\uffff\3\2\16\uffff\2\2\3\uffff\4\2\1\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff\2\2\1\1\1\uffff\1\2\1\uffff\6\2\1\uffff\1\2\3\uffff\27\2\1\uffff\22\2\1\uffff\1\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA178_eot = DFA.unpackEncodedString(DFA178_eotS); static final short[] DFA178_eof = DFA.unpackEncodedString(DFA178_eofS); static final char[] DFA178_min = DFA.unpackEncodedStringToUnsignedChars(DFA178_minS); static final char[] DFA178_max = DFA.unpackEncodedStringToUnsignedChars(DFA178_maxS); static final short[] DFA178_accept = DFA.unpackEncodedString(DFA178_acceptS); static final short[] DFA178_special = DFA.unpackEncodedString(DFA178_specialS); static final short[][] DFA178_transition; static { int numStates = DFA178_transitionS.length; DFA178_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA178_transition[i] = DFA.unpackEncodedString(DFA178_transitionS[i]); } } class DFA178 extends DFA { public DFA178(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 178; this.eot = DFA178_eot; this.eof = DFA178_eof; this.min = DFA178_min; this.max = DFA178_max; this.accept = DFA178_accept; this.special = DFA178_special; this.transition = DFA178_transition; } public String getDescription() { return "10479:2: ( ( ( '<' )=>otherlv_1= '<' ) ( (lv_arguments_2_0= ruleJvmArgumentTypeReference ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleJvmArgumentTypeReference ) ) )* otherlv_5= '>' ( ( ( ( () '.' ) )=> ( () otherlv_7= '.' ) ) ( ( ruleValidID ) ) ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )? )* )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA178_1 = input.LA(1); int index178_1 = input.index(); input.rewind(); s = -1; if ( (synpred46_InternalIoT()) ) {s = 78;} else if ( (true) ) {s = 2;} input.seek(index178_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 178, _s, input); error(nvae); throw nvae; } } static final String DFA176_eotS = "\117\uffff"; static final String DFA176_eofS = "\1\2\116\uffff"; static final String DFA176_minS = "\1\4\1\0\115\uffff"; static final String DFA176_maxS = "\1\173\1\0\115\uffff"; static final String DFA176_acceptS = "\2\uffff\1\2\113\uffff\1\1"; static final String DFA176_specialS = "\1\uffff\1\0\115\uffff}>"; static final String[] DFA176_transitionS = { "\2\2\1\uffff\3\2\5\uffff\2\2\3\uffff\3\2\16\uffff\2\2\3\uffff\4\2\1\uffff\1\2\1\uffff\1\2\2\uffff\1\2\1\uffff\1\2\1\uffff\1\2\1\uffff\2\2\3\uffff\2\2\1\1\1\uffff\1\2\1\uffff\6\2\1\uffff\1\2\3\uffff\27\2\1\uffff\22\2\1\uffff\1\2", "\1\uffff", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" }; static final short[] DFA176_eot = DFA.unpackEncodedString(DFA176_eotS); static final short[] DFA176_eof = DFA.unpackEncodedString(DFA176_eofS); static final char[] DFA176_min = DFA.unpackEncodedStringToUnsignedChars(DFA176_minS); static final char[] DFA176_max = DFA.unpackEncodedStringToUnsignedChars(DFA176_maxS); static final short[] DFA176_accept = DFA.unpackEncodedString(DFA176_acceptS); static final short[] DFA176_special = DFA.unpackEncodedString(DFA176_specialS); static final short[][] DFA176_transition; static { int numStates = DFA176_transitionS.length; DFA176_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA176_transition[i] = DFA.unpackEncodedString(DFA176_transitionS[i]); } } class DFA176 extends DFA { public DFA176(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 176; this.eot = DFA176_eot; this.eof = DFA176_eof; this.min = DFA176_min; this.max = DFA176_max; this.accept = DFA176_accept; this.special = DFA176_special; this.transition = DFA176_transition; } public String getDescription() { return "10555:2: ( ( ( '<' )=>otherlv_9= '<' ) ( (lv_arguments_10_0= ruleJvmArgumentTypeReference ) ) (otherlv_11= ',' ( (lv_arguments_12_0= ruleJvmArgumentTypeReference ) ) )* otherlv_13= '>' )?"; } public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { TokenStream input = (TokenStream)_input; int _s = s; switch ( s ) { case 0 : int LA176_1 = input.LA(1); int index176_1 = input.index(); input.rewind(); s = -1; if ( (synpred48_InternalIoT()) ) {s = 78;} else if ( (true) ) {s = 2;} input.seek(index176_1); if ( s>=0 ) return s; break; } if (state.backtracking>0) {state.failed=true; return -1;} NoViableAltException nvae = new NoViableAltException(getDescription(), 176, _s, input); error(nvae); throw nvae; } } static final String DFA185_eotS = "\7\uffff"; static final String DFA185_eofS = "\2\uffff\1\4\3\uffff\1\4"; static final String DFA185_minS = "\1\4\1\uffff\1\54\1\4\2\uffff\1\54"; static final String DFA185_maxS = "\1\156\1\uffff\1\72\1\110\2\uffff\1\72"; static final String DFA185_acceptS = "\1\uffff\1\1\2\uffff\1\2\1\3\1\uffff"; static final String DFA185_specialS = "\7\uffff}>"; static final String[] DFA185_transitionS = { "\1\2\151\uffff\1\1", "", "\1\4\15\uffff\1\3", "\1\6\103\uffff\1\5", "", "", "\1\4\15\uffff\1\3" }; static final short[] DFA185_eot = DFA.unpackEncodedString(DFA185_eotS); static final short[] DFA185_eof = DFA.unpackEncodedString(DFA185_eofS); static final char[] DFA185_min = DFA.unpackEncodedStringToUnsignedChars(DFA185_minS); static final char[] DFA185_max = DFA.unpackEncodedStringToUnsignedChars(DFA185_maxS); static final short[] DFA185_accept = DFA.unpackEncodedString(DFA185_acceptS); static final short[] DFA185_special = DFA.unpackEncodedString(DFA185_specialS); static final short[][] DFA185_transition; static { int numStates = DFA185_transitionS.length; DFA185_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { DFA185_transition[i] = DFA.unpackEncodedString(DFA185_transitionS[i]); } } class DFA185 extends DFA { public DFA185(BaseRecognizer recognizer) { this.recognizer = recognizer; this.decisionNumber = 185; this.eot = DFA185_eot; this.eof = DFA185_eof; this.min = DFA185_min; this.max = DFA185_max; this.accept = DFA185_accept; this.special = DFA185_special; this.transition = DFA185_transition; } public String getDescription() { return "11021:1: ( ( ( (lv_static_1_0= 'static' ) ) ( (lv_extension_2_0= 'extension' ) )? ( ( ruleQualifiedNameInStaticImport ) ) ( ( (lv_wildcard_4_0= '*' ) ) | ( (lv_memberName_5_0= ruleValidID ) ) ) ) | ( ( ruleQualifiedName ) ) | ( (lv_importedNamespace_7_0= ruleQualifiedNameWithWildcard ) ) )"; } } private static class FollowSets000 { public static final BitSet FOLLOW_ruleSystem_in_entryRuleSystem75 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleSystem85 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_14_in_ruleSystem122 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleSystem143 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleSystem155 = new BitSet(new long[]{0x0000000000030000L}); public static final BitSet FOLLOW_ruleDevice_in_ruleSystem176 = new BitSet(new long[]{0x0000000000030000L}); public static final BitSet FOLLOW_16_in_ruleSystem189 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleDevice_in_entryRuleDevice225 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleDevice235 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_17_in_ruleDevice272 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleDevice293 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleDevice305 = new BitSet(new long[]{0x0000000000050000L}); public static final BitSet FOLLOW_ruleService_in_ruleDevice326 = new BitSet(new long[]{0x0000000000050000L}); public static final BitSet FOLLOW_16_in_ruleDevice339 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleService_in_entryRuleService375 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleService385 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_18_in_ruleService422 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleService443 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleService455 = new BitSet(new long[]{0x0000000000080000L}); public static final BitSet FOLLOW_ruleActivity_in_ruleService476 = new BitSet(new long[]{0x0000000000010000L}); public static final BitSet FOLLOW_16_in_ruleService488 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleActivity_in_entryRuleActivity524 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleActivity534 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_19_in_ruleActivity580 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleActivity601 = new BitSet(new long[]{0x0000000000108000L}); public static final BitSet FOLLOW_20_in_ruleActivity614 = new BitSet(new long[]{0x0000001400000000L}); public static final BitSet FOLLOW_ruleVariable_in_ruleActivity635 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleActivity648 = new BitSet(new long[]{0x0000001400000000L}); public static final BitSet FOLLOW_ruleVariable_in_ruleActivity669 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleActivity683 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleActivity697 = new BitSet(new long[]{0x0000001401810000L}); public static final BitSet FOLLOW_ruleVariable_in_ruleActivity719 = new BitSet(new long[]{0x0000000001A10000L}); public static final BitSet FOLLOW_21_in_ruleActivity732 = new BitSet(new long[]{0x0000001400000000L}); public static final BitSet FOLLOW_ruleVariable_in_ruleActivity753 = new BitSet(new long[]{0x0000000001A10000L}); public static final BitSet FOLLOW_23_in_ruleActivity770 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleActivity782 = new BitSet(new long[]{0x00000003F2000000L}); public static final BitSet FOLLOW_ruleActivityNode_in_ruleActivity803 = new BitSet(new long[]{0x0000000000210000L}); public static final BitSet FOLLOW_21_in_ruleActivity816 = new BitSet(new long[]{0x00000003F2000000L}); public static final BitSet FOLLOW_ruleActivityNode_in_ruleActivity837 = new BitSet(new long[]{0x0000000000210000L}); public static final BitSet FOLLOW_16_in_ruleActivity851 = new BitSet(new long[]{0x0000000001010000L}); public static final BitSet FOLLOW_24_in_ruleActivity866 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleActivity878 = new BitSet(new long[]{0x0000008000000000L}); public static final BitSet FOLLOW_ruleActivityEdge_in_ruleActivity899 = new BitSet(new long[]{0x0000000000210000L}); public static final BitSet FOLLOW_21_in_ruleActivity912 = new BitSet(new long[]{0x0000008000000000L}); public static final BitSet FOLLOW_ruleActivityEdge_in_ruleActivity933 = new BitSet(new long[]{0x0000000000210000L}); public static final BitSet FOLLOW_16_in_ruleActivity947 = new BitSet(new long[]{0x0000000000010000L}); public static final BitSet FOLLOW_16_in_ruleActivity961 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleActivityNode_in_entryRuleActivityNode997 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleActivityNode1007 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpaqueAction_in_ruleActivityNode1054 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleInitialNode_in_ruleActivityNode1081 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleActivityFinalNode_in_ruleActivityNode1108 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleForkNode_in_ruleActivityNode1135 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJoinNode_in_ruleActivityNode1162 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMergeNode_in_ruleActivityNode1189 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleDecisionNode_in_ruleActivityNode1216 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleActivityEdge_in_entryRuleActivityEdge1251 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleActivityEdge1261 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleControlFlow_in_ruleActivityEdge1307 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleVariable_in_entryRuleVariable1341 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleVariable1351 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleIntegerVariable_in_ruleVariable1398 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleBooleanVariable_in_ruleVariable1425 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleValue_in_entryRuleValue1460 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleValue1470 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleBooleanValue_in_ruleValue1517 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleIntegerValue_in_ruleValue1544 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpaqueAction_in_entryRuleOpaqueAction1579 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpaqueAction1589 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_25_in_ruleOpaqueAction1635 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleOpaqueAction1656 = new BitSet(new long[]{0x000000000C008002L}); public static final BitSet FOLLOW_26_in_ruleOpaqueAction1669 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleOpaqueAction1681 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleOpaqueAction1701 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleOpaqueAction1714 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleOpaqueAction1734 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleOpaqueAction1748 = new BitSet(new long[]{0x0000000008008002L}); public static final BitSet FOLLOW_27_in_ruleOpaqueAction1763 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleOpaqueAction1775 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleOpaqueAction1795 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleOpaqueAction1808 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleOpaqueAction1828 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleOpaqueAction1842 = new BitSet(new long[]{0x0000000000008002L}); public static final BitSet FOLLOW_15_in_ruleOpaqueAction1857 = new BitSet(new long[]{0x1316E00000110010L}); public static final BitSet FOLLOW_ruleBlock_in_ruleOpaqueAction1878 = new BitSet(new long[]{0x0000000000010000L}); public static final BitSet FOLLOW_16_in_ruleOpaqueAction1890 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleInitialNode_in_entryRuleInitialNode1928 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleInitialNode1938 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_28_in_ruleInitialNode1984 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleInitialNode2005 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_ruleInitialNode2018 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleInitialNode2030 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleInitialNode2050 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleInitialNode2063 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleInitialNode2083 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleInitialNode2097 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleActivityFinalNode_in_entryRuleActivityFinalNode2134 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleActivityFinalNode2144 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_29_in_ruleActivityFinalNode2190 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleActivityFinalNode2211 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_26_in_ruleActivityFinalNode2224 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleActivityFinalNode2236 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleActivityFinalNode2256 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleActivityFinalNode2269 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleActivityFinalNode2289 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleActivityFinalNode2303 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleForkNode_in_entryRuleForkNode2340 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleForkNode2350 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_30_in_ruleForkNode2396 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleForkNode2417 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_26_in_ruleForkNode2430 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleForkNode2442 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleForkNode2462 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleForkNode2474 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_27_in_ruleForkNode2488 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleForkNode2500 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleForkNode2520 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleForkNode2533 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleForkNode2553 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleForkNode2567 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJoinNode_in_entryRuleJoinNode2605 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJoinNode2615 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_31_in_ruleJoinNode2661 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleJoinNode2682 = new BitSet(new long[]{0x000000000C000000L}); public static final BitSet FOLLOW_26_in_ruleJoinNode2695 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleJoinNode2707 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleJoinNode2727 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleJoinNode2740 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleJoinNode2760 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleJoinNode2774 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_ruleJoinNode2789 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleJoinNode2801 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleJoinNode2821 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleJoinNode2833 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleMergeNode_in_entryRuleMergeNode2870 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleMergeNode2880 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_32_in_ruleMergeNode2926 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleMergeNode2947 = new BitSet(new long[]{0x000000000C000000L}); public static final BitSet FOLLOW_26_in_ruleMergeNode2960 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleMergeNode2972 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleMergeNode2992 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleMergeNode3005 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleMergeNode3025 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleMergeNode3039 = new BitSet(new long[]{0x0000000008000000L}); public static final BitSet FOLLOW_27_in_ruleMergeNode3054 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleMergeNode3066 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleMergeNode3086 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleMergeNode3098 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleDecisionNode_in_entryRuleDecisionNode3135 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleDecisionNode3145 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_33_in_ruleDecisionNode3191 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleDecisionNode3212 = new BitSet(new long[]{0x0000000004000000L}); public static final BitSet FOLLOW_26_in_ruleDecisionNode3225 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleDecisionNode3237 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleDecisionNode3257 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleDecisionNode3269 = new BitSet(new long[]{0x0000000008000002L}); public static final BitSet FOLLOW_27_in_ruleDecisionNode3283 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleDecisionNode3295 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleDecisionNode3315 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleDecisionNode3328 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleDecisionNode3348 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleDecisionNode3362 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleIntegerVariable_in_entryRuleIntegerVariable3400 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleIntegerVariable3410 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_34_in_ruleIntegerVariable3456 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleIntegerVariable3477 = new BitSet(new long[]{0x0000000800000002L}); public static final BitSet FOLLOW_35_in_ruleIntegerVariable3490 = new BitSet(new long[]{0x0000006000000020L}); public static final BitSet FOLLOW_ruleValue_in_ruleIntegerVariable3511 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleBooleanVariable_in_entryRuleBooleanVariable3549 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleBooleanVariable3559 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_36_in_ruleBooleanVariable3605 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleBooleanVariable3626 = new BitSet(new long[]{0x0000000800000002L}); public static final BitSet FOLLOW_35_in_ruleBooleanVariable3639 = new BitSet(new long[]{0x0000006000000020L}); public static final BitSet FOLLOW_ruleValue_in_ruleBooleanVariable3660 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleBooleanValue_in_entryRuleBooleanValue3698 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleBooleanValue3708 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEBoolean_in_ruleBooleanValue3753 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleIntegerValue_in_entryRuleIntegerValue3788 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleIntegerValue3798 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_INT_in_ruleIntegerValue3839 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleEBoolean_in_entryRuleEBoolean3880 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleEBoolean3891 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_37_in_ruleEBoolean3929 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_38_in_ruleEBoolean3948 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleControlFlow_in_entryRuleControlFlow3988 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleControlFlow3998 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_39_in_ruleControlFlow4035 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleControlFlow4056 = new BitSet(new long[]{0x0000010000000000L}); public static final BitSet FOLLOW_40_in_ruleControlFlow4068 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleControlFlow4088 = new BitSet(new long[]{0x0000020000000000L}); public static final BitSet FOLLOW_41_in_ruleControlFlow4100 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleControlFlow4120 = new BitSet(new long[]{0x0000040000000002L}); public static final BitSet FOLLOW_42_in_ruleControlFlow4133 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_RULE_ID_in_ruleControlFlow4153 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_43_in_ruleControlFlow4165 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleBlock_in_entryRuleBlock4205 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleBlock4215 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_in_ruleBlock4271 = new BitSet(new long[]{0x1316F00000100012L}); public static final BitSet FOLLOW_44_in_ruleBlock4284 = new BitSet(new long[]{0x1316E00000100012L}); public static final BitSet FOLLOW_ruleLastStatement_in_ruleBlock4310 = new BitSet(new long[]{0x0000100000000002L}); public static final BitSet FOLLOW_44_in_ruleBlock4323 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLastStatement_in_entryRuleLastStatement4363 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleLastStatement4373 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLastStatement_Return_in_ruleLastStatement4420 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLastStatement_Break_in_ruleLastStatement4447 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleLastStatement_Return_in_entryRuleLastStatement_Return4482 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleLastStatement_Return4492 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_45_in_ruleLastStatement_Return4529 = new BitSet(new long[]{0x13168060001080D2L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleLastStatement_Return4560 = new BitSet(new long[]{0x0000000000200002L}); public static final BitSet FOLLOW_21_in_ruleLastStatement_Return4573 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleLastStatement_Return4594 = new BitSet(new long[]{0x0000000000200002L}); public static final BitSet FOLLOW_ruleLastStatement_Break_in_entryRuleLastStatement_Break4634 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleLastStatement_Break4644 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_46_in_ruleLastStatement_Break4681 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_in_entryRuleStatement4726 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement4736 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_Block_in_ruleStatement4783 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_While_in_ruleStatement4810 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_Repeat_in_ruleStatement4837 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_If_Then_Else_in_ruleStatement4864 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_For_Numeric_in_ruleStatement4891 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_For_Generic_in_ruleStatement4918 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_GlobalFunction_Declaration_in_ruleStatement4945 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_LocalFunction_Declaration_in_ruleStatement4972 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_Local_Variable_Declaration_in_ruleStatement4999 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_FunctioncallOrAssignment_in_ruleStatement5026 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_Block_in_entryRuleStatement_Block5061 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_Block5071 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_47_in_ruleStatement_Block5108 = new BitSet(new long[]{0x1317E00000100010L}); public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_Block5129 = new BitSet(new long[]{0x0001000000000000L}); public static final BitSet FOLLOW_48_in_ruleStatement_Block5141 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_While_in_entryRuleStatement_While5177 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_While5187 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_49_in_ruleStatement_While5224 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_While5245 = new BitSet(new long[]{0x0000800000000000L}); public static final BitSet FOLLOW_47_in_ruleStatement_While5257 = new BitSet(new long[]{0x1317E00000100010L}); public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_While5278 = new BitSet(new long[]{0x0001000000000000L}); public static final BitSet FOLLOW_48_in_ruleStatement_While5290 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_Repeat_in_entryRuleStatement_Repeat5326 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_Repeat5336 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_50_in_ruleStatement_Repeat5373 = new BitSet(new long[]{0x131EE00000100010L}); public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_Repeat5394 = new BitSet(new long[]{0x0008000000000000L}); public static final BitSet FOLLOW_51_in_ruleStatement_Repeat5406 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_Repeat5427 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_If_Then_Else_in_entryRuleStatement_If_Then_Else5463 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_If_Then_Else5473 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_52_in_ruleStatement_If_Then_Else5510 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_If_Then_Else5531 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_53_in_ruleStatement_If_Then_Else5543 = new BitSet(new long[]{0x13D7E00000100010L}); public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_If_Then_Else5564 = new BitSet(new long[]{0x00C1000000000000L}); public static final BitSet FOLLOW_ruleStatement_If_Then_Else_ElseIfPart_in_ruleStatement_If_Then_Else5585 = new BitSet(new long[]{0x00C1000000000000L}); public static final BitSet FOLLOW_54_in_ruleStatement_If_Then_Else5599 = new BitSet(new long[]{0x1317E00000100010L}); public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_If_Then_Else5620 = new BitSet(new long[]{0x0001000000000000L}); public static final BitSet FOLLOW_48_in_ruleStatement_If_Then_Else5634 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_If_Then_Else_ElseIfPart_in_entryRuleStatement_If_Then_Else_ElseIfPart5670 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_If_Then_Else_ElseIfPart5680 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_55_in_ruleStatement_If_Then_Else_ElseIfPart5717 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_If_Then_Else_ElseIfPart5738 = new BitSet(new long[]{0x0020000000000000L}); public static final BitSet FOLLOW_53_in_ruleStatement_If_Then_Else_ElseIfPart5750 = new BitSet(new long[]{0x1316E00000100010L}); public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_If_Then_Else_ElseIfPart5771 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_For_Numeric_in_entryRuleStatement_For_Numeric5807 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_For_Numeric5817 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_56_in_ruleStatement_For_Numeric5854 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleStatement_For_Numeric5875 = new BitSet(new long[]{0x0000000800000000L}); public static final BitSet FOLLOW_35_in_ruleStatement_For_Numeric5887 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_For_Numeric5908 = new BitSet(new long[]{0x0000000000200000L}); public static final BitSet FOLLOW_21_in_ruleStatement_For_Numeric5920 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_For_Numeric5941 = new BitSet(new long[]{0x0000800000200000L}); public static final BitSet FOLLOW_21_in_ruleStatement_For_Numeric5954 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_For_Numeric5975 = new BitSet(new long[]{0x0000800000000000L}); public static final BitSet FOLLOW_47_in_ruleStatement_For_Numeric5989 = new BitSet(new long[]{0x1317E00000100010L}); public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_For_Numeric6010 = new BitSet(new long[]{0x0001000000000000L}); public static final BitSet FOLLOW_48_in_ruleStatement_For_Numeric6022 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_For_Generic_in_entryRuleStatement_For_Generic6058 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_For_Generic6068 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_56_in_ruleStatement_For_Generic6105 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleStatement_For_Generic6126 = new BitSet(new long[]{0x0000000004200000L}); public static final BitSet FOLLOW_21_in_ruleStatement_For_Generic6139 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleStatement_For_Generic6160 = new BitSet(new long[]{0x0000000004200000L}); public static final BitSet FOLLOW_26_in_ruleStatement_For_Generic6174 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_For_Generic6195 = new BitSet(new long[]{0x0000800000200000L}); public static final BitSet FOLLOW_21_in_ruleStatement_For_Generic6208 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_For_Generic6229 = new BitSet(new long[]{0x0000800000200000L}); public static final BitSet FOLLOW_47_in_ruleStatement_For_Generic6243 = new BitSet(new long[]{0x1317E00000100010L}); public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_For_Generic6264 = new BitSet(new long[]{0x0001000000000000L}); public static final BitSet FOLLOW_48_in_ruleStatement_For_Generic6276 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_GlobalFunction_Declaration_in_entryRuleStatement_GlobalFunction_Declaration6312 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_GlobalFunction_Declaration6322 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleStatement_GlobalFunction_Declaration6359 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleStatement_GlobalFunction_Declaration6380 = new BitSet(new long[]{0x0C00000000100000L}); public static final BitSet FOLLOW_58_in_ruleStatement_GlobalFunction_Declaration6393 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleStatement_GlobalFunction_Declaration6414 = new BitSet(new long[]{0x0C00000000100000L}); public static final BitSet FOLLOW_59_in_ruleStatement_GlobalFunction_Declaration6429 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleStatement_GlobalFunction_Declaration6450 = new BitSet(new long[]{0x0C00000000100000L}); public static final BitSet FOLLOW_ruleFunction_in_ruleStatement_GlobalFunction_Declaration6473 = new BitSet(new long[]{0x0001000000000000L}); public static final BitSet FOLLOW_48_in_ruleStatement_GlobalFunction_Declaration6485 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_LocalFunction_Declaration_in_entryRuleStatement_LocalFunction_Declaration6521 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_LocalFunction_Declaration6531 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_60_in_ruleStatement_LocalFunction_Declaration6568 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_ruleStatement_LocalFunction_Declaration6580 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleStatement_LocalFunction_Declaration6601 = new BitSet(new long[]{0x0C00000000100000L}); public static final BitSet FOLLOW_ruleFunction_in_ruleStatement_LocalFunction_Declaration6622 = new BitSet(new long[]{0x0001000000000000L}); public static final BitSet FOLLOW_48_in_ruleStatement_LocalFunction_Declaration6634 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleStatement_Local_Variable_Declaration_in_entryRuleStatement_Local_Variable_Declaration6670 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_Local_Variable_Declaration6680 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_60_in_ruleStatement_Local_Variable_Declaration6717 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleStatement_Local_Variable_Declaration6738 = new BitSet(new long[]{0x0000000800200002L}); public static final BitSet FOLLOW_21_in_ruleStatement_Local_Variable_Declaration6751 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleStatement_Local_Variable_Declaration6772 = new BitSet(new long[]{0x0000000800200002L}); public static final BitSet FOLLOW_35_in_ruleStatement_Local_Variable_Declaration6787 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_Local_Variable_Declaration6808 = new BitSet(new long[]{0x0000000000200002L}); public static final BitSet FOLLOW_21_in_ruleStatement_Local_Variable_Declaration6821 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_Local_Variable_Declaration6842 = new BitSet(new long[]{0x0000000000200002L}); public static final BitSet FOLLOW_ruleStatement_FunctioncallOrAssignment_in_entryRuleStatement_FunctioncallOrAssignment6882 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleStatement_FunctioncallOrAssignment6892 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_ruleStatement_FunctioncallOrAssignment6939 = new BitSet(new long[]{0x0800000800308080L}); public static final BitSet FOLLOW_21_in_ruleStatement_FunctioncallOrAssignment6970 = new BitSet(new long[]{0x1316800000100010L}); public static final BitSet FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_ruleStatement_FunctioncallOrAssignment6992 = new BitSet(new long[]{0x0000000800200000L}); public static final BitSet FOLLOW_35_in_ruleStatement_FunctioncallOrAssignment7006 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_FunctioncallOrAssignment7027 = new BitSet(new long[]{0x0000000000200002L}); public static final BitSet FOLLOW_21_in_ruleStatement_FunctioncallOrAssignment7040 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_FunctioncallOrAssignment7061 = new BitSet(new long[]{0x0000000000200002L}); public static final BitSet FOLLOW_59_in_ruleStatement_FunctioncallOrAssignment7083 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleStatement_FunctioncallOrAssignment7113 = new BitSet(new long[]{0x0800000800308080L}); public static final BitSet FOLLOW_ruleFunctioncall_Arguments_in_ruleStatement_FunctioncallOrAssignment7134 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleFunctioncall_Arguments_in_ruleStatement_FunctioncallOrAssignment7172 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression7210 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression7220 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Or_in_ruleExpression7266 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Or_in_entryRuleExpression_Or7300 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Or7310 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_And_in_ruleExpression_Or7357 = new BitSet(new long[]{0x2000000000000002L}); public static final BitSet FOLLOW_61_in_ruleExpression_Or7369 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_And_in_ruleExpression_Or7399 = new BitSet(new long[]{0x2000000000000002L}); public static final BitSet FOLLOW_ruleExpression_And_in_entryRuleExpression_And7437 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_And7447 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Compare_in_ruleExpression_And7494 = new BitSet(new long[]{0x4000000000000002L}); public static final BitSet FOLLOW_62_in_ruleExpression_And7506 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Compare_in_ruleExpression_And7536 = new BitSet(new long[]{0x4000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Compare_in_entryRuleExpression_Compare7574 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Compare7584 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7631 = new BitSet(new long[]{0x8000000000000002L,0x000000000000001FL}); public static final BitSet FOLLOW_63_in_ruleExpression_Compare7644 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7674 = new BitSet(new long[]{0x8000000000000002L,0x000000000000001FL}); public static final BitSet FOLLOW_64_in_ruleExpression_Compare7694 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7724 = new BitSet(new long[]{0x8000000000000002L,0x000000000000001FL}); public static final BitSet FOLLOW_65_in_ruleExpression_Compare7744 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7774 = new BitSet(new long[]{0x8000000000000002L,0x000000000000001FL}); public static final BitSet FOLLOW_66_in_ruleExpression_Compare7794 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7824 = new BitSet(new long[]{0x8000000000000002L,0x000000000000001FL}); public static final BitSet FOLLOW_67_in_ruleExpression_Compare7844 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7874 = new BitSet(new long[]{0x8000000000000002L,0x000000000000001FL}); public static final BitSet FOLLOW_68_in_ruleExpression_Compare7894 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare7924 = new BitSet(new long[]{0x8000000000000002L,0x000000000000001FL}); public static final BitSet FOLLOW_ruleExpression_Concatenation_in_entryRuleExpression_Concatenation7963 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Concatenation7973 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_PlusMinus_in_ruleExpression_Concatenation8020 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000020L}); public static final BitSet FOLLOW_69_in_ruleExpression_Concatenation8032 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Concatenation8062 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_PlusMinus_in_entryRuleExpression_PlusMinus8100 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_PlusMinus8110 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_ruleExpression_PlusMinus8157 = new BitSet(new long[]{0x0000000000000002L,0x00000000000000C0L}); public static final BitSet FOLLOW_70_in_ruleExpression_PlusMinus8170 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_ruleExpression_PlusMinus8200 = new BitSet(new long[]{0x0000000000000002L,0x00000000000000C0L}); public static final BitSet FOLLOW_71_in_ruleExpression_PlusMinus8220 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_ruleExpression_PlusMinus8250 = new BitSet(new long[]{0x0000000000000002L,0x00000000000000C0L}); public static final BitSet FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_entryRuleExpression_MultiplicationDivisionModulo8289 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_MultiplicationDivisionModulo8299 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo8346 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000700L}); public static final BitSet FOLLOW_72_in_ruleExpression_MultiplicationDivisionModulo8359 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo8389 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000700L}); public static final BitSet FOLLOW_73_in_ruleExpression_MultiplicationDivisionModulo8409 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo8439 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000700L}); public static final BitSet FOLLOW_74_in_ruleExpression_MultiplicationDivisionModulo8459 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo8489 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000700L}); public static final BitSet FOLLOW_ruleExpression_Unary_in_entryRuleExpression_Unary8528 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Unary8538 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Exponentiation_in_ruleExpression_Unary8585 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_75_in_ruleExpression_Unary8603 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_Unary8633 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_76_in_ruleExpression_Unary8653 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_Unary8683 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_71_in_ruleExpression_Unary8703 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_Unary8733 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Exponentiation_in_entryRuleExpression_Exponentiation8770 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Exponentiation8780 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Terminal_in_ruleExpression_Exponentiation8827 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L}); public static final BitSet FOLLOW_77_in_ruleExpression_Exponentiation8839 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000C000L}); public static final BitSet FOLLOW_ruleExpression_Exponentiation_in_ruleExpression_Exponentiation8869 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Terminal_in_entryRuleExpression_Terminal8907 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Terminal8917 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Nil_in_ruleExpression_Terminal8964 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_True_in_ruleExpression_Terminal8991 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_False_in_ruleExpression_Terminal9018 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Number_in_ruleExpression_Terminal9045 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_VarArgs_in_ruleExpression_Terminal9072 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_String_in_ruleExpression_Terminal9099 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Function_in_ruleExpression_Terminal9126 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_TableConstructor_in_ruleExpression_Terminal9153 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Functioncall_in_ruleExpression_Terminal9180 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Nil_in_entryRuleExpression_Nil9215 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Nil9225 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_78_in_ruleExpression_Nil9262 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_True_in_entryRuleExpression_True9307 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_True9317 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_37_in_ruleExpression_True9354 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_False_in_entryRuleExpression_False9399 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_False9409 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_38_in_ruleExpression_False9446 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Number_in_entryRuleExpression_Number9491 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Number9501 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_DOUBLE_in_ruleExpression_Number9542 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_VarArgs_in_entryRuleExpression_VarArgs9582 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_VarArgs9592 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_79_in_ruleExpression_VarArgs9629 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_String_in_entryRuleExpression_String9674 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_String9684 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_STRING_in_ruleExpression_String9725 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Function_in_entryRuleExpression_Function9765 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Function9775 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_57_in_ruleExpression_Function9812 = new BitSet(new long[]{0x0C00000000100000L}); public static final BitSet FOLLOW_ruleFunction_in_ruleExpression_Function9833 = new BitSet(new long[]{0x0001000000000000L}); public static final BitSet FOLLOW_48_in_ruleExpression_Function9845 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_TableConstructor_in_entryRuleExpression_TableConstructor9881 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_TableConstructor9891 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_15_in_ruleExpression_TableConstructor9928 = new BitSet(new long[]{0x13168460001180D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleField_in_ruleExpression_TableConstructor9959 = new BitSet(new long[]{0x0000100000210000L}); public static final BitSet FOLLOW_21_in_ruleExpression_TableConstructor9973 = new BitSet(new long[]{0x13168460001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_44_in_ruleExpression_TableConstructor9991 = new BitSet(new long[]{0x13168460001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleField_in_ruleExpression_TableConstructor10013 = new BitSet(new long[]{0x0000100000210000L}); public static final BitSet FOLLOW_21_in_ruleExpression_TableConstructor10028 = new BitSet(new long[]{0x0000000000010000L}); public static final BitSet FOLLOW_44_in_ruleExpression_TableConstructor10046 = new BitSet(new long[]{0x0000000000010000L}); public static final BitSet FOLLOW_16_in_ruleExpression_TableConstructor10062 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_Functioncall_in_entryRuleExpression_Functioncall10098 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Functioncall10108 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_ruleExpression_Functioncall10155 = new BitSet(new long[]{0x0800000800308082L}); public static final BitSet FOLLOW_59_in_ruleExpression_Functioncall10176 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleExpression_Functioncall10207 = new BitSet(new long[]{0x0800000800308080L}); public static final BitSet FOLLOW_ruleFunctioncall_Arguments_in_ruleExpression_Functioncall10228 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleFunctioncall_Arguments_in_ruleExpression_Functioncall10266 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_entryRuleExpression_AccessMemberOrArrayElement10305 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_AccessMemberOrArrayElement10315 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_VariableName_in_ruleExpression_AccessMemberOrArrayElement10362 = new BitSet(new long[]{0x0400040000000002L}); public static final BitSet FOLLOW_42_in_ruleExpression_AccessMemberOrArrayElement10375 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleExpression_AccessMemberOrArrayElement10405 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_43_in_ruleExpression_AccessMemberOrArrayElement10417 = new BitSet(new long[]{0x0400040000000002L}); public static final BitSet FOLLOW_58_in_ruleExpression_AccessMemberOrArrayElement10437 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleExpression_AccessMemberOrArrayElement10467 = new BitSet(new long[]{0x0400040000000002L}); public static final BitSet FOLLOW_ruleExpression_VariableName_in_entryRuleExpression_VariableName10506 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleExpression_VariableName10516 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_ruleExpression_VariableName10554 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleExpression_VariableName10576 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleExpression_VariableName10587 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleValidID_in_ruleExpression_VariableName10625 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction10662 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleFunction10672 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_ruleFunction10709 = new BitSet(new long[]{0x0000000000400010L,0x0000000000008000L}); public static final BitSet FOLLOW_ruleValidID_in_ruleFunction10731 = new BitSet(new long[]{0x0000000000600000L,0x0000000000008000L}); public static final BitSet FOLLOW_21_in_ruleFunction10744 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleFunction10765 = new BitSet(new long[]{0x0000000000600000L,0x0000000000008000L}); public static final BitSet FOLLOW_21_in_ruleFunction10780 = new BitSet(new long[]{0x0000000000400000L,0x0000000000008000L}); public static final BitSet FOLLOW_79_in_ruleFunction10802 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleFunction10828 = new BitSet(new long[]{0x1316E00000100010L}); public static final BitSet FOLLOW_ruleBlock_in_ruleFunction10849 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleFunctioncall_Arguments_in_entryRuleFunctioncall_Arguments10885 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleFunctioncall_Arguments10895 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_ruleFunctioncall_Arguments10943 = new BitSet(new long[]{0x13168060005080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleFunctioncall_Arguments10965 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleFunctioncall_Arguments10978 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleFunctioncall_Arguments10999 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleFunctioncall_Arguments11015 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_TableConstructor_in_ruleFunctioncall_Arguments11043 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_String_in_ruleFunctioncall_Arguments11070 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleField_in_entryRuleField11107 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleField11117 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleField_AddEntryToTable_Brackets_in_ruleField11164 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleField_AddEntryToTable_in_ruleField11191 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleField_AppendEntryToTable_in_ruleField11218 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleField_AddEntryToTable_Brackets_in_entryRuleField_AddEntryToTable_Brackets11253 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleField_AddEntryToTable_Brackets11263 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_ruleField_AddEntryToTable_Brackets11300 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleField_AddEntryToTable_Brackets11321 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_43_in_ruleField_AddEntryToTable_Brackets11333 = new BitSet(new long[]{0x0000000800000000L}); public static final BitSet FOLLOW_35_in_ruleField_AddEntryToTable_Brackets11345 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleField_AddEntryToTable_Brackets11366 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleField_AddEntryToTable_in_entryRuleField_AddEntryToTable11402 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleField_AddEntryToTable11412 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleValidID_in_ruleField_AddEntryToTable11458 = new BitSet(new long[]{0x0000000800000000L}); public static final BitSet FOLLOW_35_in_ruleField_AddEntryToTable11470 = new BitSet(new long[]{0x13168060001080D0L,0x000000000000D880L}); public static final BitSet FOLLOW_ruleExpression_in_ruleField_AddEntryToTable11491 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleField_AppendEntryToTable_in_entryRuleField_AppendEntryToTable11527 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleField_AppendEntryToTable11537 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleExpression_in_ruleField_AppendEntryToTable11582 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXExpression_in_entryRuleXExpression11617 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXExpression11627 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXAssignment_in_ruleXExpression11673 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXAssignment_in_entryRuleXAssignment11707 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXAssignment11717 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleFeatureCallID_in_ruleXAssignment11775 = new BitSet(new long[]{0x0000000800000000L}); public static final BitSet FOLLOW_ruleOpSingleAssign_in_ruleXAssignment11791 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXAssignment_in_ruleXAssignment11811 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXOrExpression_in_ruleXAssignment11841 = new BitSet(new long[]{0x8000000000000002L,0x00000000001F0002L}); public static final BitSet FOLLOW_ruleOpMultiAssign_in_ruleXAssignment11894 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXAssignment_in_ruleXAssignment11917 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpSingleAssign_in_entryRuleOpSingleAssign11957 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpSingleAssign11968 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_35_in_ruleOpSingleAssign12005 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpMultiAssign_in_entryRuleOpMultiAssign12045 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpMultiAssign12056 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_80_in_ruleOpMultiAssign12094 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_81_in_ruleOpMultiAssign12113 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_82_in_ruleOpMultiAssign12132 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_83_in_ruleOpMultiAssign12151 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_84_in_ruleOpMultiAssign12170 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleOpMultiAssign12190 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleOpMultiAssign12203 = new BitSet(new long[]{0x0000000800000000L}); public static final BitSet FOLLOW_35_in_ruleOpMultiAssign12216 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_63_in_ruleOpMultiAssign12237 = new BitSet(new long[]{0x8000000000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_63_in_ruleOpMultiAssign12251 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L}); public static final BitSet FOLLOW_64_in_ruleOpMultiAssign12266 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXOrExpression_in_entryRuleXOrExpression12307 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXOrExpression12317 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXAndExpression_in_ruleXOrExpression12364 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L}); public static final BitSet FOLLOW_ruleOpOr_in_ruleXOrExpression12417 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXAndExpression_in_ruleXOrExpression12440 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L}); public static final BitSet FOLLOW_ruleOpOr_in_entryRuleOpOr12479 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpOr12490 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_85_in_ruleOpOr12527 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXAndExpression_in_entryRuleXAndExpression12566 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXAndExpression12576 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXEqualityExpression_in_ruleXAndExpression12623 = new BitSet(new long[]{0x0000000000000002L,0x0000000000400000L}); public static final BitSet FOLLOW_ruleOpAnd_in_ruleXAndExpression12676 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXEqualityExpression_in_ruleXAndExpression12699 = new BitSet(new long[]{0x0000000000000002L,0x0000000000400000L}); public static final BitSet FOLLOW_ruleOpAnd_in_entryRuleOpAnd12738 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpAnd12749 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_86_in_ruleOpAnd12786 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXEqualityExpression_in_entryRuleXEqualityExpression12825 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXEqualityExpression12835 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXRelationalExpression_in_ruleXEqualityExpression12882 = new BitSet(new long[]{0x0000000000000002L,0x0000000003800008L}); public static final BitSet FOLLOW_ruleOpEquality_in_ruleXEqualityExpression12935 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXRelationalExpression_in_ruleXEqualityExpression12958 = new BitSet(new long[]{0x0000000000000002L,0x0000000003800008L}); public static final BitSet FOLLOW_ruleOpEquality_in_entryRuleOpEquality12997 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpEquality13008 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_67_in_ruleOpEquality13046 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_87_in_ruleOpEquality13065 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_88_in_ruleOpEquality13084 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_89_in_ruleOpEquality13103 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXRelationalExpression_in_entryRuleXRelationalExpression13143 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXRelationalExpression13153 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXOtherOperatorExpression_in_ruleXRelationalExpression13200 = new BitSet(new long[]{0x8000000000000002L,0x0000000004000003L}); public static final BitSet FOLLOW_90_in_ruleXRelationalExpression13236 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleXRelationalExpression13259 = new BitSet(new long[]{0x8000000000000002L,0x0000000004000003L}); public static final BitSet FOLLOW_ruleOpCompare_in_ruleXRelationalExpression13320 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXOtherOperatorExpression_in_ruleXRelationalExpression13343 = new BitSet(new long[]{0x8000000000000002L,0x0000000004000003L}); public static final BitSet FOLLOW_ruleOpCompare_in_entryRuleOpCompare13383 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpCompare13394 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_64_in_ruleOpCompare13432 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleOpCompare13452 = new BitSet(new long[]{0x0000000800000000L}); public static final BitSet FOLLOW_35_in_ruleOpCompare13465 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_63_in_ruleOpCompare13485 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleOpCompare13504 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXOtherOperatorExpression_in_entryRuleXOtherOperatorExpression13544 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXOtherOperatorExpression13554 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXAdditiveExpression_in_ruleXOtherOperatorExpression13601 = new BitSet(new long[]{0x8000000000000002L,0x00000000F8000022L}); public static final BitSet FOLLOW_ruleOpOther_in_ruleXOtherOperatorExpression13654 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXAdditiveExpression_in_ruleXOtherOperatorExpression13677 = new BitSet(new long[]{0x8000000000000002L,0x00000000F8000022L}); public static final BitSet FOLLOW_ruleOpOther_in_entryRuleOpOther13716 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpOther13727 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_91_in_ruleOpOther13765 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_92_in_ruleOpOther13784 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_63_in_ruleOpOther13804 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L}); public static final BitSet FOLLOW_69_in_ruleOpOther13817 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_69_in_ruleOpOther13837 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_93_in_ruleOpOther13856 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_63_in_ruleOpOther13876 = new BitSet(new long[]{0x8000000000000000L}); public static final BitSet FOLLOW_63_in_ruleOpOther13907 = new BitSet(new long[]{0x8000000000000000L}); public static final BitSet FOLLOW_63_in_ruleOpOther13920 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_63_in_ruleOpOther13941 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleOpOther13963 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000002L}); public static final BitSet FOLLOW_65_in_ruleOpOther13994 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleOpOther14007 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleOpOther14028 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_93_in_ruleOpOther14047 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_94_in_ruleOpOther14068 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_95_in_ruleOpOther14087 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXAdditiveExpression_in_entryRuleXAdditiveExpression14127 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXAdditiveExpression14137 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXMultiplicativeExpression_in_ruleXAdditiveExpression14184 = new BitSet(new long[]{0x0000000000000002L,0x00000000000000C0L}); public static final BitSet FOLLOW_ruleOpAdd_in_ruleXAdditiveExpression14237 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXMultiplicativeExpression_in_ruleXAdditiveExpression14260 = new BitSet(new long[]{0x0000000000000002L,0x00000000000000C0L}); public static final BitSet FOLLOW_ruleOpAdd_in_entryRuleOpAdd14299 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpAdd14310 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_70_in_ruleOpAdd14348 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_71_in_ruleOpAdd14367 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXMultiplicativeExpression_in_entryRuleXMultiplicativeExpression14407 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXMultiplicativeExpression14417 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXUnaryOperation_in_ruleXMultiplicativeExpression14464 = new BitSet(new long[]{0x0000000000000002L,0x0000000100000700L}); public static final BitSet FOLLOW_ruleOpMulti_in_ruleXMultiplicativeExpression14517 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXUnaryOperation_in_ruleXMultiplicativeExpression14540 = new BitSet(new long[]{0x0000000000000002L,0x0000000100000700L}); public static final BitSet FOLLOW_ruleOpMulti_in_entryRuleOpMulti14579 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpMulti14590 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_72_in_ruleOpMulti14628 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_96_in_ruleOpMulti14647 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_73_in_ruleOpMulti14666 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_74_in_ruleOpMulti14685 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXUnaryOperation_in_entryRuleXUnaryOperation14725 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXUnaryOperation14735 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpUnary_in_ruleXUnaryOperation14793 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXUnaryOperation_in_ruleXUnaryOperation14814 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXCastedExpression_in_ruleXUnaryOperation14843 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpUnary_in_entryRuleOpUnary14879 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpUnary14890 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_97_in_ruleOpUnary14928 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_71_in_ruleOpUnary14947 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_70_in_ruleOpUnary14966 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXCastedExpression_in_entryRuleXCastedExpression15006 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXCastedExpression15016 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXPostfixOperation_in_ruleXCastedExpression15063 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L}); public static final BitSet FOLLOW_98_in_ruleXCastedExpression15098 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleXCastedExpression15121 = new BitSet(new long[]{0x0000000000000002L,0x0000000400000000L}); public static final BitSet FOLLOW_ruleXPostfixOperation_in_entryRuleXPostfixOperation15159 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXPostfixOperation15169 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXMemberFeatureCall_in_ruleXPostfixOperation15216 = new BitSet(new long[]{0x0000000000000002L,0x0000001800000000L}); public static final BitSet FOLLOW_ruleOpPostfix_in_ruleXPostfixOperation15268 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpPostfix_in_entryRuleOpPostfix15308 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleOpPostfix15319 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_99_in_ruleOpPostfix15357 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_100_in_ruleOpPostfix15376 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXMemberFeatureCall_in_entryRuleXMemberFeatureCall15416 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXMemberFeatureCall15426 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXPrimaryExpression_in_ruleXMemberFeatureCall15473 = new BitSet(new long[]{0x0400000000000002L,0x0000006000000000L}); public static final BitSet FOLLOW_58_in_ruleXMemberFeatureCall15545 = new BitSet(new long[]{0x0000000000000010L,0x0001E00000000000L}); public static final BitSet FOLLOW_101_in_ruleXMemberFeatureCall15569 = new BitSet(new long[]{0x0000000000000010L,0x0001E00000000000L}); public static final BitSet FOLLOW_ruleFeatureCallID_in_ruleXMemberFeatureCall15606 = new BitSet(new long[]{0x0000000800000000L}); public static final BitSet FOLLOW_ruleOpSingleAssign_in_ruleXMemberFeatureCall15622 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXAssignment_in_ruleXMemberFeatureCall15644 = new BitSet(new long[]{0x0400000000000002L,0x0000006000000000L}); public static final BitSet FOLLOW_58_in_ruleXMemberFeatureCall15730 = new BitSet(new long[]{0x0000000000000010L,0x0003E00000000002L}); public static final BitSet FOLLOW_102_in_ruleXMemberFeatureCall15754 = new BitSet(new long[]{0x0000000000000010L,0x0003E00000000002L}); public static final BitSet FOLLOW_101_in_ruleXMemberFeatureCall15791 = new BitSet(new long[]{0x0000000000000010L,0x0003E00000000002L}); public static final BitSet FOLLOW_65_in_ruleXMemberFeatureCall15820 = new BitSet(new long[]{0x0000000000100010L,0x0400000020000000L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_ruleXMemberFeatureCall15841 = new BitSet(new long[]{0x8000000000200000L}); public static final BitSet FOLLOW_21_in_ruleXMemberFeatureCall15854 = new BitSet(new long[]{0x0000000000100010L,0x0400000020000000L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_ruleXMemberFeatureCall15875 = new BitSet(new long[]{0x8000000000200000L}); public static final BitSet FOLLOW_63_in_ruleXMemberFeatureCall15889 = new BitSet(new long[]{0x0000000000000010L,0x0003E00000000002L}); public static final BitSet FOLLOW_ruleIdOrSuper_in_ruleXMemberFeatureCall15914 = new BitSet(new long[]{0x0400040000100002L,0x0000006000000000L}); public static final BitSet FOLLOW_20_in_ruleXMemberFeatureCall15948 = new BitSet(new long[]{0x0112A460005083B0L,0x017FE182200010C2L}); public static final BitSet FOLLOW_ruleXShortClosure_in_ruleXMemberFeatureCall16033 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXMemberFeatureCall16061 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleXMemberFeatureCall16074 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXMemberFeatureCall16095 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleXMemberFeatureCall16112 = new BitSet(new long[]{0x0400040000000002L,0x0000006000000000L}); public static final BitSet FOLLOW_ruleXClosure_in_ruleXMemberFeatureCall16147 = new BitSet(new long[]{0x0400000000000002L,0x0000006000000000L}); public static final BitSet FOLLOW_ruleXPrimaryExpression_in_entryRuleXPrimaryExpression16187 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXPrimaryExpression16197 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXConstructorCall_in_ruleXPrimaryExpression16244 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXBlockExpression_in_ruleXPrimaryExpression16271 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXSwitchExpression_in_ruleXPrimaryExpression16298 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXSynchronizedExpression_in_ruleXPrimaryExpression16342 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXFeatureCall_in_ruleXPrimaryExpression16370 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXLiteral_in_ruleXPrimaryExpression16397 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXIfExpression_in_ruleXPrimaryExpression16424 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXForLoopExpression_in_ruleXPrimaryExpression16481 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXBasicForLoopExpression_in_ruleXPrimaryExpression16509 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXWhileExpression_in_ruleXPrimaryExpression16536 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXDoWhileExpression_in_ruleXPrimaryExpression16563 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXThrowExpression_in_ruleXPrimaryExpression16590 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXReturnExpression_in_ruleXPrimaryExpression16617 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXTryCatchFinallyExpression_in_ruleXPrimaryExpression16644 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXParenthesizedExpression_in_ruleXPrimaryExpression16671 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXLiteral_in_entryRuleXLiteral16706 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXLiteral16716 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXCollectionLiteral_in_ruleXLiteral16763 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXClosure_in_ruleXLiteral16803 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXBooleanLiteral_in_ruleXLiteral16831 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXNumberLiteral_in_ruleXLiteral16858 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXNullLiteral_in_ruleXLiteral16885 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXStringLiteral_in_ruleXLiteral16912 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXTypeLiteral_in_ruleXLiteral16939 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXCollectionLiteral_in_entryRuleXCollectionLiteral16974 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXCollectionLiteral16984 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXSetLiteral_in_ruleXCollectionLiteral17031 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXListLiteral_in_ruleXCollectionLiteral17058 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXSetLiteral_in_entryRuleXSetLiteral17093 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXSetLiteral17103 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_76_in_ruleXSetLiteral17149 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleXSetLiteral17161 = new BitSet(new long[]{0x0112A460001183B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXSetLiteral17183 = new BitSet(new long[]{0x0000000000210000L}); public static final BitSet FOLLOW_21_in_ruleXSetLiteral17196 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXSetLiteral17217 = new BitSet(new long[]{0x0000000000210000L}); public static final BitSet FOLLOW_16_in_ruleXSetLiteral17233 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXListLiteral_in_entryRuleXListLiteral17269 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXListLiteral17279 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_76_in_ruleXListLiteral17325 = new BitSet(new long[]{0x0000040000000000L}); public static final BitSet FOLLOW_42_in_ruleXListLiteral17337 = new BitSet(new long[]{0x0112AC60001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXListLiteral17359 = new BitSet(new long[]{0x0000080000200000L}); public static final BitSet FOLLOW_21_in_ruleXListLiteral17372 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXListLiteral17393 = new BitSet(new long[]{0x0000080000200000L}); public static final BitSet FOLLOW_43_in_ruleXListLiteral17409 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXClosure_in_entryRuleXClosure17445 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXClosure17455 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_ruleXClosure17515 = new BitSet(new long[]{0x0112AC60001083B0L,0x017FF982200010C2L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_ruleXClosure17588 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_21_in_ruleXClosure17601 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_ruleXClosure17622 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_103_in_ruleXClosure17644 = new BitSet(new long[]{0x0112AC60001083B0L,0x017FF902000010C2L}); public static final BitSet FOLLOW_ruleXExpressionInClosure_in_ruleXClosure17681 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_43_in_ruleXClosure17693 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXExpressionInClosure_in_entryRuleXExpressionInClosure17729 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXExpressionInClosure17739 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXExpressionOrVarDeclaration_in_ruleXExpressionInClosure17795 = new BitSet(new long[]{0x0112B460001083B2L,0x017FF902000010C2L}); public static final BitSet FOLLOW_44_in_ruleXExpressionInClosure17808 = new BitSet(new long[]{0x0112A460001083B2L,0x017FF902000010C2L}); public static final BitSet FOLLOW_ruleXShortClosure_in_entryRuleXShortClosure17848 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXShortClosure17858 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_ruleXShortClosure17966 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_21_in_ruleXShortClosure17979 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_ruleXShortClosure18000 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_103_in_ruleXShortClosure18022 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXShortClosure18058 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXParenthesizedExpression_in_entryRuleXParenthesizedExpression18094 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXParenthesizedExpression18104 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_ruleXParenthesizedExpression18141 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXParenthesizedExpression18163 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleXParenthesizedExpression18174 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXIfExpression_in_entryRuleXIfExpression18210 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXIfExpression18220 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_52_in_ruleXIfExpression18266 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleXIfExpression18278 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXIfExpression18299 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleXIfExpression18311 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXIfExpression18332 = new BitSet(new long[]{0x0040000000000002L}); public static final BitSet FOLLOW_54_in_ruleXIfExpression18353 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXIfExpression18375 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXSwitchExpression_in_entryRuleXSwitchExpression18413 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXSwitchExpression18423 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_104_in_ruleXSwitchExpression18469 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102200010C2L}); public static final BitSet FOLLOW_20_in_ruleXSwitchExpression18507 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_ruleXSwitchExpression18528 = new BitSet(new long[]{0x0800000000000000L}); public static final BitSet FOLLOW_59_in_ruleXSwitchExpression18540 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXSwitchExpression18563 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleXSwitchExpression18575 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_ruleXSwitchExpression18624 = new BitSet(new long[]{0x0800000000000000L}); public static final BitSet FOLLOW_59_in_ruleXSwitchExpression18636 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXSwitchExpression18660 = new BitSet(new long[]{0x0000000000008000L}); public static final BitSet FOLLOW_15_in_ruleXSwitchExpression18674 = new BitSet(new long[]{0x0800000000310010L,0x0000060020000000L}); public static final BitSet FOLLOW_ruleXCasePart_in_ruleXSwitchExpression18695 = new BitSet(new long[]{0x0800000000310010L,0x0000060020000000L}); public static final BitSet FOLLOW_105_in_ruleXSwitchExpression18709 = new BitSet(new long[]{0x0800000000000000L}); public static final BitSet FOLLOW_59_in_ruleXSwitchExpression18721 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXSwitchExpression18742 = new BitSet(new long[]{0x0000000000010000L}); public static final BitSet FOLLOW_16_in_ruleXSwitchExpression18756 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXCasePart_in_entryRuleXCasePart18792 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXCasePart18802 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleXCasePart18857 = new BitSet(new long[]{0x0800000000200000L,0x0000040000000000L}); public static final BitSet FOLLOW_106_in_ruleXCasePart18871 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXCasePart18892 = new BitSet(new long[]{0x0800000000200000L}); public static final BitSet FOLLOW_59_in_ruleXCasePart18908 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXCasePart18929 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_21_in_ruleXCasePart18954 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXForLoopExpression_in_entryRuleXForLoopExpression19004 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXForLoopExpression19014 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_56_in_ruleXForLoopExpression19091 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleXForLoopExpression19103 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_ruleXForLoopExpression19124 = new BitSet(new long[]{0x0800000000000000L}); public static final BitSet FOLLOW_59_in_ruleXForLoopExpression19136 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXForLoopExpression19159 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleXForLoopExpression19171 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXForLoopExpression19192 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXBasicForLoopExpression_in_entryRuleXBasicForLoopExpression19228 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXBasicForLoopExpression19238 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_56_in_ruleXBasicForLoopExpression19284 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleXBasicForLoopExpression19296 = new BitSet(new long[]{0x0112B460001083B0L,0x017FF902000010C2L}); public static final BitSet FOLLOW_ruleXExpressionOrVarDeclaration_in_ruleXBasicForLoopExpression19318 = new BitSet(new long[]{0x0000100000200000L}); public static final BitSet FOLLOW_21_in_ruleXBasicForLoopExpression19331 = new BitSet(new long[]{0x0112A460001083B0L,0x017FF902000010C2L}); public static final BitSet FOLLOW_ruleXExpressionOrVarDeclaration_in_ruleXBasicForLoopExpression19352 = new BitSet(new long[]{0x0000100000200000L}); public static final BitSet FOLLOW_44_in_ruleXBasicForLoopExpression19368 = new BitSet(new long[]{0x0112B460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXBasicForLoopExpression19389 = new BitSet(new long[]{0x0000100000000000L}); public static final BitSet FOLLOW_44_in_ruleXBasicForLoopExpression19402 = new BitSet(new long[]{0x0112A460005083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXBasicForLoopExpression19424 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleXBasicForLoopExpression19437 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXBasicForLoopExpression19458 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleXBasicForLoopExpression19474 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXBasicForLoopExpression19495 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXWhileExpression_in_entryRuleXWhileExpression19531 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXWhileExpression19541 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_49_in_ruleXWhileExpression19587 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleXWhileExpression19599 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXWhileExpression19620 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleXWhileExpression19632 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXWhileExpression19653 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXDoWhileExpression_in_entryRuleXDoWhileExpression19689 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXDoWhileExpression19699 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_47_in_ruleXDoWhileExpression19745 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXDoWhileExpression19766 = new BitSet(new long[]{0x0002000000000000L}); public static final BitSet FOLLOW_49_in_ruleXDoWhileExpression19778 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleXDoWhileExpression19790 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXDoWhileExpression19811 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleXDoWhileExpression19823 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXBlockExpression_in_entryRuleXBlockExpression19859 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXBlockExpression19869 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_15_in_ruleXBlockExpression19915 = new BitSet(new long[]{0x0112A460001183B0L,0x017FF902000010C2L}); public static final BitSet FOLLOW_ruleXExpressionOrVarDeclaration_in_ruleXBlockExpression19937 = new BitSet(new long[]{0x0112B460001183B0L,0x017FF902000010C2L}); public static final BitSet FOLLOW_44_in_ruleXBlockExpression19950 = new BitSet(new long[]{0x0112A460001183B0L,0x017FF902000010C2L}); public static final BitSet FOLLOW_16_in_ruleXBlockExpression19966 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXExpressionOrVarDeclaration_in_entryRuleXExpressionOrVarDeclaration20002 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXExpressionOrVarDeclaration20012 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXVariableDeclaration_in_ruleXExpressionOrVarDeclaration20059 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXExpressionOrVarDeclaration20086 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXVariableDeclaration_in_entryRuleXVariableDeclaration20121 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXVariableDeclaration20131 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_107_in_ruleXVariableDeclaration20184 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_108_in_ruleXVariableDeclaration20215 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleXVariableDeclaration20263 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleXVariableDeclaration20284 = new BitSet(new long[]{0x0000000800000002L}); public static final BitSet FOLLOW_ruleValidID_in_ruleXVariableDeclaration20313 = new BitSet(new long[]{0x0000000800000002L}); public static final BitSet FOLLOW_35_in_ruleXVariableDeclaration20327 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXVariableDeclaration20348 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_entryRuleJvmFormalParameter20386 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJvmFormalParameter20396 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleJvmFormalParameter20442 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleJvmFormalParameter20464 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleFullJvmFormalParameter_in_entryRuleFullJvmFormalParameter20500 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleFullJvmFormalParameter20510 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleFullJvmFormalParameter20556 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleFullJvmFormalParameter20577 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXFeatureCall_in_entryRuleXFeatureCall20613 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXFeatureCall20623 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleXFeatureCall20670 = new BitSet(new long[]{0x0000000000100010L,0x0400000020000000L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_ruleXFeatureCall20691 = new BitSet(new long[]{0x8000000000200000L}); public static final BitSet FOLLOW_21_in_ruleXFeatureCall20704 = new BitSet(new long[]{0x0000000000100010L,0x0400000020000000L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_ruleXFeatureCall20725 = new BitSet(new long[]{0x8000000000200000L}); public static final BitSet FOLLOW_63_in_ruleXFeatureCall20739 = new BitSet(new long[]{0x0000000000000010L,0x0003E00000000002L}); public static final BitSet FOLLOW_ruleIdOrSuper_in_ruleXFeatureCall20764 = new BitSet(new long[]{0x0000040000100002L}); public static final BitSet FOLLOW_20_in_ruleXFeatureCall20798 = new BitSet(new long[]{0x0112A460005083B0L,0x017FE182200010C2L}); public static final BitSet FOLLOW_ruleXShortClosure_in_ruleXFeatureCall20883 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXFeatureCall20911 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleXFeatureCall20924 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXFeatureCall20945 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleXFeatureCall20962 = new BitSet(new long[]{0x0000040000000002L}); public static final BitSet FOLLOW_ruleXClosure_in_ruleXFeatureCall20997 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleFeatureCallID_in_entryRuleFeatureCallID21035 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleFeatureCallID21046 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleValidID_in_ruleFeatureCallID21093 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_109_in_ruleFeatureCallID21117 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_110_in_ruleFeatureCallID21136 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_111_in_ruleFeatureCallID21155 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_112_in_ruleFeatureCallID21174 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleIdOrSuper_in_entryRuleIdOrSuper21215 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleIdOrSuper21226 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleFeatureCallID_in_ruleIdOrSuper21273 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_113_in_ruleIdOrSuper21297 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXConstructorCall_in_entryRuleXConstructorCall21337 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXConstructorCall21347 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_114_in_ruleXConstructorCall21393 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleXConstructorCall21416 = new BitSet(new long[]{0x0000040000100002L,0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleXConstructorCall21437 = new BitSet(new long[]{0x0000000000100010L,0x0400000020000000L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_ruleXConstructorCall21459 = new BitSet(new long[]{0x8000000000200000L}); public static final BitSet FOLLOW_21_in_ruleXConstructorCall21472 = new BitSet(new long[]{0x0000000000100010L,0x0400000020000000L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_ruleXConstructorCall21493 = new BitSet(new long[]{0x8000000000200000L}); public static final BitSet FOLLOW_63_in_ruleXConstructorCall21507 = new BitSet(new long[]{0x0000040000100002L}); public static final BitSet FOLLOW_20_in_ruleXConstructorCall21543 = new BitSet(new long[]{0x0112A460005083B0L,0x017FE182200010C2L}); public static final BitSet FOLLOW_ruleXShortClosure_in_ruleXConstructorCall21628 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXConstructorCall21656 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleXConstructorCall21669 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXConstructorCall21690 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleXConstructorCall21707 = new BitSet(new long[]{0x0000040000000002L}); public static final BitSet FOLLOW_ruleXClosure_in_ruleXConstructorCall21742 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXBooleanLiteral_in_entryRuleXBooleanLiteral21779 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXBooleanLiteral21789 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_38_in_ruleXBooleanLiteral21836 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_37_in_ruleXBooleanLiteral21860 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXNullLiteral_in_entryRuleXNullLiteral21910 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXNullLiteral21920 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_115_in_ruleXNullLiteral21966 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXNumberLiteral_in_entryRuleXNumberLiteral22002 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXNumberLiteral22012 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleNumber_in_ruleXNumberLiteral22067 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXStringLiteral_in_entryRuleXStringLiteral22103 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXStringLiteral22113 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_STRING_in_ruleXStringLiteral22164 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXTypeLiteral_in_entryRuleXTypeLiteral22205 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXTypeLiteral22215 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_116_in_ruleXTypeLiteral22261 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleXTypeLiteral22273 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleXTypeLiteral22296 = new BitSet(new long[]{0x0000040000400000L}); public static final BitSet FOLLOW_ruleArrayBrackets_in_ruleXTypeLiteral22317 = new BitSet(new long[]{0x0000040000400000L}); public static final BitSet FOLLOW_22_in_ruleXTypeLiteral22330 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXThrowExpression_in_entryRuleXThrowExpression22366 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXThrowExpression22376 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_117_in_ruleXThrowExpression22422 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXThrowExpression22443 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXReturnExpression_in_entryRuleXReturnExpression22479 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXReturnExpression22489 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_45_in_ruleXReturnExpression22535 = new BitSet(new long[]{0x0112A460001083B2L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXReturnExpression22770 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXTryCatchFinallyExpression_in_entryRuleXTryCatchFinallyExpression22807 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXTryCatchFinallyExpression22817 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_118_in_ruleXTryCatchFinallyExpression22863 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXTryCatchFinallyExpression22884 = new BitSet(new long[]{0x0000000000000000L,0x0280000000000000L}); public static final BitSet FOLLOW_ruleXCatchClause_in_ruleXTryCatchFinallyExpression22914 = new BitSet(new long[]{0x0000000000000002L,0x0280000000000000L}); public static final BitSet FOLLOW_119_in_ruleXTryCatchFinallyExpression22936 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXTryCatchFinallyExpression22958 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_119_in_ruleXTryCatchFinallyExpression22980 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXTryCatchFinallyExpression23001 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXSynchronizedExpression_in_entryRuleXSynchronizedExpression23039 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXSynchronizedExpression23049 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_120_in_ruleXSynchronizedExpression23113 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleXSynchronizedExpression23125 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXSynchronizedExpression23148 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleXSynchronizedExpression23160 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXSynchronizedExpression23181 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXCatchClause_in_entryRuleXCatchClause23217 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXCatchClause23227 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_121_in_ruleXCatchClause23272 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_ruleXCatchClause23285 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleFullJvmFormalParameter_in_ruleXCatchClause23306 = new BitSet(new long[]{0x0000000000400000L}); public static final BitSet FOLLOW_22_in_ruleXCatchClause23318 = new BitSet(new long[]{0x0112A460001083B0L,0x017FE102000010C2L}); public static final BitSet FOLLOW_ruleXExpression_in_ruleXCatchClause23339 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQualifiedName_in_entryRuleQualifiedName23376 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedName23387 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleValidID_in_ruleQualifiedName23434 = new BitSet(new long[]{0x0400000000000002L}); public static final BitSet FOLLOW_58_in_ruleQualifiedName23462 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleQualifiedName23485 = new BitSet(new long[]{0x0400000000000002L}); public static final BitSet FOLLOW_ruleNumber_in_entryRuleNumber23539 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleNumber23550 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_HEX_in_ruleNumber23594 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_INT_in_ruleNumber23622 = new BitSet(new long[]{0x0400000000000002L}); public static final BitSet FOLLOW_RULE_DECIMAL_in_ruleNumber23648 = new BitSet(new long[]{0x0400000000000002L}); public static final BitSet FOLLOW_58_in_ruleNumber23668 = new BitSet(new long[]{0x0000000000000220L}); public static final BitSet FOLLOW_RULE_INT_in_ruleNumber23684 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_DECIMAL_in_ruleNumber23710 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_entryRuleJvmTypeReference23765 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJvmTypeReference23775 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmParameterizedTypeReference_in_ruleJvmTypeReference23823 = new BitSet(new long[]{0x0000040000000002L}); public static final BitSet FOLLOW_ruleArrayBrackets_in_ruleJvmTypeReference23859 = new BitSet(new long[]{0x0000040000000002L}); public static final BitSet FOLLOW_ruleXFunctionTypeRef_in_ruleJvmTypeReference23890 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleArrayBrackets_in_entryRuleArrayBrackets23926 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleArrayBrackets23937 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_ruleArrayBrackets23975 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_43_in_ruleArrayBrackets23988 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXFunctionTypeRef_in_entryRuleXFunctionTypeRef24028 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXFunctionTypeRef24038 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_ruleXFunctionTypeRef24076 = new BitSet(new long[]{0x0000000000500010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleXFunctionTypeRef24098 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_21_in_ruleXFunctionTypeRef24111 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleXFunctionTypeRef24132 = new BitSet(new long[]{0x0000000000600000L}); public static final BitSet FOLLOW_22_in_ruleXFunctionTypeRef24148 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L}); public static final BitSet FOLLOW_93_in_ruleXFunctionTypeRef24162 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleXFunctionTypeRef24183 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmParameterizedTypeReference_in_entryRuleJvmParameterizedTypeReference24219 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJvmParameterizedTypeReference24229 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleJvmParameterizedTypeReference24277 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleJvmParameterizedTypeReference24298 = new BitSet(new long[]{0x0000000000100010L,0x0400000020000000L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_ruleJvmParameterizedTypeReference24320 = new BitSet(new long[]{0x8000000000200000L}); public static final BitSet FOLLOW_21_in_ruleJvmParameterizedTypeReference24333 = new BitSet(new long[]{0x0000000000100010L,0x0400000020000000L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_ruleJvmParameterizedTypeReference24354 = new BitSet(new long[]{0x8000000000200000L}); public static final BitSet FOLLOW_63_in_ruleJvmParameterizedTypeReference24368 = new BitSet(new long[]{0x0400000000000002L}); public static final BitSet FOLLOW_58_in_ruleJvmParameterizedTypeReference24404 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_ruleJvmParameterizedTypeReference24429 = new BitSet(new long[]{0x0400000000000002L,0x0000000000000002L}); public static final BitSet FOLLOW_65_in_ruleJvmParameterizedTypeReference24450 = new BitSet(new long[]{0x0000000000100010L,0x0400000020000000L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_ruleJvmParameterizedTypeReference24472 = new BitSet(new long[]{0x8000000000200000L}); public static final BitSet FOLLOW_21_in_ruleJvmParameterizedTypeReference24485 = new BitSet(new long[]{0x0000000000100010L,0x0400000020000000L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_ruleJvmParameterizedTypeReference24506 = new BitSet(new long[]{0x8000000000200000L}); public static final BitSet FOLLOW_63_in_ruleJvmParameterizedTypeReference24520 = new BitSet(new long[]{0x0400000000000002L}); public static final BitSet FOLLOW_ruleJvmArgumentTypeReference_in_entryRuleJvmArgumentTypeReference24562 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJvmArgumentTypeReference24572 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleJvmArgumentTypeReference24619 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmWildcardTypeReference_in_ruleJvmArgumentTypeReference24646 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmWildcardTypeReference_in_entryRuleJvmWildcardTypeReference24681 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJvmWildcardTypeReference24691 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_122_in_ruleJvmWildcardTypeReference24737 = new BitSet(new long[]{0x0000000000000002L,0x0002200000000000L}); public static final BitSet FOLLOW_ruleJvmUpperBound_in_ruleJvmWildcardTypeReference24760 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_ruleJvmUpperBoundAnded_in_ruleJvmWildcardTypeReference24781 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_ruleJvmLowerBound_in_ruleJvmWildcardTypeReference24811 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_ruleJvmLowerBoundAnded_in_ruleJvmWildcardTypeReference24832 = new BitSet(new long[]{0x0000000000000002L,0x0800000000000000L}); public static final BitSet FOLLOW_ruleJvmUpperBound_in_entryRuleJvmUpperBound24872 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJvmUpperBound24882 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_109_in_ruleJvmUpperBound24919 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleJvmUpperBound24940 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmUpperBoundAnded_in_entryRuleJvmUpperBoundAnded24976 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJvmUpperBoundAnded24986 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_123_in_ruleJvmUpperBoundAnded25023 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleJvmUpperBoundAnded25044 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmLowerBound_in_entryRuleJvmLowerBound25080 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJvmLowerBound25090 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_113_in_ruleJvmLowerBound25127 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleJvmLowerBound25148 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmLowerBoundAnded_in_entryRuleJvmLowerBoundAnded25184 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleJvmLowerBoundAnded25194 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_123_in_ruleJvmLowerBoundAnded25231 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_ruleJvmLowerBoundAnded25252 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_entryRuleQualifiedNameWithWildcard25291 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameWithWildcard25302 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleQualifiedNameWithWildcard25349 = new BitSet(new long[]{0x0400000000000000L}); public static final BitSet FOLLOW_58_in_ruleQualifiedNameWithWildcard25367 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); public static final BitSet FOLLOW_72_in_ruleQualifiedNameWithWildcard25380 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleValidID_in_entryRuleValidID25421 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleValidID25432 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_RULE_ID_in_ruleValidID25471 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleXImportDeclaration_in_entryRuleXImportDeclaration25517 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleXImportDeclaration25527 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_111_in_ruleXImportDeclaration25564 = new BitSet(new long[]{0x0000000000000010L,0x0000400000000000L}); } private static class FollowSets001 { public static final BitSet FOLLOW_110_in_ruleXImportDeclaration25584 = new BitSet(new long[]{0x0000000000000010L,0x0001000000000000L}); public static final BitSet FOLLOW_112_in_ruleXImportDeclaration25615 = new BitSet(new long[]{0x0000000000000010L,0x0001000000000000L}); public static final BitSet FOLLOW_ruleQualifiedNameInStaticImport_in_ruleXImportDeclaration25652 = new BitSet(new long[]{0x0000000000000010L,0x0000000000000100L}); public static final BitSet FOLLOW_72_in_ruleXImportDeclaration25671 = new BitSet(new long[]{0x0000100000000002L}); public static final BitSet FOLLOW_ruleValidID_in_ruleXImportDeclaration25711 = new BitSet(new long[]{0x0000100000000002L}); public static final BitSet FOLLOW_ruleQualifiedName_in_ruleXImportDeclaration25742 = new BitSet(new long[]{0x0000100000000002L}); public static final BitSet FOLLOW_ruleQualifiedNameWithWildcard_in_ruleXImportDeclaration25769 = new BitSet(new long[]{0x0000100000000002L}); public static final BitSet FOLLOW_44_in_ruleXImportDeclaration25783 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleQualifiedNameInStaticImport_in_entryRuleQualifiedNameInStaticImport25822 = new BitSet(new long[]{0x0000000000000000L}); public static final BitSet FOLLOW_EOF_in_entryRuleQualifiedNameInStaticImport25833 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleValidID_in_ruleQualifiedNameInStaticImport25880 = new BitSet(new long[]{0x0400000000000000L}); public static final BitSet FOLLOW_58_in_ruleQualifiedNameInStaticImport25898 = new BitSet(new long[]{0x0000000000000012L}); public static final BitSet FOLLOW_21_in_synpred1_InternalIoT6962 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_59_in_synpred2_InternalIoT10168 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpMultiAssign_in_synpred3_InternalIoT11862 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpOr_in_synpred4_InternalIoT12385 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpAnd_in_synpred5_InternalIoT12644 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpEquality_in_synpred6_InternalIoT12903 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_90_in_synpred7_InternalIoT13217 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpCompare_in_synpred8_InternalIoT13288 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpOther_in_synpred9_InternalIoT13622 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_63_in_synpred10_InternalIoT13891 = new BitSet(new long[]{0x8000000000000000L}); public static final BitSet FOLLOW_63_in_synpred10_InternalIoT13896 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_65_in_synpred11_InternalIoT13978 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L}); public static final BitSet FOLLOW_65_in_synpred11_InternalIoT13983 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpAdd_in_synpred12_InternalIoT14205 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpMulti_in_synpred13_InternalIoT14485 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_98_in_synpred14_InternalIoT15079 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleOpPostfix_in_synpred15_InternalIoT15236 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_58_in_synpred16_InternalIoT15491 = new BitSet(new long[]{0x0000000000000010L,0x0001E00000000000L}); public static final BitSet FOLLOW_101_in_synpred16_InternalIoT15505 = new BitSet(new long[]{0x0000000000000010L,0x0001E00000000000L}); public static final BitSet FOLLOW_ruleFeatureCallID_in_synpred16_InternalIoT15521 = new BitSet(new long[]{0x0000000800000000L}); public static final BitSet FOLLOW_ruleOpSingleAssign_in_synpred16_InternalIoT15527 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_58_in_synpred17_InternalIoT15669 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_102_in_synpred17_InternalIoT15683 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_101_in_synpred17_InternalIoT15703 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_synpred18_InternalIoT15930 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred19_InternalIoT15982 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_21_in_synpred19_InternalIoT15989 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred19_InternalIoT15996 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_103_in_synpred19_InternalIoT16010 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_synpred20_InternalIoT16130 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_120_in_synpred21_InternalIoT16319 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_synpred21_InternalIoT16323 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_56_in_synpred22_InternalIoT16445 = new BitSet(new long[]{0x0000000000100000L}); public static final BitSet FOLLOW_20_in_synpred22_InternalIoT16449 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred22_InternalIoT16456 = new BitSet(new long[]{0x0800000000000000L}); public static final BitSet FOLLOW_59_in_synpred22_InternalIoT16462 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_synpred23_InternalIoT16784 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred25_InternalIoT17534 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_21_in_synpred25_InternalIoT17541 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred25_InternalIoT17548 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_103_in_synpred25_InternalIoT17562 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_54_in_synpred27_InternalIoT18345 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_synpred28_InternalIoT18484 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred28_InternalIoT18491 = new BitSet(new long[]{0x0800000000000000L}); public static final BitSet FOLLOW_59_in_synpred28_InternalIoT18497 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred29_InternalIoT18599 = new BitSet(new long[]{0x0800000000000000L}); public static final BitSet FOLLOW_59_in_synpred29_InternalIoT18605 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmTypeReference_in_synpred31_InternalIoT20233 = new BitSet(new long[]{0x0000000000000010L}); public static final BitSet FOLLOW_ruleValidID_in_synpred31_InternalIoT20242 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_synpred32_InternalIoT20780 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred33_InternalIoT20832 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_21_in_synpred33_InternalIoT20839 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred33_InternalIoT20846 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_103_in_synpred33_InternalIoT20860 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_synpred34_InternalIoT20980 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_65_in_synpred35_InternalIoT21429 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_20_in_synpred36_InternalIoT21525 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred37_InternalIoT21577 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_21_in_synpred37_InternalIoT21584 = new BitSet(new long[]{0x0000000000100010L,0x0000000020000000L}); public static final BitSet FOLLOW_ruleJvmFormalParameter_in_synpred37_InternalIoT21591 = new BitSet(new long[]{0x0000000000200000L,0x0000008000000000L}); public static final BitSet FOLLOW_103_in_synpred37_InternalIoT21605 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_42_in_synpred38_InternalIoT21725 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_synpred39_InternalIoT22545 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_121_in_synpred40_InternalIoT22898 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_119_in_synpred41_InternalIoT22928 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_58_in_synpred44_InternalIoT23453 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_ruleArrayBrackets_in_synpred45_InternalIoT23838 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_65_in_synpred46_InternalIoT24290 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_58_in_synpred47_InternalIoT24385 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_65_in_synpred48_InternalIoT24442 = new BitSet(new long[]{0x0000000000000002L}); } }