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});
}
}