package fr.inria.diverse.iot2.parser.antlr.internal;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.common.util.Enumerator;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import fr.inria.diverse.iot2.services.IoT2GrammarAccess;
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 InternalIoT2Parser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'system'", "'{'", "'}'", "'sensor'", "'provides'", "'actuator'", "'board'", "'['", "']'", "'sketch'", "'true'", "'false'", "'operation'", "'('", "','", "')'", "'long'", "'double'", "'unsigned'", "'short'", "';'", "'return'", "'break'", "'do'", "'end'", "'while'", "'repeat'", "'until'", "'if'", "'then'", "'else'", "'elseif'", "'for'", "'='", "'in'", "'function'", "'.'", "':'", "'local'", "'or'", "'and'", "'>'", "'>='", "'<'", "'<='", "'=='", "'~='", "'..'", "'+'", "'-'", "'*'", "'/'", "'%'", "'not'", "'#'", "'^'", "'nil'", "'...'", "'activity'", "'nodes'", "'edges'", "'action'", "'comp'", "'out'", "'service'", "'initial'", "'final'", "'fork'", "'join'", "'merge'", "'decision'", "'int'", "'bool'", "'flow'", "'from'", "'to'", "'RaspberryPi'", "'Arduino'", "'BeagleBoard'", "'inout'", "'float'", "'char'", "'wchar'", "'string'", "'wstring'", "'boolean'", "'octet'", "'any'", "'!'", "'&'", "'|'"
};
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=6;
public static final int T__66=66;
public static final int RULE_ML_COMMENT=7;
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__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__11=11;
public static final int T__99=99;
public static final int T__12=12;
public static final int T__13=13;
public static final int T__14=14;
public static final int T__95=95;
public static final int T__96=96;
public static final int T__97=97;
public static final int T__98=98;
public static final int T__26=26;
public static final int T__27=27;
public static final int T__28=28;
public static final int T__29=29;
public static final int T__22=22;
public static final int T__23=23;
public static final int T__24=24;
public static final int T__25=25;
public static final int T__20=20;
public static final int T__21=21;
public static final int T__70=70;
public static final int T__71=71;
public static final int T__72=72;
public static final int RULE_STRING=5;
public static final int RULE_SL_COMMENT=8;
public static final int T__77=77;
public static final int T__78=78;
public static final int T__79=79;
public static final int T__73=73;
public static final int EOF=-1;
public static final int T__74=74;
public static final int T__75=75;
public static final int T__76=76;
public static final int T__80=80;
public static final int T__81=81;
public static final int T__82=82;
public static final int T__83=83;
public static final int RULE_WS=9;
public static final int RULE_ANY_OTHER=10;
public static final int T__88=88;
public static final int T__89=89;
public static final int T__84=84;
public static final int T__85=85;
public static final int T__86=86;
public static final int T__87=87;
// delegates
// delegators
public InternalIoT2Parser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalIoT2Parser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalIoT2Parser.tokenNames; }
public String getGrammarFileName() { return "../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g"; }
private IoT2GrammarAccess grammarAccess;
public InternalIoT2Parser(TokenStream input, IoT2GrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "System";
}
@Override
protected IoT2GrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleSystem"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:68: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:69:2: (iv_ruleSystem= ruleSystem EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:70: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:77:1: ruleSystem returns [EObject current=null] : (otherlv_0= 'system' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( (lv_components_3_0= ruleHWComponent ) ) ( (lv_components_4_0= ruleHWComponent ) )* )? ( ( (lv_boards_5_0= ruleBoard ) ) ( (lv_boards_6_0= ruleBoard ) )* )? ( (lv_sketch_7_0= ruleSketch ) )? otherlv_8= '}' ) ;
public final EObject ruleSystem() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token otherlv_8=null;
EObject lv_components_3_0 = null;
EObject lv_components_4_0 = null;
EObject lv_boards_5_0 = null;
EObject lv_boards_6_0 = null;
EObject lv_sketch_7_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:80:28: ( (otherlv_0= 'system' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( (lv_components_3_0= ruleHWComponent ) ) ( (lv_components_4_0= ruleHWComponent ) )* )? ( ( (lv_boards_5_0= ruleBoard ) ) ( (lv_boards_6_0= ruleBoard ) )* )? ( (lv_sketch_7_0= ruleSketch ) )? otherlv_8= '}' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:81:1: (otherlv_0= 'system' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( (lv_components_3_0= ruleHWComponent ) ) ( (lv_components_4_0= ruleHWComponent ) )* )? ( ( (lv_boards_5_0= ruleBoard ) ) ( (lv_boards_6_0= ruleBoard ) )* )? ( (lv_sketch_7_0= ruleSketch ) )? otherlv_8= '}' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:81:1: (otherlv_0= 'system' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( (lv_components_3_0= ruleHWComponent ) ) ( (lv_components_4_0= ruleHWComponent ) )* )? ( ( (lv_boards_5_0= ruleBoard ) ) ( (lv_boards_6_0= ruleBoard ) )* )? ( (lv_sketch_7_0= ruleSketch ) )? otherlv_8= '}' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:81:3: otherlv_0= 'system' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( ( (lv_components_3_0= ruleHWComponent ) ) ( (lv_components_4_0= ruleHWComponent ) )* )? ( ( (lv_boards_5_0= ruleBoard ) ) ( (lv_boards_6_0= ruleBoard ) )* )? ( (lv_sketch_7_0= ruleSketch ) )? otherlv_8= '}'
{
otherlv_0=(Token)match(input,11,FollowSets000.FOLLOW_11_in_ruleSystem122); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getSystemAccess().getSystemKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:85:1: ( (lv_name_1_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:86:1: (lv_name_1_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:86:1: (lv_name_1_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:87:3: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleSystem139); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getSystemAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"ID");
}
}
}
otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSystem156); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getSystemAccess().getLeftCurlyBracketKeyword_2());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:107:1: ( ( (lv_components_3_0= ruleHWComponent ) ) ( (lv_components_4_0= ruleHWComponent ) )* )?
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==14||LA2_0==16) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:107:2: ( (lv_components_3_0= ruleHWComponent ) ) ( (lv_components_4_0= ruleHWComponent ) )*
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:107:2: ( (lv_components_3_0= ruleHWComponent ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:108:1: (lv_components_3_0= ruleHWComponent )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:108:1: (lv_components_3_0= ruleHWComponent )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:109:3: lv_components_3_0= ruleHWComponent
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemAccess().getComponentsHWComponentParserRuleCall_3_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleHWComponent_in_ruleSystem178);
lv_components_3_0=ruleHWComponent();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRule());
}
add(
current,
"components",
lv_components_3_0,
"HWComponent");
afterParserOrEnumRuleCall();
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:125:2: ( (lv_components_4_0= ruleHWComponent ) )*
loop1:
do {
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==14||LA1_0==16) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:126:1: (lv_components_4_0= ruleHWComponent )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:126:1: (lv_components_4_0= ruleHWComponent )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:127:3: lv_components_4_0= ruleHWComponent
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemAccess().getComponentsHWComponentParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleHWComponent_in_ruleSystem199);
lv_components_4_0=ruleHWComponent();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRule());
}
add(
current,
"components",
lv_components_4_0,
"HWComponent");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop1;
}
} while (true);
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:143:5: ( ( (lv_boards_5_0= ruleBoard ) ) ( (lv_boards_6_0= ruleBoard ) )* )?
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==17) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:143:6: ( (lv_boards_5_0= ruleBoard ) ) ( (lv_boards_6_0= ruleBoard ) )*
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:143:6: ( (lv_boards_5_0= ruleBoard ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:144:1: (lv_boards_5_0= ruleBoard )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:144:1: (lv_boards_5_0= ruleBoard )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:145:3: lv_boards_5_0= ruleBoard
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemAccess().getBoardsBoardParserRuleCall_4_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBoard_in_ruleSystem224);
lv_boards_5_0=ruleBoard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRule());
}
add(
current,
"boards",
lv_boards_5_0,
"Board");
afterParserOrEnumRuleCall();
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:161:2: ( (lv_boards_6_0= ruleBoard ) )*
loop3:
do {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==17) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:162:1: (lv_boards_6_0= ruleBoard )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:162:1: (lv_boards_6_0= ruleBoard )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:163:3: lv_boards_6_0= ruleBoard
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemAccess().getBoardsBoardParserRuleCall_4_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBoard_in_ruleSystem245);
lv_boards_6_0=ruleBoard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRule());
}
add(
current,
"boards",
lv_boards_6_0,
"Board");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop3;
}
} while (true);
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:179:5: ( (lv_sketch_7_0= ruleSketch ) )?
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==20) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:180:1: (lv_sketch_7_0= ruleSketch )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:180:1: (lv_sketch_7_0= ruleSketch )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:181:3: lv_sketch_7_0= ruleSketch
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemAccess().getSketchSketchParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_ruleSketch_in_ruleSystem269);
lv_sketch_7_0=ruleSketch();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRule());
}
set(
current,
"sketch",
lv_sketch_7_0,
"Sketch");
afterParserOrEnumRuleCall();
}
}
}
break;
}
otherlv_8=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleSystem282); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getSystemAccess().getRightCurlyBracketKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSystem"
// $ANTLR start "entryRuleHWComponent"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:211:1: entryRuleHWComponent returns [EObject current=null] : iv_ruleHWComponent= ruleHWComponent EOF ;
public final EObject entryRuleHWComponent() throws RecognitionException {
EObject current = null;
EObject iv_ruleHWComponent = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:212:2: (iv_ruleHWComponent= ruleHWComponent EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:213:2: iv_ruleHWComponent= ruleHWComponent EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getHWComponentRule());
}
pushFollow(FollowSets000.FOLLOW_ruleHWComponent_in_entryRuleHWComponent320);
iv_ruleHWComponent=ruleHWComponent();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleHWComponent;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleHWComponent330); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleHWComponent"
// $ANTLR start "ruleHWComponent"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:220:1: ruleHWComponent returns [EObject current=null] : (this_Sensor_0= ruleSensor | this_Actuator_1= ruleActuator ) ;
public final EObject ruleHWComponent() throws RecognitionException {
EObject current = null;
EObject this_Sensor_0 = null;
EObject this_Actuator_1 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:223:28: ( (this_Sensor_0= ruleSensor | this_Actuator_1= ruleActuator ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:224:1: (this_Sensor_0= ruleSensor | this_Actuator_1= ruleActuator )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:224:1: (this_Sensor_0= ruleSensor | this_Actuator_1= ruleActuator )
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==14) ) {
alt6=1;
}
else if ( (LA6_0==16) ) {
alt6=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:225:5: this_Sensor_0= ruleSensor
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getHWComponentAccess().getSensorParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleSensor_in_ruleHWComponent377);
this_Sensor_0=ruleSensor();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_Sensor_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:235:5: this_Actuator_1= ruleActuator
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getHWComponentAccess().getActuatorParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_ruleActuator_in_ruleHWComponent404);
this_Actuator_1=ruleActuator();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_Actuator_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleHWComponent"
// $ANTLR start "entryRuleSensor"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:251:1: entryRuleSensor returns [EObject current=null] : iv_ruleSensor= ruleSensor EOF ;
public final EObject entryRuleSensor() throws RecognitionException {
EObject current = null;
EObject iv_ruleSensor = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:252:2: (iv_ruleSensor= ruleSensor EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:253:2: iv_ruleSensor= ruleSensor EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSensorRule());
}
pushFollow(FollowSets000.FOLLOW_ruleSensor_in_entryRuleSensor439);
iv_ruleSensor=ruleSensor();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSensor;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSensor449); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSensor"
// $ANTLR start "ruleSensor"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:260:1: ruleSensor returns [EObject current=null] : (otherlv_0= 'sensor' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )? ) ;
public final EObject ruleSensor() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_services_4_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:263:28: ( (otherlv_0= 'sensor' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:264:1: (otherlv_0= 'sensor' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:264:1: (otherlv_0= 'sensor' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:264:3: otherlv_0= 'sensor' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )?
{
otherlv_0=(Token)match(input,14,FollowSets000.FOLLOW_14_in_ruleSensor486); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getSensorAccess().getSensorKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:268:1: ( (lv_name_1_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:269:1: (lv_name_1_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:269:1: (lv_name_1_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:270:3: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleSensor503); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getSensorAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSensorRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:286:2: (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )?
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==12) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:286:4: otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}'
{
otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSensor521); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getSensorAccess().getLeftCurlyBracketKeyword_2_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:290:1: (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )*
loop7:
do {
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==15) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:290:3: otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) )
{
otherlv_3=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleSensor534); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getSensorAccess().getProvidesKeyword_2_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:294:1: ( (lv_services_4_0= ruleOperationDef ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:295:1: (lv_services_4_0= ruleOperationDef )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:295:1: (lv_services_4_0= ruleOperationDef )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:296:3: lv_services_4_0= ruleOperationDef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSensorAccess().getServicesOperationDefParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleOperationDef_in_ruleSensor555);
lv_services_4_0=ruleOperationDef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSensorRule());
}
add(
current,
"services",
lv_services_4_0,
"OperationDef");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop7;
}
} while (true);
otherlv_5=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleSensor569); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getSensorAccess().getRightCurlyBracketKeyword_2_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSensor"
// $ANTLR start "entryRuleActuator"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:324:1: entryRuleActuator returns [EObject current=null] : iv_ruleActuator= ruleActuator EOF ;
public final EObject entryRuleActuator() throws RecognitionException {
EObject current = null;
EObject iv_ruleActuator = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:325:2: (iv_ruleActuator= ruleActuator EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:326:2: iv_ruleActuator= ruleActuator EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActuatorRule());
}
pushFollow(FollowSets000.FOLLOW_ruleActuator_in_entryRuleActuator607);
iv_ruleActuator=ruleActuator();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleActuator;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActuator617); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleActuator"
// $ANTLR start "ruleActuator"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:333:1: ruleActuator returns [EObject current=null] : (otherlv_0= 'actuator' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )? ) ;
public final EObject ruleActuator() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_services_4_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:336:28: ( (otherlv_0= 'actuator' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:337:1: (otherlv_0= 'actuator' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:337:1: (otherlv_0= 'actuator' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:337:3: otherlv_0= 'actuator' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )?
{
otherlv_0=(Token)match(input,16,FollowSets000.FOLLOW_16_in_ruleActuator654); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getActuatorAccess().getActuatorKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:341:1: ( (lv_name_1_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:342:1: (lv_name_1_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:342:1: (lv_name_1_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:343:3: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleActuator671); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getActuatorAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getActuatorRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:359:2: (otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}' )?
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==12) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:359:4: otherlv_2= '{' (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )* otherlv_5= '}'
{
otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleActuator689); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getActuatorAccess().getLeftCurlyBracketKeyword_2_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:363:1: (otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) ) )*
loop9:
do {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==15) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:363:3: otherlv_3= 'provides' ( (lv_services_4_0= ruleOperationDef ) )
{
otherlv_3=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleActuator702); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getActuatorAccess().getProvidesKeyword_2_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:367:1: ( (lv_services_4_0= ruleOperationDef ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:368:1: (lv_services_4_0= ruleOperationDef )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:368:1: (lv_services_4_0= ruleOperationDef )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:369:3: lv_services_4_0= ruleOperationDef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActuatorAccess().getServicesOperationDefParserRuleCall_2_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleOperationDef_in_ruleActuator723);
lv_services_4_0=ruleOperationDef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getActuatorRule());
}
add(
current,
"services",
lv_services_4_0,
"OperationDef");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop9;
}
} while (true);
otherlv_5=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleActuator737); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getActuatorAccess().getRightCurlyBracketKeyword_2_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleActuator"
// $ANTLR start "entryRuleBoard"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:397:1: entryRuleBoard returns [EObject current=null] : iv_ruleBoard= ruleBoard EOF ;
public final EObject entryRuleBoard() throws RecognitionException {
EObject current = null;
EObject iv_ruleBoard = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:398:2: (iv_ruleBoard= ruleBoard EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:399:2: iv_ruleBoard= ruleBoard EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBoardRule());
}
pushFollow(FollowSets000.FOLLOW_ruleBoard_in_entryRuleBoard775);
iv_ruleBoard=ruleBoard();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBoard;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBoard785); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBoard"
// $ANTLR start "ruleBoard"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:406:1: ruleBoard returns [EObject current=null] : ( () otherlv_1= 'board' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '[' ( (lv_type_4_0= ruleBoardType ) ) otherlv_5= ']' (otherlv_6= '{' (otherlv_7= 'provides' ( (otherlv_8= RULE_ID ) ) )* otherlv_9= '}' )? ) ;
public final EObject ruleBoard() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_name_2_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_6=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_9=null;
Enumerator lv_type_4_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:409:28: ( ( () otherlv_1= 'board' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '[' ( (lv_type_4_0= ruleBoardType ) ) otherlv_5= ']' (otherlv_6= '{' (otherlv_7= 'provides' ( (otherlv_8= RULE_ID ) ) )* otherlv_9= '}' )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:410:1: ( () otherlv_1= 'board' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '[' ( (lv_type_4_0= ruleBoardType ) ) otherlv_5= ']' (otherlv_6= '{' (otherlv_7= 'provides' ( (otherlv_8= RULE_ID ) ) )* otherlv_9= '}' )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:410:1: ( () otherlv_1= 'board' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '[' ( (lv_type_4_0= ruleBoardType ) ) otherlv_5= ']' (otherlv_6= '{' (otherlv_7= 'provides' ( (otherlv_8= RULE_ID ) ) )* otherlv_9= '}' )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:410:2: () otherlv_1= 'board' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '[' ( (lv_type_4_0= ruleBoardType ) ) otherlv_5= ']' (otherlv_6= '{' (otherlv_7= 'provides' ( (otherlv_8= RULE_ID ) ) )* otherlv_9= '}' )?
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:410:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:411:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getBoardAccess().getBoardAction_0(),
current);
}
}
otherlv_1=(Token)match(input,17,FollowSets000.FOLLOW_17_in_ruleBoard831); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getBoardAccess().getBoardKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:420:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:421:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:421:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:422:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleBoard848); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getBoardAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBoardRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
otherlv_3=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleBoard865); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getBoardAccess().getLeftSquareBracketKeyword_3());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:442:1: ( (lv_type_4_0= ruleBoardType ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:443:1: (lv_type_4_0= ruleBoardType )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:443:1: (lv_type_4_0= ruleBoardType )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:444:3: lv_type_4_0= ruleBoardType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBoardAccess().getTypeBoardTypeEnumRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBoardType_in_ruleBoard886);
lv_type_4_0=ruleBoardType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getBoardRule());
}
set(
current,
"type",
lv_type_4_0,
"BoardType");
afterParserOrEnumRuleCall();
}
}
}
otherlv_5=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleBoard898); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getBoardAccess().getRightSquareBracketKeyword_5());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:464:1: (otherlv_6= '{' (otherlv_7= 'provides' ( (otherlv_8= RULE_ID ) ) )* otherlv_9= '}' )?
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==12) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:464:3: otherlv_6= '{' (otherlv_7= 'provides' ( (otherlv_8= RULE_ID ) ) )* otherlv_9= '}'
{
otherlv_6=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleBoard911); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getBoardAccess().getLeftCurlyBracketKeyword_6_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:468:1: (otherlv_7= 'provides' ( (otherlv_8= RULE_ID ) ) )*
loop11:
do {
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==15) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:468:3: otherlv_7= 'provides' ( (otherlv_8= RULE_ID ) )
{
otherlv_7=(Token)match(input,15,FollowSets000.FOLLOW_15_in_ruleBoard924); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getBoardAccess().getProvidesKeyword_6_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:472:1: ( (otherlv_8= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:473:1: (otherlv_8= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:473:1: (otherlv_8= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:474:3: otherlv_8= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBoardRule());
}
}
otherlv_8=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleBoard944); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getBoardAccess().getComponentsHWComponentCrossReference_6_1_1_0());
}
}
}
}
break;
default :
break loop11;
}
} while (true);
otherlv_9=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleBoard958); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getBoardAccess().getRightCurlyBracketKeyword_6_2());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBoard"
// $ANTLR start "entryRuleSketch"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:497:1: entryRuleSketch returns [EObject current=null] : iv_ruleSketch= ruleSketch EOF ;
public final EObject entryRuleSketch() throws RecognitionException {
EObject current = null;
EObject iv_ruleSketch = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:498:2: (iv_ruleSketch= ruleSketch EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:499:2: iv_ruleSketch= ruleSketch EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSketchRule());
}
pushFollow(FollowSets000.FOLLOW_ruleSketch_in_entryRuleSketch996);
iv_ruleSketch=ruleSketch();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSketch;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSketch1006); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSketch"
// $ANTLR start "ruleSketch"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:506:1: ruleSketch returns [EObject current=null] : ( () otherlv_1= 'sketch' otherlv_2= '{' ( (lv_activity_3_0= ruleActivity ) ) otherlv_4= '}' ) ;
public final EObject ruleSketch() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject lv_activity_3_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:509:28: ( ( () otherlv_1= 'sketch' otherlv_2= '{' ( (lv_activity_3_0= ruleActivity ) ) otherlv_4= '}' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:510:1: ( () otherlv_1= 'sketch' otherlv_2= '{' ( (lv_activity_3_0= ruleActivity ) ) otherlv_4= '}' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:510:1: ( () otherlv_1= 'sketch' otherlv_2= '{' ( (lv_activity_3_0= ruleActivity ) ) otherlv_4= '}' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:510:2: () otherlv_1= 'sketch' otherlv_2= '{' ( (lv_activity_3_0= ruleActivity ) ) otherlv_4= '}'
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:510:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:511:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getSketchAccess().getSketchAction_0(),
current);
}
}
otherlv_1=(Token)match(input,20,FollowSets000.FOLLOW_20_in_ruleSketch1052); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getSketchAccess().getSketchKeyword_1());
}
otherlv_2=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleSketch1064); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getSketchAccess().getLeftCurlyBracketKeyword_2());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:524:1: ( (lv_activity_3_0= ruleActivity ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:525:1: (lv_activity_3_0= ruleActivity )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:525:1: (lv_activity_3_0= ruleActivity )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:526:3: lv_activity_3_0= ruleActivity
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSketchAccess().getActivityActivityParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_ruleActivity_in_ruleSketch1085);
lv_activity_3_0=ruleActivity();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSketchRule());
}
set(
current,
"activity",
lv_activity_3_0,
"Activity");
afterParserOrEnumRuleCall();
}
}
}
otherlv_4=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleSketch1097); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getSketchAccess().getRightCurlyBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSketch"
// $ANTLR start "entryRuleEBoolean"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:554: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:555:2: (iv_ruleEBoolean= ruleEBoolean EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:556:2: iv_ruleEBoolean= ruleEBoolean EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getEBooleanRule());
}
pushFollow(FollowSets000.FOLLOW_ruleEBoolean_in_entryRuleEBoolean1134);
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_entryRuleEBoolean1145); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEBoolean"
// $ANTLR start "ruleEBoolean"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:563: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:566:28: ( (kw= 'true' | kw= 'false' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:567:1: (kw= 'true' | kw= 'false' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:567:1: (kw= 'true' | kw= 'false' )
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==21) ) {
alt13=1;
}
else if ( (LA13_0==22) ) {
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:568:2: kw= 'true'
{
kw=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleEBoolean1183); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getEBooleanAccess().getTrueKeyword_0());
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:575:2: kw= 'false'
{
kw=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleEBoolean1202); 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 "entryRuleOperationDef"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:588:1: entryRuleOperationDef returns [EObject current=null] : iv_ruleOperationDef= ruleOperationDef EOF ;
public final EObject entryRuleOperationDef() throws RecognitionException {
EObject current = null;
EObject iv_ruleOperationDef = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:589:2: (iv_ruleOperationDef= ruleOperationDef EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:590:2: iv_ruleOperationDef= ruleOperationDef EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationDefRule());
}
pushFollow(FollowSets000.FOLLOW_ruleOperationDef_in_entryRuleOperationDef1242);
iv_ruleOperationDef=ruleOperationDef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOperationDef;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOperationDef1252); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOperationDef"
// $ANTLR start "ruleOperationDef"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:597:1: ruleOperationDef returns [EObject current=null] : ( () otherlv_1= 'operation' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameterDef ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameterDef ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_lua_9_0= ruleBlock ) ) otherlv_10= '}' ) ;
public final EObject ruleOperationDef() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_name_2_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_10=null;
EObject lv_parameters_4_0 = null;
EObject lv_parameters_6_0 = null;
EObject lv_lua_9_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:600:28: ( ( () otherlv_1= 'operation' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameterDef ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameterDef ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_lua_9_0= ruleBlock ) ) otherlv_10= '}' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:601:1: ( () otherlv_1= 'operation' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameterDef ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameterDef ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_lua_9_0= ruleBlock ) ) otherlv_10= '}' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:601:1: ( () otherlv_1= 'operation' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameterDef ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameterDef ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_lua_9_0= ruleBlock ) ) otherlv_10= '}' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:601:2: () otherlv_1= 'operation' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameterDef ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameterDef ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_lua_9_0= ruleBlock ) ) otherlv_10= '}'
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:601:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:602:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getOperationDefAccess().getOperationDefAction_0(),
current);
}
}
otherlv_1=(Token)match(input,23,FollowSets000.FOLLOW_23_in_ruleOperationDef1298); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getOperationDefAccess().getOperationKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:611:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:612:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:612:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:613:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleOperationDef1315); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getOperationDefAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOperationDefRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
otherlv_3=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleOperationDef1332); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getOperationDefAccess().getLeftParenthesisKeyword_3());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:633:1: ( ( (lv_parameters_4_0= ruleParameterDef ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameterDef ) ) )* )?
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==45||LA15_0==74||LA15_0==90) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:633:2: ( (lv_parameters_4_0= ruleParameterDef ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameterDef ) ) )*
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:633:2: ( (lv_parameters_4_0= ruleParameterDef ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:634:1: (lv_parameters_4_0= ruleParameterDef )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:634:1: (lv_parameters_4_0= ruleParameterDef )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:635:3: lv_parameters_4_0= ruleParameterDef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationDefAccess().getParametersParameterDefParserRuleCall_4_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleParameterDef_in_ruleOperationDef1354);
lv_parameters_4_0=ruleParameterDef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationDefRule());
}
add(
current,
"parameters",
lv_parameters_4_0,
"ParameterDef");
afterParserOrEnumRuleCall();
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:651:2: (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameterDef ) ) )*
loop14:
do {
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==25) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:651:4: otherlv_5= ',' ( (lv_parameters_6_0= ruleParameterDef ) )
{
otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleOperationDef1367); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getOperationDefAccess().getCommaKeyword_4_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:655:1: ( (lv_parameters_6_0= ruleParameterDef ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:656:1: (lv_parameters_6_0= ruleParameterDef )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:656:1: (lv_parameters_6_0= ruleParameterDef )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:657:3: lv_parameters_6_0= ruleParameterDef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationDefAccess().getParametersParameterDefParserRuleCall_4_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleParameterDef_in_ruleOperationDef1388);
lv_parameters_6_0=ruleParameterDef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationDefRule());
}
add(
current,
"parameters",
lv_parameters_6_0,
"ParameterDef");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop14;
}
} while (true);
}
break;
}
otherlv_7=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleOperationDef1404); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getOperationDefAccess().getRightParenthesisKeyword_5());
}
otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleOperationDef1416); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getOperationDefAccess().getLeftCurlyBracketKeyword_6());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:681:1: ( (lv_lua_9_0= ruleBlock ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:682:1: (lv_lua_9_0= ruleBlock )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:682:1: (lv_lua_9_0= ruleBlock )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:683:3: lv_lua_9_0= ruleBlock
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOperationDefAccess().getLuaBlockParserRuleCall_7_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleOperationDef1437);
lv_lua_9_0=ruleBlock();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOperationDefRule());
}
set(
current,
"lua",
lv_lua_9_0,
"Block");
afterParserOrEnumRuleCall();
}
}
}
otherlv_10=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleOperationDef1449); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getOperationDefAccess().getRightCurlyBracketKeyword_8());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOperationDef"
// $ANTLR start "entryRuleParameterDef"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:711:1: entryRuleParameterDef returns [EObject current=null] : iv_ruleParameterDef= ruleParameterDef EOF ;
public final EObject entryRuleParameterDef() throws RecognitionException {
EObject current = null;
EObject iv_ruleParameterDef = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:712:2: (iv_ruleParameterDef= ruleParameterDef EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:713:2: iv_ruleParameterDef= ruleParameterDef EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterDefRule());
}
pushFollow(FollowSets000.FOLLOW_ruleParameterDef_in_entryRuleParameterDef1485);
iv_ruleParameterDef=ruleParameterDef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleParameterDef;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleParameterDef1495); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleParameterDef"
// $ANTLR start "ruleParameterDef"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:720:1: ruleParameterDef returns [EObject current=null] : ( ( (lv_direction_0_0= ruleparam_attribute ) ) ( (lv_containedType_1_0= rulePrimitiveDef ) ) ( (lv_identifier_2_0= RULE_ID ) ) ) ;
public final EObject ruleParameterDef() throws RecognitionException {
EObject current = null;
Token lv_identifier_2_0=null;
Enumerator lv_direction_0_0 = null;
EObject lv_containedType_1_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:723:28: ( ( ( (lv_direction_0_0= ruleparam_attribute ) ) ( (lv_containedType_1_0= rulePrimitiveDef ) ) ( (lv_identifier_2_0= RULE_ID ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:724:1: ( ( (lv_direction_0_0= ruleparam_attribute ) ) ( (lv_containedType_1_0= rulePrimitiveDef ) ) ( (lv_identifier_2_0= RULE_ID ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:724:1: ( ( (lv_direction_0_0= ruleparam_attribute ) ) ( (lv_containedType_1_0= rulePrimitiveDef ) ) ( (lv_identifier_2_0= RULE_ID ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:724:2: ( (lv_direction_0_0= ruleparam_attribute ) ) ( (lv_containedType_1_0= rulePrimitiveDef ) ) ( (lv_identifier_2_0= RULE_ID ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:724:2: ( (lv_direction_0_0= ruleparam_attribute ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:725:1: (lv_direction_0_0= ruleparam_attribute )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:725:1: (lv_direction_0_0= ruleparam_attribute )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:726:3: lv_direction_0_0= ruleparam_attribute
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterDefAccess().getDirectionParam_attributeEnumRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleparam_attribute_in_ruleParameterDef1541);
lv_direction_0_0=ruleparam_attribute();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterDefRule());
}
set(
current,
"direction",
lv_direction_0_0,
"param_attribute");
afterParserOrEnumRuleCall();
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:742:2: ( (lv_containedType_1_0= rulePrimitiveDef ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:743:1: (lv_containedType_1_0= rulePrimitiveDef )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:743:1: (lv_containedType_1_0= rulePrimitiveDef )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:744:3: lv_containedType_1_0= rulePrimitiveDef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getParameterDefAccess().getContainedTypePrimitiveDefParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_rulePrimitiveDef_in_ruleParameterDef1562);
lv_containedType_1_0=rulePrimitiveDef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getParameterDefRule());
}
set(
current,
"containedType",
lv_containedType_1_0,
"PrimitiveDef");
afterParserOrEnumRuleCall();
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:760:2: ( (lv_identifier_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:761:1: (lv_identifier_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:761:1: (lv_identifier_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:762:3: lv_identifier_2_0= RULE_ID
{
lv_identifier_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleParameterDef1579); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_identifier_2_0, grammarAccess.getParameterDefAccess().getIdentifierIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getParameterDefRule());
}
setWithLastConsumed(
current,
"identifier",
lv_identifier_2_0,
"ID");
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleParameterDef"
// $ANTLR start "entryRulePrimitiveDef"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:786:1: entryRulePrimitiveDef returns [EObject current=null] : iv_rulePrimitiveDef= rulePrimitiveDef EOF ;
public final EObject entryRulePrimitiveDef() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimitiveDef = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:787:2: (iv_rulePrimitiveDef= rulePrimitiveDef EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:788:2: iv_rulePrimitiveDef= rulePrimitiveDef EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveDefRule());
}
pushFollow(FollowSets000.FOLLOW_rulePrimitiveDef_in_entryRulePrimitiveDef1620);
iv_rulePrimitiveDef=rulePrimitiveDef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePrimitiveDef;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePrimitiveDef1630); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimitiveDef"
// $ANTLR start "rulePrimitiveDef"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:795:1: rulePrimitiveDef returns [EObject current=null] : (this_integer_type_0= ruleinteger_type | this_floating_pt_type_1= rulefloating_pt_type | this_charstr_type_2= rulecharstr_type | this_other_type_3= ruleother_type ) ;
public final EObject rulePrimitiveDef() throws RecognitionException {
EObject current = null;
EObject this_integer_type_0 = null;
EObject this_floating_pt_type_1 = null;
EObject this_charstr_type_2 = null;
EObject this_other_type_3 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:798:28: ( (this_integer_type_0= ruleinteger_type | this_floating_pt_type_1= rulefloating_pt_type | this_charstr_type_2= rulecharstr_type | this_other_type_3= ruleother_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:799:1: (this_integer_type_0= ruleinteger_type | this_floating_pt_type_1= rulefloating_pt_type | this_charstr_type_2= rulecharstr_type | this_other_type_3= ruleother_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:799:1: (this_integer_type_0= ruleinteger_type | this_floating_pt_type_1= rulefloating_pt_type | this_charstr_type_2= rulecharstr_type | this_other_type_3= ruleother_type )
int alt16=4;
switch ( input.LA(1) ) {
case 29:
case 30:
{
alt16=1;
}
break;
case 27:
{
int LA16_2 = input.LA(2);
if ( (LA16_2==EOF||LA16_2==RULE_ID||LA16_2==27) ) {
alt16=1;
}
else if ( (LA16_2==28) ) {
alt16=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 16, 2, input);
throw nvae;
}
}
break;
case 28:
case 91:
{
alt16=2;
}
break;
case 92:
case 93:
case 94:
case 95:
{
alt16=3;
}
break;
case 96:
case 97:
case 98:
{
alt16=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 16, 0, input);
throw nvae;
}
switch (alt16) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:800:5: this_integer_type_0= ruleinteger_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveDefAccess().getInteger_typeParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleinteger_type_in_rulePrimitiveDef1677);
this_integer_type_0=ruleinteger_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_integer_type_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:810:5: this_floating_pt_type_1= rulefloating_pt_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveDefAccess().getFloating_pt_typeParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_rulefloating_pt_type_in_rulePrimitiveDef1704);
this_floating_pt_type_1=rulefloating_pt_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_floating_pt_type_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:820:5: this_charstr_type_2= rulecharstr_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveDefAccess().getCharstr_typeParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_rulecharstr_type_in_rulePrimitiveDef1731);
this_charstr_type_2=rulecharstr_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_charstr_type_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:830:5: this_other_type_3= ruleother_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPrimitiveDefAccess().getOther_typeParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_ruleother_type_in_rulePrimitiveDef1758);
this_other_type_3=ruleother_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_other_type_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimitiveDef"
// $ANTLR start "entryRulefloating_pt_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:846:1: entryRulefloating_pt_type returns [EObject current=null] : iv_rulefloating_pt_type= rulefloating_pt_type EOF ;
public final EObject entryRulefloating_pt_type() throws RecognitionException {
EObject current = null;
EObject iv_rulefloating_pt_type = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:847:2: (iv_rulefloating_pt_type= rulefloating_pt_type EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:848:2: iv_rulefloating_pt_type= rulefloating_pt_type EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFloating_pt_typeRule());
}
pushFollow(FollowSets000.FOLLOW_rulefloating_pt_type_in_entryRulefloating_pt_type1793);
iv_rulefloating_pt_type=rulefloating_pt_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulefloating_pt_type;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulefloating_pt_type1803); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulefloating_pt_type"
// $ANTLR start "rulefloating_pt_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:855:1: rulefloating_pt_type returns [EObject current=null] : ( ( (lv_kind_0_0= rulefloat_type ) ) | ( (lv_kind_1_0= ruledouble_type ) ) | ( (lv_kind_2_0= rulelongdouble_type ) ) ) ;
public final EObject rulefloating_pt_type() throws RecognitionException {
EObject current = null;
Enumerator lv_kind_0_0 = null;
Enumerator lv_kind_1_0 = null;
AntlrDatatypeRuleToken lv_kind_2_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:858:28: ( ( ( (lv_kind_0_0= rulefloat_type ) ) | ( (lv_kind_1_0= ruledouble_type ) ) | ( (lv_kind_2_0= rulelongdouble_type ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:859:1: ( ( (lv_kind_0_0= rulefloat_type ) ) | ( (lv_kind_1_0= ruledouble_type ) ) | ( (lv_kind_2_0= rulelongdouble_type ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:859:1: ( ( (lv_kind_0_0= rulefloat_type ) ) | ( (lv_kind_1_0= ruledouble_type ) ) | ( (lv_kind_2_0= rulelongdouble_type ) ) )
int alt17=3;
switch ( input.LA(1) ) {
case 91:
{
alt17=1;
}
break;
case 28:
{
alt17=2;
}
break;
case 27:
{
alt17=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 17, 0, input);
throw nvae;
}
switch (alt17) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:859:2: ( (lv_kind_0_0= rulefloat_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:859:2: ( (lv_kind_0_0= rulefloat_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:860:1: (lv_kind_0_0= rulefloat_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:860:1: (lv_kind_0_0= rulefloat_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:861:3: lv_kind_0_0= rulefloat_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFloating_pt_typeAccess().getKindFloat_typeEnumRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_rulefloat_type_in_rulefloating_pt_type1849);
lv_kind_0_0=rulefloat_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getFloating_pt_typeRule());
}
set(
current,
"kind",
lv_kind_0_0,
"float_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:878:6: ( (lv_kind_1_0= ruledouble_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:878:6: ( (lv_kind_1_0= ruledouble_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:879:1: (lv_kind_1_0= ruledouble_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:879:1: (lv_kind_1_0= ruledouble_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:880:3: lv_kind_1_0= ruledouble_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFloating_pt_typeAccess().getKindDouble_typeEnumRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruledouble_type_in_rulefloating_pt_type1876);
lv_kind_1_0=ruledouble_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getFloating_pt_typeRule());
}
set(
current,
"kind",
lv_kind_1_0,
"double_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:897:6: ( (lv_kind_2_0= rulelongdouble_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:897:6: ( (lv_kind_2_0= rulelongdouble_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:898:1: (lv_kind_2_0= rulelongdouble_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:898:1: (lv_kind_2_0= rulelongdouble_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:899:3: lv_kind_2_0= rulelongdouble_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFloating_pt_typeAccess().getKindLongdouble_typeParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_rulelongdouble_type_in_rulefloating_pt_type1903);
lv_kind_2_0=rulelongdouble_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getFloating_pt_typeRule());
}
set(
current,
"kind",
lv_kind_2_0,
"longdouble_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulefloating_pt_type"
// $ANTLR start "entryRulelongdouble_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:923:1: entryRulelongdouble_type returns [String current=null] : iv_rulelongdouble_type= rulelongdouble_type EOF ;
public final String entryRulelongdouble_type() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_rulelongdouble_type = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:924:2: (iv_rulelongdouble_type= rulelongdouble_type EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:925:2: iv_rulelongdouble_type= rulelongdouble_type EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLongdouble_typeRule());
}
pushFollow(FollowSets000.FOLLOW_rulelongdouble_type_in_entryRulelongdouble_type1940);
iv_rulelongdouble_type=rulelongdouble_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulelongdouble_type.getText();
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulelongdouble_type1951); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulelongdouble_type"
// $ANTLR start "rulelongdouble_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:932:1: rulelongdouble_type returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'long' kw= 'double' ) ;
public final AntlrDatatypeRuleToken rulelongdouble_type() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:935:28: ( (kw= 'long' kw= 'double' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:936:1: (kw= 'long' kw= 'double' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:936:1: (kw= 'long' kw= 'double' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:937:2: kw= 'long' kw= 'double'
{
kw=(Token)match(input,27,FollowSets000.FOLLOW_27_in_rulelongdouble_type1989); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getLongdouble_typeAccess().getLongKeyword_0());
}
kw=(Token)match(input,28,FollowSets000.FOLLOW_28_in_rulelongdouble_type2002); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getLongdouble_typeAccess().getDoubleKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulelongdouble_type"
// $ANTLR start "entryRuleinteger_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:956:1: entryRuleinteger_type returns [EObject current=null] : iv_ruleinteger_type= ruleinteger_type EOF ;
public final EObject entryRuleinteger_type() throws RecognitionException {
EObject current = null;
EObject iv_ruleinteger_type = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:957:2: (iv_ruleinteger_type= ruleinteger_type EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:958:2: iv_ruleinteger_type= ruleinteger_type EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInteger_typeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleinteger_type_in_entryRuleinteger_type2042);
iv_ruleinteger_type=ruleinteger_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleinteger_type;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleinteger_type2052); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleinteger_type"
// $ANTLR start "ruleinteger_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:965:1: ruleinteger_type returns [EObject current=null] : ( ( (lv_kind_0_0= ruleshort_type ) ) | ( (lv_kind_1_0= rulelong_type ) ) | ( (lv_kind_2_0= rulelonglong_type ) ) | ( (lv_kind_3_0= ruleushort_type ) ) | ( (lv_kind_4_0= ruleulong_type ) ) | ( (lv_kind_5_0= ruleulonglong_type ) ) ) ;
public final EObject ruleinteger_type() throws RecognitionException {
EObject current = null;
Enumerator lv_kind_0_0 = null;
Enumerator lv_kind_1_0 = null;
AntlrDatatypeRuleToken lv_kind_2_0 = null;
AntlrDatatypeRuleToken lv_kind_3_0 = null;
AntlrDatatypeRuleToken lv_kind_4_0 = null;
AntlrDatatypeRuleToken lv_kind_5_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:968:28: ( ( ( (lv_kind_0_0= ruleshort_type ) ) | ( (lv_kind_1_0= rulelong_type ) ) | ( (lv_kind_2_0= rulelonglong_type ) ) | ( (lv_kind_3_0= ruleushort_type ) ) | ( (lv_kind_4_0= ruleulong_type ) ) | ( (lv_kind_5_0= ruleulonglong_type ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:969:1: ( ( (lv_kind_0_0= ruleshort_type ) ) | ( (lv_kind_1_0= rulelong_type ) ) | ( (lv_kind_2_0= rulelonglong_type ) ) | ( (lv_kind_3_0= ruleushort_type ) ) | ( (lv_kind_4_0= ruleulong_type ) ) | ( (lv_kind_5_0= ruleulonglong_type ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:969:1: ( ( (lv_kind_0_0= ruleshort_type ) ) | ( (lv_kind_1_0= rulelong_type ) ) | ( (lv_kind_2_0= rulelonglong_type ) ) | ( (lv_kind_3_0= ruleushort_type ) ) | ( (lv_kind_4_0= ruleulong_type ) ) | ( (lv_kind_5_0= ruleulonglong_type ) ) )
int alt18=6;
alt18 = dfa18.predict(input);
switch (alt18) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:969:2: ( (lv_kind_0_0= ruleshort_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:969:2: ( (lv_kind_0_0= ruleshort_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:970:1: (lv_kind_0_0= ruleshort_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:970:1: (lv_kind_0_0= ruleshort_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:971:3: lv_kind_0_0= ruleshort_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInteger_typeAccess().getKindShort_typeEnumRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleshort_type_in_ruleinteger_type2098);
lv_kind_0_0=ruleshort_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInteger_typeRule());
}
set(
current,
"kind",
lv_kind_0_0,
"short_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:988:6: ( (lv_kind_1_0= rulelong_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:988:6: ( (lv_kind_1_0= rulelong_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:989:1: (lv_kind_1_0= rulelong_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:989:1: (lv_kind_1_0= rulelong_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:990:3: lv_kind_1_0= rulelong_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInteger_typeAccess().getKindLong_typeEnumRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_rulelong_type_in_ruleinteger_type2125);
lv_kind_1_0=rulelong_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInteger_typeRule());
}
set(
current,
"kind",
lv_kind_1_0,
"long_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1007:6: ( (lv_kind_2_0= rulelonglong_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1007:6: ( (lv_kind_2_0= rulelonglong_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1008:1: (lv_kind_2_0= rulelonglong_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1008:1: (lv_kind_2_0= rulelonglong_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1009:3: lv_kind_2_0= rulelonglong_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInteger_typeAccess().getKindLonglong_typeParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_rulelonglong_type_in_ruleinteger_type2152);
lv_kind_2_0=rulelonglong_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInteger_typeRule());
}
set(
current,
"kind",
lv_kind_2_0,
"longlong_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 4 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1026:6: ( (lv_kind_3_0= ruleushort_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1026:6: ( (lv_kind_3_0= ruleushort_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1027:1: (lv_kind_3_0= ruleushort_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1027:1: (lv_kind_3_0= ruleushort_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1028:3: lv_kind_3_0= ruleushort_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInteger_typeAccess().getKindUshort_typeParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_ruleushort_type_in_ruleinteger_type2179);
lv_kind_3_0=ruleushort_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInteger_typeRule());
}
set(
current,
"kind",
lv_kind_3_0,
"ushort_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 5 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1045:6: ( (lv_kind_4_0= ruleulong_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1045:6: ( (lv_kind_4_0= ruleulong_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1046:1: (lv_kind_4_0= ruleulong_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1046:1: (lv_kind_4_0= ruleulong_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1047:3: lv_kind_4_0= ruleulong_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInteger_typeAccess().getKindUlong_typeParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_ruleulong_type_in_ruleinteger_type2206);
lv_kind_4_0=ruleulong_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInteger_typeRule());
}
set(
current,
"kind",
lv_kind_4_0,
"ulong_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 6 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1064:6: ( (lv_kind_5_0= ruleulonglong_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1064:6: ( (lv_kind_5_0= ruleulonglong_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1065:1: (lv_kind_5_0= ruleulonglong_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1065:1: (lv_kind_5_0= ruleulonglong_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1066:3: lv_kind_5_0= ruleulonglong_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInteger_typeAccess().getKindUlonglong_typeParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_ruleulonglong_type_in_ruleinteger_type2233);
lv_kind_5_0=ruleulonglong_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getInteger_typeRule());
}
set(
current,
"kind",
lv_kind_5_0,
"ulonglong_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleinteger_type"
// $ANTLR start "entryRulelonglong_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1090:1: entryRulelonglong_type returns [String current=null] : iv_rulelonglong_type= rulelonglong_type EOF ;
public final String entryRulelonglong_type() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_rulelonglong_type = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1091:2: (iv_rulelonglong_type= rulelonglong_type EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1092:2: iv_rulelonglong_type= rulelonglong_type EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLonglong_typeRule());
}
pushFollow(FollowSets000.FOLLOW_rulelonglong_type_in_entryRulelonglong_type2270);
iv_rulelonglong_type=rulelonglong_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulelonglong_type.getText();
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulelonglong_type2281); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulelonglong_type"
// $ANTLR start "rulelonglong_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1099:1: rulelonglong_type returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'long' kw= 'long' ) ;
public final AntlrDatatypeRuleToken rulelonglong_type() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1102:28: ( (kw= 'long' kw= 'long' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1103:1: (kw= 'long' kw= 'long' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1103:1: (kw= 'long' kw= 'long' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1104:2: kw= 'long' kw= 'long'
{
kw=(Token)match(input,27,FollowSets000.FOLLOW_27_in_rulelonglong_type2319); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getLonglong_typeAccess().getLongKeyword_0());
}
kw=(Token)match(input,27,FollowSets000.FOLLOW_27_in_rulelonglong_type2332); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getLonglong_typeAccess().getLongKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulelonglong_type"
// $ANTLR start "entryRuleushort_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1123:1: entryRuleushort_type returns [String current=null] : iv_ruleushort_type= ruleushort_type EOF ;
public final String entryRuleushort_type() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleushort_type = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1124:2: (iv_ruleushort_type= ruleushort_type EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1125:2: iv_ruleushort_type= ruleushort_type EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUshort_typeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleushort_type_in_entryRuleushort_type2373);
iv_ruleushort_type=ruleushort_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleushort_type.getText();
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleushort_type2384); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleushort_type"
// $ANTLR start "ruleushort_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1132:1: ruleushort_type returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'unsigned' kw= 'short' ) ;
public final AntlrDatatypeRuleToken ruleushort_type() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1135:28: ( (kw= 'unsigned' kw= 'short' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1136:1: (kw= 'unsigned' kw= 'short' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1136:1: (kw= 'unsigned' kw= 'short' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1137:2: kw= 'unsigned' kw= 'short'
{
kw=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleushort_type2422); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUshort_typeAccess().getUnsignedKeyword_0());
}
kw=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleushort_type2435); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUshort_typeAccess().getShortKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleushort_type"
// $ANTLR start "entryRuleulong_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1156:1: entryRuleulong_type returns [String current=null] : iv_ruleulong_type= ruleulong_type EOF ;
public final String entryRuleulong_type() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleulong_type = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1157:2: (iv_ruleulong_type= ruleulong_type EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1158:2: iv_ruleulong_type= ruleulong_type EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUlong_typeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleulong_type_in_entryRuleulong_type2476);
iv_ruleulong_type=ruleulong_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleulong_type.getText();
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleulong_type2487); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleulong_type"
// $ANTLR start "ruleulong_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1165:1: ruleulong_type returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'unsigned' kw= 'long' ) ;
public final AntlrDatatypeRuleToken ruleulong_type() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1168:28: ( (kw= 'unsigned' kw= 'long' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1169:1: (kw= 'unsigned' kw= 'long' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1169:1: (kw= 'unsigned' kw= 'long' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1170:2: kw= 'unsigned' kw= 'long'
{
kw=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleulong_type2525); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUlong_typeAccess().getUnsignedKeyword_0());
}
kw=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleulong_type2538); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUlong_typeAccess().getLongKeyword_1());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleulong_type"
// $ANTLR start "entryRuleulonglong_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1189:1: entryRuleulonglong_type returns [String current=null] : iv_ruleulonglong_type= ruleulonglong_type EOF ;
public final String entryRuleulonglong_type() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleulonglong_type = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1190:2: (iv_ruleulonglong_type= ruleulonglong_type EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1191:2: iv_ruleulonglong_type= ruleulonglong_type EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUlonglong_typeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleulonglong_type_in_entryRuleulonglong_type2579);
iv_ruleulonglong_type=ruleulonglong_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleulonglong_type.getText();
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleulonglong_type2590); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleulonglong_type"
// $ANTLR start "ruleulonglong_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1198:1: ruleulonglong_type returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'unsigned' kw= 'long' kw= 'long' ) ;
public final AntlrDatatypeRuleToken ruleulonglong_type() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1201:28: ( (kw= 'unsigned' kw= 'long' kw= 'long' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1202:1: (kw= 'unsigned' kw= 'long' kw= 'long' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1202:1: (kw= 'unsigned' kw= 'long' kw= 'long' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1203:2: kw= 'unsigned' kw= 'long' kw= 'long'
{
kw=(Token)match(input,29,FollowSets000.FOLLOW_29_in_ruleulonglong_type2628); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUlonglong_typeAccess().getUnsignedKeyword_0());
}
kw=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleulonglong_type2641); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUlonglong_typeAccess().getLongKeyword_1());
}
kw=(Token)match(input,27,FollowSets000.FOLLOW_27_in_ruleulonglong_type2654); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getUlonglong_typeAccess().getLongKeyword_2());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleulonglong_type"
// $ANTLR start "entryRulecharstr_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1228:1: entryRulecharstr_type returns [EObject current=null] : iv_rulecharstr_type= rulecharstr_type EOF ;
public final EObject entryRulecharstr_type() throws RecognitionException {
EObject current = null;
EObject iv_rulecharstr_type = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1229:2: (iv_rulecharstr_type= rulecharstr_type EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1230:2: iv_rulecharstr_type= rulecharstr_type EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCharstr_typeRule());
}
pushFollow(FollowSets000.FOLLOW_rulecharstr_type_in_entryRulecharstr_type2694);
iv_rulecharstr_type=rulecharstr_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulecharstr_type;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulecharstr_type2704); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulecharstr_type"
// $ANTLR start "rulecharstr_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1237:1: rulecharstr_type returns [EObject current=null] : ( ( (lv_kind_0_0= rulechar_type ) ) | ( (lv_kind_1_0= rulewide_char_type ) ) | ( (lv_kind_2_0= rulestring_type ) ) | ( (lv_kind_3_0= rulewide_string_type ) ) ) ;
public final EObject rulecharstr_type() throws RecognitionException {
EObject current = null;
Enumerator lv_kind_0_0 = null;
Enumerator lv_kind_1_0 = null;
Enumerator lv_kind_2_0 = null;
Enumerator lv_kind_3_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1240:28: ( ( ( (lv_kind_0_0= rulechar_type ) ) | ( (lv_kind_1_0= rulewide_char_type ) ) | ( (lv_kind_2_0= rulestring_type ) ) | ( (lv_kind_3_0= rulewide_string_type ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1241:1: ( ( (lv_kind_0_0= rulechar_type ) ) | ( (lv_kind_1_0= rulewide_char_type ) ) | ( (lv_kind_2_0= rulestring_type ) ) | ( (lv_kind_3_0= rulewide_string_type ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1241:1: ( ( (lv_kind_0_0= rulechar_type ) ) | ( (lv_kind_1_0= rulewide_char_type ) ) | ( (lv_kind_2_0= rulestring_type ) ) | ( (lv_kind_3_0= rulewide_string_type ) ) )
int alt19=4;
switch ( input.LA(1) ) {
case 92:
{
alt19=1;
}
break;
case 93:
{
alt19=2;
}
break;
case 94:
{
alt19=3;
}
break;
case 95:
{
alt19=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1241:2: ( (lv_kind_0_0= rulechar_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1241:2: ( (lv_kind_0_0= rulechar_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1242:1: (lv_kind_0_0= rulechar_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1242:1: (lv_kind_0_0= rulechar_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1243:3: lv_kind_0_0= rulechar_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCharstr_typeAccess().getKindChar_typeEnumRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_rulechar_type_in_rulecharstr_type2750);
lv_kind_0_0=rulechar_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCharstr_typeRule());
}
set(
current,
"kind",
lv_kind_0_0,
"char_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1260:6: ( (lv_kind_1_0= rulewide_char_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1260:6: ( (lv_kind_1_0= rulewide_char_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1261:1: (lv_kind_1_0= rulewide_char_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1261:1: (lv_kind_1_0= rulewide_char_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1262:3: lv_kind_1_0= rulewide_char_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCharstr_typeAccess().getKindWide_char_typeEnumRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_rulewide_char_type_in_rulecharstr_type2777);
lv_kind_1_0=rulewide_char_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCharstr_typeRule());
}
set(
current,
"kind",
lv_kind_1_0,
"wide_char_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1279:6: ( (lv_kind_2_0= rulestring_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1279:6: ( (lv_kind_2_0= rulestring_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1280:1: (lv_kind_2_0= rulestring_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1280:1: (lv_kind_2_0= rulestring_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1281:3: lv_kind_2_0= rulestring_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCharstr_typeAccess().getKindString_typeEnumRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_rulestring_type_in_rulecharstr_type2804);
lv_kind_2_0=rulestring_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCharstr_typeRule());
}
set(
current,
"kind",
lv_kind_2_0,
"string_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 4 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1298:6: ( (lv_kind_3_0= rulewide_string_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1298:6: ( (lv_kind_3_0= rulewide_string_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1299:1: (lv_kind_3_0= rulewide_string_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1299:1: (lv_kind_3_0= rulewide_string_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1300:3: lv_kind_3_0= rulewide_string_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getCharstr_typeAccess().getKindWide_string_typeEnumRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_rulewide_string_type_in_rulecharstr_type2831);
lv_kind_3_0=rulewide_string_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getCharstr_typeRule());
}
set(
current,
"kind",
lv_kind_3_0,
"wide_string_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulecharstr_type"
// $ANTLR start "entryRuleother_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1324:1: entryRuleother_type returns [EObject current=null] : iv_ruleother_type= ruleother_type EOF ;
public final EObject entryRuleother_type() throws RecognitionException {
EObject current = null;
EObject iv_ruleother_type = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1325:2: (iv_ruleother_type= ruleother_type EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1326:2: iv_ruleother_type= ruleother_type EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOther_typeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleother_type_in_entryRuleother_type2867);
iv_ruleother_type=ruleother_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleother_type;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleother_type2877); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleother_type"
// $ANTLR start "ruleother_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1333:1: ruleother_type returns [EObject current=null] : ( ( (lv_kind_0_0= ruleboolean_type ) ) | ( (lv_kind_1_0= ruleoctet_type ) ) | ( (lv_kind_2_0= ruleany_type ) ) ) ;
public final EObject ruleother_type() throws RecognitionException {
EObject current = null;
Enumerator lv_kind_0_0 = null;
Enumerator lv_kind_1_0 = null;
Enumerator lv_kind_2_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1336:28: ( ( ( (lv_kind_0_0= ruleboolean_type ) ) | ( (lv_kind_1_0= ruleoctet_type ) ) | ( (lv_kind_2_0= ruleany_type ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1337:1: ( ( (lv_kind_0_0= ruleboolean_type ) ) | ( (lv_kind_1_0= ruleoctet_type ) ) | ( (lv_kind_2_0= ruleany_type ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1337:1: ( ( (lv_kind_0_0= ruleboolean_type ) ) | ( (lv_kind_1_0= ruleoctet_type ) ) | ( (lv_kind_2_0= ruleany_type ) ) )
int alt20=3;
switch ( input.LA(1) ) {
case 96:
{
alt20=1;
}
break;
case 97:
{
alt20=2;
}
break;
case 98:
{
alt20=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 20, 0, input);
throw nvae;
}
switch (alt20) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1337:2: ( (lv_kind_0_0= ruleboolean_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1337:2: ( (lv_kind_0_0= ruleboolean_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1338:1: (lv_kind_0_0= ruleboolean_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1338:1: (lv_kind_0_0= ruleboolean_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1339:3: lv_kind_0_0= ruleboolean_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOther_typeAccess().getKindBoolean_typeEnumRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleboolean_type_in_ruleother_type2923);
lv_kind_0_0=ruleboolean_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOther_typeRule());
}
set(
current,
"kind",
lv_kind_0_0,
"boolean_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1356:6: ( (lv_kind_1_0= ruleoctet_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1356:6: ( (lv_kind_1_0= ruleoctet_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1357:1: (lv_kind_1_0= ruleoctet_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1357:1: (lv_kind_1_0= ruleoctet_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1358:3: lv_kind_1_0= ruleoctet_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOther_typeAccess().getKindOctet_typeEnumRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleoctet_type_in_ruleother_type2950);
lv_kind_1_0=ruleoctet_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOther_typeRule());
}
set(
current,
"kind",
lv_kind_1_0,
"octet_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1375:6: ( (lv_kind_2_0= ruleany_type ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1375:6: ( (lv_kind_2_0= ruleany_type ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1376:1: (lv_kind_2_0= ruleany_type )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1376:1: (lv_kind_2_0= ruleany_type )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1377:3: lv_kind_2_0= ruleany_type
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOther_typeAccess().getKindAny_typeEnumRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_ruleany_type_in_ruleother_type2977);
lv_kind_2_0=ruleany_type();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOther_typeRule());
}
set(
current,
"kind",
lv_kind_2_0,
"any_type");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleother_type"
// $ANTLR start "entryRuleBlock"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1403: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1404:2: (iv_ruleBlock= ruleBlock EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1405:2: iv_ruleBlock= ruleBlock EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBlockRule());
}
pushFollow(FollowSets000.FOLLOW_ruleBlock_in_entryRuleBlock3015);
iv_ruleBlock=ruleBlock();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBlock;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBlock3025); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBlock"
// $ANTLR start "ruleBlock"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1412: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1415:28: ( ( () ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )* ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1416:1: ( () ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )* ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1416:1: ( () ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )* ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1416:2: () ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )* ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )?
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1416:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1417:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getBlockAccess().getBlockAction_0(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1422:2: ( ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )? )*
loop22:
do {
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==RULE_ID||LA22_0==24||LA22_0==34||(LA22_0>=36 && LA22_0<=37)||LA22_0==39||LA22_0==43||LA22_0==46||LA22_0==49) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1422:3: ( (lv_statements_1_0= ruleStatement ) ) (otherlv_2= ';' )?
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1422:3: ( (lv_statements_1_0= ruleStatement ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1423:1: (lv_statements_1_0= ruleStatement )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1423:1: (lv_statements_1_0= ruleStatement )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1424:3: lv_statements_1_0= ruleStatement
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBlockAccess().getStatementsStatementParserRuleCall_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleStatement_in_ruleBlock3081);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1440:2: (otherlv_2= ';' )?
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==31) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1440:4: otherlv_2= ';'
{
otherlv_2=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleBlock3094); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getBlockAccess().getSemicolonKeyword_1_1());
}
}
break;
}
}
break;
default :
break loop22;
}
} while (true);
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1444:5: ( ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )? )?
int alt24=2;
int LA24_0 = input.LA(1);
if ( ((LA24_0>=32 && LA24_0<=33)) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1444:6: ( (lv_returnValue_3_0= ruleLastStatement ) ) (otherlv_4= ';' )?
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1444:6: ( (lv_returnValue_3_0= ruleLastStatement ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1445:1: (lv_returnValue_3_0= ruleLastStatement )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1445:1: (lv_returnValue_3_0= ruleLastStatement )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1446:3: lv_returnValue_3_0= ruleLastStatement
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBlockAccess().getReturnValueLastStatementParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleLastStatement_in_ruleBlock3120);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1462:2: (otherlv_4= ';' )?
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==31) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1462:4: otherlv_4= ';'
{
otherlv_4=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleBlock3133); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1474: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1475:2: (iv_ruleLastStatement= ruleLastStatement EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1476:2: iv_ruleLastStatement= ruleLastStatement EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLastStatementRule());
}
pushFollow(FollowSets000.FOLLOW_ruleLastStatement_in_entryRuleLastStatement3173);
iv_ruleLastStatement=ruleLastStatement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleLastStatement;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleLastStatement3183); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLastStatement"
// $ANTLR start "ruleLastStatement"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1483: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1486:28: ( (this_LastStatement_Return_0= ruleLastStatement_Return | this_LastStatement_Break_1= ruleLastStatement_Break ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1487:1: (this_LastStatement_Return_0= ruleLastStatement_Return | this_LastStatement_Break_1= ruleLastStatement_Break )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1487:1: (this_LastStatement_Return_0= ruleLastStatement_Return | this_LastStatement_Break_1= ruleLastStatement_Break )
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==32) ) {
alt25=1;
}
else if ( (LA25_0==33) ) {
alt25=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 25, 0, input);
throw nvae;
}
switch (alt25) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1488:5: this_LastStatement_Return_0= ruleLastStatement_Return
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLastStatementAccess().getLastStatement_ReturnParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleLastStatement_Return_in_ruleLastStatement3230);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1498:5: this_LastStatement_Break_1= ruleLastStatement_Break
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLastStatementAccess().getLastStatement_BreakParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_ruleLastStatement_Break_in_ruleLastStatement3257);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1514: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1515:2: (iv_ruleLastStatement_Return= ruleLastStatement_Return EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1516:2: iv_ruleLastStatement_Return= ruleLastStatement_Return EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLastStatement_ReturnRule());
}
pushFollow(FollowSets000.FOLLOW_ruleLastStatement_Return_in_entryRuleLastStatement_Return3292);
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_Return3302); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1523: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1526:28: ( (otherlv_0= 'return' () ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1527:1: (otherlv_0= 'return' () ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1527:1: (otherlv_0= 'return' () ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1527:3: otherlv_0= 'return' () ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )?
{
otherlv_0=(Token)match(input,32,FollowSets000.FOLLOW_32_in_ruleLastStatement_Return3339); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getLastStatement_ReturnAccess().getReturnKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1531:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1532:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getLastStatement_ReturnAccess().getLastStatement_ReturnWithValueAction_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1537:2: ( ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )* )?
int alt27=2;
int LA27_0 = input.LA(1);
if ( ((LA27_0>=RULE_ID && LA27_0<=RULE_INT)||LA27_0==12||(LA27_0>=21 && LA27_0<=22)||LA27_0==24||LA27_0==46||LA27_0==60||(LA27_0>=64 && LA27_0<=65)||(LA27_0>=67 && LA27_0<=68)) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1537:3: ( (lv_returnValues_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )*
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1537:3: ( (lv_returnValues_2_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1538:1: (lv_returnValues_2_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1538:1: (lv_returnValues_2_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1539:3: lv_returnValues_2_0= ruleExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLastStatement_ReturnAccess().getReturnValuesExpressionParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleLastStatement_Return3370);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1555:2: (otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) ) )*
loop26:
do {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==25) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1555:4: otherlv_3= ',' ( (lv_returnValues_4_0= ruleExpression ) )
{
otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleLastStatement_Return3383); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getLastStatement_ReturnAccess().getCommaKeyword_2_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1559:1: ( (lv_returnValues_4_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1560:1: (lv_returnValues_4_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1560:1: (lv_returnValues_4_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1561: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_Return3404);
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 loop26;
}
} 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1585: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1586:2: (iv_ruleLastStatement_Break= ruleLastStatement_Break EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1587:2: iv_ruleLastStatement_Break= ruleLastStatement_Break EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getLastStatement_BreakRule());
}
pushFollow(FollowSets000.FOLLOW_ruleLastStatement_Break_in_entryRuleLastStatement_Break3444);
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_Break3454); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1594: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1597:28: ( (otherlv_0= 'break' () ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1598:1: (otherlv_0= 'break' () )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1598:1: (otherlv_0= 'break' () )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1598:3: otherlv_0= 'break' ()
{
otherlv_0=(Token)match(input,33,FollowSets000.FOLLOW_33_in_ruleLastStatement_Break3491); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getLastStatement_BreakAccess().getBreakKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1602:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1603: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1616: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1617:2: (iv_ruleStatement= ruleStatement EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1618:2: iv_ruleStatement= ruleStatement EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatementRule());
}
pushFollow(FollowSets000.FOLLOW_ruleStatement_in_entryRuleStatement3536);
iv_ruleStatement=ruleStatement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStatement;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleStatement3546); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStatement"
// $ANTLR start "ruleStatement"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1625: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1628: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1629: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1629: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 alt28=10;
alt28 = dfa28.predict(input);
switch (alt28) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1630:5: this_Statement_Block_0= ruleStatement_Block
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatementAccess().getStatement_BlockParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleStatement_Block_in_ruleStatement3593);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1640:5: this_Statement_While_1= ruleStatement_While
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatementAccess().getStatement_WhileParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_ruleStatement_While_in_ruleStatement3620);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1650:5: this_Statement_Repeat_2= ruleStatement_Repeat
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatementAccess().getStatement_RepeatParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_ruleStatement_Repeat_in_ruleStatement3647);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1660: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_ruleStatement3674);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1670: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_ruleStatement3701);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1680: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_ruleStatement3728);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1690: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_ruleStatement3755);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1700: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_ruleStatement3782);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1710: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_ruleStatement3809);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1720:5: this_Statement_FunctioncallOrAssignment_9= ruleStatement_FunctioncallOrAssignment
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatementAccess().getStatement_FunctioncallOrAssignmentParserRuleCall_9());
}
pushFollow(FollowSets000.FOLLOW_ruleStatement_FunctioncallOrAssignment_in_ruleStatement3836);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1736: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1737:2: (iv_ruleStatement_Block= ruleStatement_Block EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1738:2: iv_ruleStatement_Block= ruleStatement_Block EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatement_BlockRule());
}
pushFollow(FollowSets000.FOLLOW_ruleStatement_Block_in_entryRuleStatement_Block3871);
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_Block3881); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1745: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1748:28: ( (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'end' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1749:1: (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'end' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1749:1: (otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'end' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1749:3: otherlv_0= 'do' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'end'
{
otherlv_0=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleStatement_Block3918); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStatement_BlockAccess().getDoKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1753:1: ( (lv_block_1_0= ruleBlock ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1754:1: (lv_block_1_0= ruleBlock )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1754:1: (lv_block_1_0= ruleBlock )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1755:3: lv_block_1_0= ruleBlock
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatement_BlockAccess().getBlockBlockParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_Block3939);
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,35,FollowSets000.FOLLOW_35_in_ruleStatement_Block3951); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1783: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1784:2: (iv_ruleStatement_While= ruleStatement_While EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1785:2: iv_ruleStatement_While= ruleStatement_While EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatement_WhileRule());
}
pushFollow(FollowSets000.FOLLOW_ruleStatement_While_in_entryRuleStatement_While3987);
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_While3997); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1792: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1795:28: ( (otherlv_0= 'while' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_block_3_0= ruleBlock ) ) otherlv_4= 'end' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1796:1: (otherlv_0= 'while' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_block_3_0= ruleBlock ) ) otherlv_4= 'end' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1796:1: (otherlv_0= 'while' ( (lv_expression_1_0= ruleExpression ) ) otherlv_2= 'do' ( (lv_block_3_0= ruleBlock ) ) otherlv_4= 'end' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1796: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,36,FollowSets000.FOLLOW_36_in_ruleStatement_While4034); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStatement_WhileAccess().getWhileKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1800:1: ( (lv_expression_1_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1801:1: (lv_expression_1_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1801:1: (lv_expression_1_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1802:3: lv_expression_1_0= ruleExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatement_WhileAccess().getExpressionExpressionParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_While4055);
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,34,FollowSets000.FOLLOW_34_in_ruleStatement_While4067); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getStatement_WhileAccess().getDoKeyword_2());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1822:1: ( (lv_block_3_0= ruleBlock ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1823:1: (lv_block_3_0= ruleBlock )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1823:1: (lv_block_3_0= ruleBlock )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1824:3: lv_block_3_0= ruleBlock
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatement_WhileAccess().getBlockBlockParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_While4088);
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,35,FollowSets000.FOLLOW_35_in_ruleStatement_While4100); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1852: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1853:2: (iv_ruleStatement_Repeat= ruleStatement_Repeat EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1854:2: iv_ruleStatement_Repeat= ruleStatement_Repeat EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatement_RepeatRule());
}
pushFollow(FollowSets000.FOLLOW_ruleStatement_Repeat_in_entryRuleStatement_Repeat4136);
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_Repeat4146); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1861: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1864:28: ( (otherlv_0= 'repeat' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'until' ( (lv_expression_3_0= ruleExpression ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1865:1: (otherlv_0= 'repeat' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'until' ( (lv_expression_3_0= ruleExpression ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1865:1: (otherlv_0= 'repeat' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'until' ( (lv_expression_3_0= ruleExpression ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1865:3: otherlv_0= 'repeat' ( (lv_block_1_0= ruleBlock ) ) otherlv_2= 'until' ( (lv_expression_3_0= ruleExpression ) )
{
otherlv_0=(Token)match(input,37,FollowSets000.FOLLOW_37_in_ruleStatement_Repeat4183); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStatement_RepeatAccess().getRepeatKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1869:1: ( (lv_block_1_0= ruleBlock ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1870:1: (lv_block_1_0= ruleBlock )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1870:1: (lv_block_1_0= ruleBlock )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1871:3: lv_block_1_0= ruleBlock
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatement_RepeatAccess().getBlockBlockParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleStatement_Repeat4204);
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,38,FollowSets000.FOLLOW_38_in_ruleStatement_Repeat4216); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getStatement_RepeatAccess().getUntilKeyword_2());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1891:1: ( (lv_expression_3_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1892:1: (lv_expression_3_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1892:1: (lv_expression_3_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1893:3: lv_expression_3_0= ruleExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatement_RepeatAccess().getExpressionExpressionParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleStatement_Repeat4237);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1917: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1918:2: (iv_ruleStatement_If_Then_Else= ruleStatement_If_Then_Else EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1919: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_Else4273);
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_Else4283); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1926: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1929: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1930: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1930: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1930: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,39,FollowSets000.FOLLOW_39_in_ruleStatement_If_Then_Else4320); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStatement_If_Then_ElseAccess().getIfKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1934:1: ( (lv_ifExpression_1_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1935:1: (lv_ifExpression_1_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1935:1: (lv_ifExpression_1_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1936: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_Else4341);
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,40,FollowSets000.FOLLOW_40_in_ruleStatement_If_Then_Else4353); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getStatement_If_Then_ElseAccess().getThenKeyword_2());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1956:1: ( (lv_ifBlock_3_0= ruleBlock ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1957:1: (lv_ifBlock_3_0= ruleBlock )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1957:1: (lv_ifBlock_3_0= ruleBlock )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1958: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_Else4374);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1974:2: ( (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart ) )*
loop29:
do {
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==42) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1975:1: (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1975:1: (lv_elseIf_4_0= ruleStatement_If_Then_Else_ElseIfPart )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1976: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_Else4395);
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 loop29;
}
} while (true);
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1992:3: (otherlv_5= 'else' ( (lv_elseBlock_6_0= ruleBlock ) ) )?
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==41) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1992:5: otherlv_5= 'else' ( (lv_elseBlock_6_0= ruleBlock ) )
{
otherlv_5=(Token)match(input,41,FollowSets000.FOLLOW_41_in_ruleStatement_If_Then_Else4409); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getStatement_If_Then_ElseAccess().getElseKeyword_5_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1996:1: ( (lv_elseBlock_6_0= ruleBlock ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1997:1: (lv_elseBlock_6_0= ruleBlock )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1997:1: (lv_elseBlock_6_0= ruleBlock )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:1998: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_Else4430);
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,35,FollowSets000.FOLLOW_35_in_ruleStatement_If_Then_Else4444); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2026: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2027:2: (iv_ruleStatement_If_Then_Else_ElseIfPart= ruleStatement_If_Then_Else_ElseIfPart EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2028: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_ElseIfPart4480);
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_ElseIfPart4490); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2035: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2038:28: ( (otherlv_0= 'elseif' ( (lv_elseifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_elseifBlock_3_0= ruleBlock ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2039:1: (otherlv_0= 'elseif' ( (lv_elseifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_elseifBlock_3_0= ruleBlock ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2039:1: (otherlv_0= 'elseif' ( (lv_elseifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_elseifBlock_3_0= ruleBlock ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2039:3: otherlv_0= 'elseif' ( (lv_elseifExpression_1_0= ruleExpression ) ) otherlv_2= 'then' ( (lv_elseifBlock_3_0= ruleBlock ) )
{
otherlv_0=(Token)match(input,42,FollowSets000.FOLLOW_42_in_ruleStatement_If_Then_Else_ElseIfPart4527); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStatement_If_Then_Else_ElseIfPartAccess().getElseifKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2043:1: ( (lv_elseifExpression_1_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2044:1: (lv_elseifExpression_1_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2044:1: (lv_elseifExpression_1_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2045: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_ElseIfPart4548);
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,40,FollowSets000.FOLLOW_40_in_ruleStatement_If_Then_Else_ElseIfPart4560); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getStatement_If_Then_Else_ElseIfPartAccess().getThenKeyword_2());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2065:1: ( (lv_elseifBlock_3_0= ruleBlock ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2066:1: (lv_elseifBlock_3_0= ruleBlock )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2066:1: (lv_elseifBlock_3_0= ruleBlock )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2067: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_ElseIfPart4581);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2091: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2092:2: (iv_ruleStatement_For_Numeric= ruleStatement_For_Numeric EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2093: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_Numeric4617);
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_Numeric4627); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2100:1: ruleStatement_For_Numeric returns [EObject current=null] : (otherlv_0= 'for' ( (lv_iteratorName_1_0= RULE_ID ) ) 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 lv_iteratorName_1_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2103:28: ( (otherlv_0= 'for' ( (lv_iteratorName_1_0= RULE_ID ) ) 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2104:1: (otherlv_0= 'for' ( (lv_iteratorName_1_0= RULE_ID ) ) 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2104:1: (otherlv_0= 'for' ( (lv_iteratorName_1_0= RULE_ID ) ) 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2104:3: otherlv_0= 'for' ( (lv_iteratorName_1_0= RULE_ID ) ) 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,43,FollowSets000.FOLLOW_43_in_ruleStatement_For_Numeric4664); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStatement_For_NumericAccess().getForKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2108:1: ( (lv_iteratorName_1_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2109:1: (lv_iteratorName_1_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2109:1: (lv_iteratorName_1_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2110:3: lv_iteratorName_1_0= RULE_ID
{
lv_iteratorName_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleStatement_For_Numeric4681); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_iteratorName_1_0, grammarAccess.getStatement_For_NumericAccess().getIteratorNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStatement_For_NumericRule());
}
setWithLastConsumed(
current,
"iteratorName",
lv_iteratorName_1_0,
"ID");
}
}
}
otherlv_2=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleStatement_For_Numeric4698); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getStatement_For_NumericAccess().getEqualsSignKeyword_2());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2130:1: ( (lv_startExpr_3_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2131:1: (lv_startExpr_3_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2131:1: (lv_startExpr_3_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2132: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_Numeric4719);
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,25,FollowSets000.FOLLOW_25_in_ruleStatement_For_Numeric4731); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getStatement_For_NumericAccess().getCommaKeyword_4());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2152:1: ( (lv_untilExpr_5_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2153:1: (lv_untilExpr_5_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2153:1: (lv_untilExpr_5_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2154: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_Numeric4752);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2170:2: (otherlv_6= ',' ( (lv_stepExpr_7_0= ruleExpression ) ) )?
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==25) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2170:4: otherlv_6= ',' ( (lv_stepExpr_7_0= ruleExpression ) )
{
otherlv_6=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleStatement_For_Numeric4765); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getStatement_For_NumericAccess().getCommaKeyword_6_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2174:1: ( (lv_stepExpr_7_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2175:1: (lv_stepExpr_7_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2175:1: (lv_stepExpr_7_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2176: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_Numeric4786);
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,34,FollowSets000.FOLLOW_34_in_ruleStatement_For_Numeric4800); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getStatement_For_NumericAccess().getDoKeyword_7());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2196:1: ( (lv_block_9_0= ruleBlock ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2197:1: (lv_block_9_0= ruleBlock )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2197:1: (lv_block_9_0= ruleBlock )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2198: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_Numeric4821);
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,35,FollowSets000.FOLLOW_35_in_ruleStatement_For_Numeric4833); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2226: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2227:2: (iv_ruleStatement_For_Generic= ruleStatement_For_Generic EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2228: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_Generic4869);
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_Generic4879); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2235:1: ruleStatement_For_Generic returns [EObject current=null] : (otherlv_0= 'for' ( (lv_names_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_names_3_0= RULE_ID ) ) )* 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 lv_names_1_0=null;
Token otherlv_2=null;
Token lv_names_3_0=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
EObject lv_expressions_5_0 = null;
EObject lv_expressions_7_0 = null;
EObject lv_block_9_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2238:28: ( (otherlv_0= 'for' ( (lv_names_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_names_3_0= RULE_ID ) ) )* 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2239:1: (otherlv_0= 'for' ( (lv_names_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_names_3_0= RULE_ID ) ) )* 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2239:1: (otherlv_0= 'for' ( (lv_names_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_names_3_0= RULE_ID ) ) )* 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2239:3: otherlv_0= 'for' ( (lv_names_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_names_3_0= RULE_ID ) ) )* 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,43,FollowSets000.FOLLOW_43_in_ruleStatement_For_Generic4916); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStatement_For_GenericAccess().getForKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2243:1: ( (lv_names_1_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2244:1: (lv_names_1_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2244:1: (lv_names_1_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2245:3: lv_names_1_0= RULE_ID
{
lv_names_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleStatement_For_Generic4933); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_names_1_0, grammarAccess.getStatement_For_GenericAccess().getNamesIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStatement_For_GenericRule());
}
addWithLastConsumed(
current,
"names",
lv_names_1_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2261:2: (otherlv_2= ',' ( (lv_names_3_0= RULE_ID ) ) )*
loop32:
do {
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==25) ) {
alt32=1;
}
switch (alt32) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2261:4: otherlv_2= ',' ( (lv_names_3_0= RULE_ID ) )
{
otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleStatement_For_Generic4951); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getStatement_For_GenericAccess().getCommaKeyword_2_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2265:1: ( (lv_names_3_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2266:1: (lv_names_3_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2266:1: (lv_names_3_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2267:3: lv_names_3_0= RULE_ID
{
lv_names_3_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleStatement_For_Generic4968); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_names_3_0, grammarAccess.getStatement_For_GenericAccess().getNamesIDTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStatement_For_GenericRule());
}
addWithLastConsumed(
current,
"names",
lv_names_3_0,
"ID");
}
}
}
}
break;
default :
break loop32;
}
} while (true);
otherlv_4=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleStatement_For_Generic4987); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getStatement_For_GenericAccess().getInKeyword_3());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2287:1: ( (lv_expressions_5_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2288:1: (lv_expressions_5_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2288:1: (lv_expressions_5_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2289: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_Generic5008);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2305:2: (otherlv_6= ',' ( (lv_expressions_7_0= ruleExpression ) ) )*
loop33:
do {
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==25) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2305:4: otherlv_6= ',' ( (lv_expressions_7_0= ruleExpression ) )
{
otherlv_6=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleStatement_For_Generic5021); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getStatement_For_GenericAccess().getCommaKeyword_5_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2309:1: ( (lv_expressions_7_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2310:1: (lv_expressions_7_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2310:1: (lv_expressions_7_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2311: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_Generic5042);
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 loop33;
}
} while (true);
otherlv_8=(Token)match(input,34,FollowSets000.FOLLOW_34_in_ruleStatement_For_Generic5056); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getStatement_For_GenericAccess().getDoKeyword_6());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2331:1: ( (lv_block_9_0= ruleBlock ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2332:1: (lv_block_9_0= ruleBlock )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2332:1: (lv_block_9_0= ruleBlock )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2333: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_Generic5077);
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,35,FollowSets000.FOLLOW_35_in_ruleStatement_For_Generic5089); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2361: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2362:2: (iv_ruleStatement_GlobalFunction_Declaration= ruleStatement_GlobalFunction_Declaration EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2363: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_Declaration5125);
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_Declaration5135); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2370:1: ruleStatement_GlobalFunction_Declaration returns [EObject current=null] : (otherlv_0= 'function' ( (lv_prefix_1_0= RULE_ID ) ) (otherlv_2= '.' ( (lv_prefix_3_0= RULE_ID ) ) )* (otherlv_4= ':' ( (lv_functionName_5_0= RULE_ID ) ) )? ( (lv_function_6_0= ruleFunction ) ) otherlv_7= 'end' ) ;
public final EObject ruleStatement_GlobalFunction_Declaration() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_prefix_1_0=null;
Token otherlv_2=null;
Token lv_prefix_3_0=null;
Token otherlv_4=null;
Token lv_functionName_5_0=null;
Token otherlv_7=null;
EObject lv_function_6_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2373:28: ( (otherlv_0= 'function' ( (lv_prefix_1_0= RULE_ID ) ) (otherlv_2= '.' ( (lv_prefix_3_0= RULE_ID ) ) )* (otherlv_4= ':' ( (lv_functionName_5_0= RULE_ID ) ) )? ( (lv_function_6_0= ruleFunction ) ) otherlv_7= 'end' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2374:1: (otherlv_0= 'function' ( (lv_prefix_1_0= RULE_ID ) ) (otherlv_2= '.' ( (lv_prefix_3_0= RULE_ID ) ) )* (otherlv_4= ':' ( (lv_functionName_5_0= RULE_ID ) ) )? ( (lv_function_6_0= ruleFunction ) ) otherlv_7= 'end' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2374:1: (otherlv_0= 'function' ( (lv_prefix_1_0= RULE_ID ) ) (otherlv_2= '.' ( (lv_prefix_3_0= RULE_ID ) ) )* (otherlv_4= ':' ( (lv_functionName_5_0= RULE_ID ) ) )? ( (lv_function_6_0= ruleFunction ) ) otherlv_7= 'end' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2374:3: otherlv_0= 'function' ( (lv_prefix_1_0= RULE_ID ) ) (otherlv_2= '.' ( (lv_prefix_3_0= RULE_ID ) ) )* (otherlv_4= ':' ( (lv_functionName_5_0= RULE_ID ) ) )? ( (lv_function_6_0= ruleFunction ) ) otherlv_7= 'end'
{
otherlv_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleStatement_GlobalFunction_Declaration5172); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getFunctionKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2378:1: ( (lv_prefix_1_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2379:1: (lv_prefix_1_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2379:1: (lv_prefix_1_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2380:3: lv_prefix_1_0= RULE_ID
{
lv_prefix_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleStatement_GlobalFunction_Declaration5189); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_prefix_1_0, grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getPrefixIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStatement_GlobalFunction_DeclarationRule());
}
addWithLastConsumed(
current,
"prefix",
lv_prefix_1_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2396:2: (otherlv_2= '.' ( (lv_prefix_3_0= RULE_ID ) ) )*
loop34:
do {
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==47) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2396:4: otherlv_2= '.' ( (lv_prefix_3_0= RULE_ID ) )
{
otherlv_2=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleStatement_GlobalFunction_Declaration5207); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getFullStopKeyword_2_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2400:1: ( (lv_prefix_3_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2401:1: (lv_prefix_3_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2401:1: (lv_prefix_3_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2402:3: lv_prefix_3_0= RULE_ID
{
lv_prefix_3_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleStatement_GlobalFunction_Declaration5224); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_prefix_3_0, grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getPrefixIDTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStatement_GlobalFunction_DeclarationRule());
}
addWithLastConsumed(
current,
"prefix",
lv_prefix_3_0,
"ID");
}
}
}
}
break;
default :
break loop34;
}
} while (true);
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2418:4: (otherlv_4= ':' ( (lv_functionName_5_0= RULE_ID ) ) )?
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0==48) ) {
alt35=1;
}
switch (alt35) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2418:6: otherlv_4= ':' ( (lv_functionName_5_0= RULE_ID ) )
{
otherlv_4=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleStatement_GlobalFunction_Declaration5244); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getColonKeyword_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2422:1: ( (lv_functionName_5_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2423:1: (lv_functionName_5_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2423:1: (lv_functionName_5_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2424:3: lv_functionName_5_0= RULE_ID
{
lv_functionName_5_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleStatement_GlobalFunction_Declaration5261); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_functionName_5_0, grammarAccess.getStatement_GlobalFunction_DeclarationAccess().getFunctionNameIDTerminalRuleCall_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStatement_GlobalFunction_DeclarationRule());
}
setWithLastConsumed(
current,
"functionName",
lv_functionName_5_0,
"ID");
}
}
}
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2440:4: ( (lv_function_6_0= ruleFunction ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2441:1: (lv_function_6_0= ruleFunction )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2441:1: (lv_function_6_0= ruleFunction )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2442: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_Declaration5289);
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,35,FollowSets000.FOLLOW_35_in_ruleStatement_GlobalFunction_Declaration5301); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2470: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2471:2: (iv_ruleStatement_LocalFunction_Declaration= ruleStatement_LocalFunction_Declaration EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2472: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_Declaration5337);
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_Declaration5347); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2479:1: ruleStatement_LocalFunction_Declaration returns [EObject current=null] : (otherlv_0= 'local' otherlv_1= 'function' ( (lv_functionName_2_0= RULE_ID ) ) ( (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 lv_functionName_2_0=null;
Token otherlv_4=null;
EObject lv_function_3_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2482:28: ( (otherlv_0= 'local' otherlv_1= 'function' ( (lv_functionName_2_0= RULE_ID ) ) ( (lv_function_3_0= ruleFunction ) ) otherlv_4= 'end' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2483:1: (otherlv_0= 'local' otherlv_1= 'function' ( (lv_functionName_2_0= RULE_ID ) ) ( (lv_function_3_0= ruleFunction ) ) otherlv_4= 'end' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2483:1: (otherlv_0= 'local' otherlv_1= 'function' ( (lv_functionName_2_0= RULE_ID ) ) ( (lv_function_3_0= ruleFunction ) ) otherlv_4= 'end' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2483:3: otherlv_0= 'local' otherlv_1= 'function' ( (lv_functionName_2_0= RULE_ID ) ) ( (lv_function_3_0= ruleFunction ) ) otherlv_4= 'end'
{
otherlv_0=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleStatement_LocalFunction_Declaration5384); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStatement_LocalFunction_DeclarationAccess().getLocalKeyword_0());
}
otherlv_1=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleStatement_LocalFunction_Declaration5396); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getStatement_LocalFunction_DeclarationAccess().getFunctionKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2491:1: ( (lv_functionName_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2492:1: (lv_functionName_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2492:1: (lv_functionName_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2493:3: lv_functionName_2_0= RULE_ID
{
lv_functionName_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleStatement_LocalFunction_Declaration5413); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_functionName_2_0, grammarAccess.getStatement_LocalFunction_DeclarationAccess().getFunctionNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStatement_LocalFunction_DeclarationRule());
}
setWithLastConsumed(
current,
"functionName",
lv_functionName_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2509:2: ( (lv_function_3_0= ruleFunction ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2510:1: (lv_function_3_0= ruleFunction )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2510:1: (lv_function_3_0= ruleFunction )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2511: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_Declaration5439);
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,35,FollowSets000.FOLLOW_35_in_ruleStatement_LocalFunction_Declaration5451); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2539: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2540:2: (iv_ruleStatement_Local_Variable_Declaration= ruleStatement_Local_Variable_Declaration EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2541: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_Declaration5487);
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_Declaration5497); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2548:1: ruleStatement_Local_Variable_Declaration returns [EObject current=null] : (otherlv_0= 'local' ( (lv_variableNames_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_variableNames_3_0= RULE_ID ) ) )* (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 lv_variableNames_1_0=null;
Token otherlv_2=null;
Token lv_variableNames_3_0=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_initialValue_5_0 = null;
EObject lv_initialValue_7_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2551:28: ( (otherlv_0= 'local' ( (lv_variableNames_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_variableNames_3_0= RULE_ID ) ) )* (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2552:1: (otherlv_0= 'local' ( (lv_variableNames_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_variableNames_3_0= RULE_ID ) ) )* (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2552:1: (otherlv_0= 'local' ( (lv_variableNames_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_variableNames_3_0= RULE_ID ) ) )* (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2552:3: otherlv_0= 'local' ( (lv_variableNames_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_variableNames_3_0= RULE_ID ) ) )* (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )?
{
otherlv_0=(Token)match(input,49,FollowSets000.FOLLOW_49_in_ruleStatement_Local_Variable_Declaration5534); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStatement_Local_Variable_DeclarationAccess().getLocalKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2556:1: ( (lv_variableNames_1_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2557:1: (lv_variableNames_1_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2557:1: (lv_variableNames_1_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2558:3: lv_variableNames_1_0= RULE_ID
{
lv_variableNames_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleStatement_Local_Variable_Declaration5551); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_variableNames_1_0, grammarAccess.getStatement_Local_Variable_DeclarationAccess().getVariableNamesIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStatement_Local_Variable_DeclarationRule());
}
addWithLastConsumed(
current,
"variableNames",
lv_variableNames_1_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2574:2: (otherlv_2= ',' ( (lv_variableNames_3_0= RULE_ID ) ) )*
loop36:
do {
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==25) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2574:4: otherlv_2= ',' ( (lv_variableNames_3_0= RULE_ID ) )
{
otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleStatement_Local_Variable_Declaration5569); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getStatement_Local_Variable_DeclarationAccess().getCommaKeyword_2_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2578:1: ( (lv_variableNames_3_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2579:1: (lv_variableNames_3_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2579:1: (lv_variableNames_3_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2580:3: lv_variableNames_3_0= RULE_ID
{
lv_variableNames_3_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleStatement_Local_Variable_Declaration5586); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_variableNames_3_0, grammarAccess.getStatement_Local_Variable_DeclarationAccess().getVariableNamesIDTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStatement_Local_Variable_DeclarationRule());
}
addWithLastConsumed(
current,
"variableNames",
lv_variableNames_3_0,
"ID");
}
}
}
}
break;
default :
break loop36;
}
} while (true);
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2596:4: (otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )* )?
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==44) ) {
alt38=1;
}
switch (alt38) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2596:6: otherlv_4= '=' ( (lv_initialValue_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )*
{
otherlv_4=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleStatement_Local_Variable_Declaration5606); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getStatement_Local_Variable_DeclarationAccess().getEqualsSignKeyword_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2600:1: ( (lv_initialValue_5_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2601:1: (lv_initialValue_5_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2601:1: (lv_initialValue_5_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2602: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_Declaration5627);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2618:2: (otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) ) )*
loop37:
do {
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==25) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2618:4: otherlv_6= ',' ( (lv_initialValue_7_0= ruleExpression ) )
{
otherlv_6=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleStatement_Local_Variable_Declaration5640); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getStatement_Local_Variable_DeclarationAccess().getCommaKeyword_3_2_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2622:1: ( (lv_initialValue_7_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2623:1: (lv_initialValue_7_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2623:1: (lv_initialValue_7_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2624: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_Declaration5661);
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 loop37;
}
} 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2648: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2649:2: (iv_ruleStatement_FunctioncallOrAssignment= ruleStatement_FunctioncallOrAssignment EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2650:2: iv_ruleStatement_FunctioncallOrAssignment= ruleStatement_FunctioncallOrAssignment EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStatement_FunctioncallOrAssignmentRule());
}
pushFollow(FollowSets000.FOLLOW_ruleStatement_FunctioncallOrAssignment_in_entryRuleStatement_FunctioncallOrAssignment5701);
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_FunctioncallOrAssignment5711); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2657: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= RULE_ID ) ) ( (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;
Token lv_memberFunctionName_10_0=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;
EObject lv_arguments_11_0 = null;
EObject lv_arguments_13_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2660: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= RULE_ID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2661: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= RULE_ID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2661: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= RULE_ID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2662: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= RULE_ID ) ) ( (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_FunctioncallOrAssignment5758);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2670: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= RULE_ID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) ) )
int alt41=3;
switch ( input.LA(1) ) {
case 25:
case 44:
{
alt41=1;
}
break;
case 48:
{
alt41=2;
}
break;
case RULE_STRING:
case 12:
case 24:
{
alt41=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 41, 0, input);
throw nvae;
}
switch (alt41) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2670: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2670: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2670: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2670:3: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2671:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndAdd(
grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getStatement_AssignmentVariableAction_1_0_0(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2676:2: ( ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) ) )*
loop39:
do {
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==25) && (synpred1_InternalIoT2())) {
alt39=1;
}
switch (alt39) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2676:3: ( ( ',' )=>otherlv_2= ',' ) ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2676:3: ( ( ',' )=>otherlv_2= ',' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2676:4: ( ',' )=>otherlv_2= ','
{
otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleStatement_FunctioncallOrAssignment5789); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getCommaKeyword_1_0_1_0());
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2681:2: ( (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2682:1: (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2682:1: (lv_variable_3_0= ruleExpression_AccessMemberOrArrayElement )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2683: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_FunctioncallOrAssignment5811);
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 loop39;
}
} while (true);
otherlv_4=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleStatement_FunctioncallOrAssignment5825); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getEqualsSignKeyword_1_0_2());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2703:1: ( (lv_values_5_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2704:1: (lv_values_5_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2704:1: (lv_values_5_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2705: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_FunctioncallOrAssignment5846);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2721:2: (otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) ) )*
loop40:
do {
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==25) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2721:4: otherlv_6= ',' ( (lv_values_7_0= ruleExpression ) )
{
otherlv_6=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleStatement_FunctioncallOrAssignment5859); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getCommaKeyword_1_0_4_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2725:1: ( (lv_values_7_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2726:1: (lv_values_7_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2726:1: (lv_values_7_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2727: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_FunctioncallOrAssignment5880);
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 loop40;
}
} while (true);
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2744:6: (otherlv_8= ':' () ( (lv_memberFunctionName_10_0= RULE_ID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2744:6: (otherlv_8= ':' () ( (lv_memberFunctionName_10_0= RULE_ID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2744:8: otherlv_8= ':' () ( (lv_memberFunctionName_10_0= RULE_ID ) ) ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) )
{
otherlv_8=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleStatement_FunctioncallOrAssignment5902); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getColonKeyword_1_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2748:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2749:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getStatement_CallMemberFunctionObjectAction_1_1_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2754:2: ( (lv_memberFunctionName_10_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2755:1: (lv_memberFunctionName_10_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2755:1: (lv_memberFunctionName_10_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2756:3: lv_memberFunctionName_10_0= RULE_ID
{
lv_memberFunctionName_10_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleStatement_FunctioncallOrAssignment5928); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_memberFunctionName_10_0, grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getMemberFunctionNameIDTerminalRuleCall_1_1_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStatement_FunctioncallOrAssignmentRule());
}
setWithLastConsumed(
current,
"memberFunctionName",
lv_memberFunctionName_10_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2772:2: ( (lv_arguments_11_0= ruleFunctioncall_Arguments ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2773:1: (lv_arguments_11_0= ruleFunctioncall_Arguments )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2773:1: (lv_arguments_11_0= ruleFunctioncall_Arguments )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2774: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_FunctioncallOrAssignment5954);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2791:6: ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2791:6: ( () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2791:7: () ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2791:7: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2792:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getStatement_FunctioncallOrAssignmentAccess().getStatement_CallFunctionObjectAction_1_2_0(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2797:2: ( (lv_arguments_13_0= ruleFunctioncall_Arguments ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2798:1: (lv_arguments_13_0= ruleFunctioncall_Arguments )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2798:1: (lv_arguments_13_0= ruleFunctioncall_Arguments )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2799: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_FunctioncallOrAssignment5992);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2823: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2824:2: (iv_ruleExpression= ruleExpression EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2825:2: iv_ruleExpression= ruleExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_in_entryRuleExpression6030);
iv_ruleExpression=ruleExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleExpression;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleExpression6040); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExpression"
// $ANTLR start "ruleExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2832: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2835:28: (this_Expression_Or_0= ruleExpression_Or )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2837:5: this_Expression_Or_0= ruleExpression_Or
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpressionAccess().getExpression_OrParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Or_in_ruleExpression6086);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2853: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2854:2: (iv_ruleExpression_Or= ruleExpression_Or EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2855:2: iv_ruleExpression_Or= ruleExpression_Or EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_OrRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Or_in_entryRuleExpression_Or6120);
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_Or6130); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2862: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2865:28: ( (this_Expression_And_0= ruleExpression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) )* ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2866:1: (this_Expression_And_0= ruleExpression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) )* )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2866:1: (this_Expression_And_0= ruleExpression_And (otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) )* )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2867: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_Or6177);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2875:1: (otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) ) )*
loop42:
do {
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==50) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2875:3: otherlv_1= 'or' () ( (lv_right_3_0= ruleExpression_And ) )
{
otherlv_1=(Token)match(input,50,FollowSets000.FOLLOW_50_in_ruleExpression_Or6189); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExpression_OrAccess().getOrKeyword_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2879:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2880:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_OrAccess().getExpression_OrLeftAction_1_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2885:2: ( (lv_right_3_0= ruleExpression_And ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2886:1: (lv_right_3_0= ruleExpression_And )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2886:1: (lv_right_3_0= ruleExpression_And )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2887: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_Or6219);
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 loop42;
}
} 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2911: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2912:2: (iv_ruleExpression_And= ruleExpression_And EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2913:2: iv_ruleExpression_And= ruleExpression_And EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_AndRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_And_in_entryRuleExpression_And6257);
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_And6267); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2920: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2923:28: ( (this_Expression_Compare_0= ruleExpression_Compare (otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) )* ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2924:1: (this_Expression_Compare_0= ruleExpression_Compare (otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) )* )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2924:1: (this_Expression_Compare_0= ruleExpression_Compare (otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) )* )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2925: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_And6314);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2933:1: (otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) ) )*
loop43:
do {
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==51) ) {
alt43=1;
}
switch (alt43) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2933:3: otherlv_1= 'and' () ( (lv_right_3_0= ruleExpression_Compare ) )
{
otherlv_1=(Token)match(input,51,FollowSets000.FOLLOW_51_in_ruleExpression_And6326); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExpression_AndAccess().getAndKeyword_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2937:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2938:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_AndAccess().getExpression_AndLeftAction_1_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2943:2: ( (lv_right_3_0= ruleExpression_Compare ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2944:1: (lv_right_3_0= ruleExpression_Compare )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2944:1: (lv_right_3_0= ruleExpression_Compare )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2945: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_And6356);
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 loop43;
}
} 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2969: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2970:2: (iv_ruleExpression_Compare= ruleExpression_Compare EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2971:2: iv_ruleExpression_Compare= ruleExpression_Compare EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_CompareRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Compare_in_entryRuleExpression_Compare6394);
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_Compare6404); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2978: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2981: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2982: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2982: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2983: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_Compare6451);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2991: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 ) ) ) )*
loop44:
do {
int alt44=7;
switch ( input.LA(1) ) {
case 52:
{
alt44=1;
}
break;
case 53:
{
alt44=2;
}
break;
case 54:
{
alt44=3;
}
break;
case 55:
{
alt44=4;
}
break;
case 56:
{
alt44=5;
}
break;
case 57:
{
alt44=6;
}
break;
}
switch (alt44) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2991:2: (otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2991:2: (otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2991:4: otherlv_1= '>' () ( (lv_right_3_0= ruleExpression_Concatenation ) )
{
otherlv_1=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleExpression_Compare6464); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExpression_CompareAccess().getGreaterThanSignKeyword_1_0_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2995:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2996:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_CompareAccess().getExpression_LargerLeftAction_1_0_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3001:2: ( (lv_right_3_0= ruleExpression_Concatenation ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3002:1: (lv_right_3_0= ruleExpression_Concatenation )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3002:1: (lv_right_3_0= ruleExpression_Concatenation )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3003: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_Compare6494);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3020:6: (otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3020:6: (otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3020:8: otherlv_4= '>=' () ( (lv_right_6_0= ruleExpression_Concatenation ) )
{
otherlv_4=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleExpression_Compare6514); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getExpression_CompareAccess().getGreaterThanSignEqualsSignKeyword_1_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3024:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3025:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_CompareAccess().getExpression_Larger_EqualLeftAction_1_1_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3030:2: ( (lv_right_6_0= ruleExpression_Concatenation ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3031:1: (lv_right_6_0= ruleExpression_Concatenation )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3031:1: (lv_right_6_0= ruleExpression_Concatenation )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3032: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_Compare6544);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3049:6: (otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3049:6: (otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3049:8: otherlv_7= '<' () ( (lv_right_9_0= ruleExpression_Concatenation ) )
{
otherlv_7=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleExpression_Compare6564); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getExpression_CompareAccess().getLessThanSignKeyword_1_2_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3053:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3054:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_CompareAccess().getExpression_SmallerLeftAction_1_2_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3059:2: ( (lv_right_9_0= ruleExpression_Concatenation ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3060:1: (lv_right_9_0= ruleExpression_Concatenation )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3060:1: (lv_right_9_0= ruleExpression_Concatenation )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3061: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_Compare6594);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3078:6: (otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3078:6: (otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3078:8: otherlv_10= '<=' () ( (lv_right_12_0= ruleExpression_Concatenation ) )
{
otherlv_10=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleExpression_Compare6614); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getExpression_CompareAccess().getLessThanSignEqualsSignKeyword_1_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3082:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3083:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_CompareAccess().getExpression_Smaller_EqualLeftAction_1_3_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3088:2: ( (lv_right_12_0= ruleExpression_Concatenation ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3089:1: (lv_right_12_0= ruleExpression_Concatenation )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3089:1: (lv_right_12_0= ruleExpression_Concatenation )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3090: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_Compare6644);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3107:6: (otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3107:6: (otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3107:8: otherlv_13= '==' () ( (lv_right_15_0= ruleExpression_Concatenation ) )
{
otherlv_13=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleExpression_Compare6664); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getExpression_CompareAccess().getEqualsSignEqualsSignKeyword_1_4_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3111:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3112:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_CompareAccess().getExpression_EqualLeftAction_1_4_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3117:2: ( (lv_right_15_0= ruleExpression_Concatenation ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3118:1: (lv_right_15_0= ruleExpression_Concatenation )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3118:1: (lv_right_15_0= ruleExpression_Concatenation )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3119: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_Compare6694);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3136:6: (otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3136:6: (otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3136:8: otherlv_16= '~=' () ( (lv_right_18_0= ruleExpression_Concatenation ) )
{
otherlv_16=(Token)match(input,57,FollowSets000.FOLLOW_57_in_ruleExpression_Compare6714); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getExpression_CompareAccess().getTildeEqualsSignKeyword_1_5_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3140:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3141:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_CompareAccess().getExpression_Not_EqualLeftAction_1_5_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3146:2: ( (lv_right_18_0= ruleExpression_Concatenation ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3147:1: (lv_right_18_0= ruleExpression_Concatenation )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3147:1: (lv_right_18_0= ruleExpression_Concatenation )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3148: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_Compare6744);
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 loop44;
}
} 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3172: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3173:2: (iv_ruleExpression_Concatenation= ruleExpression_Concatenation EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3174:2: iv_ruleExpression_Concatenation= ruleExpression_Concatenation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_ConcatenationRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Concatenation_in_entryRuleExpression_Concatenation6783);
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_Concatenation6793); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3181: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3184:28: ( (this_Expression_PlusMinus_0= ruleExpression_PlusMinus (otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3185:1: (this_Expression_PlusMinus_0= ruleExpression_PlusMinus (otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3185:1: (this_Expression_PlusMinus_0= ruleExpression_PlusMinus (otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3186: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_Concatenation6840);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3194:1: (otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) ) )?
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==58) ) {
alt45=1;
}
switch (alt45) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3194:3: otherlv_1= '..' () ( (lv_right_3_0= ruleExpression_Concatenation ) )
{
otherlv_1=(Token)match(input,58,FollowSets000.FOLLOW_58_in_ruleExpression_Concatenation6852); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExpression_ConcatenationAccess().getFullStopFullStopKeyword_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3198:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3199:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_ConcatenationAccess().getExpression_ConcatenationLeftAction_1_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3204:2: ( (lv_right_3_0= ruleExpression_Concatenation ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3205:1: (lv_right_3_0= ruleExpression_Concatenation )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3205:1: (lv_right_3_0= ruleExpression_Concatenation )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3206: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_Concatenation6882);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3230: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3231:2: (iv_ruleExpression_PlusMinus= ruleExpression_PlusMinus EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3232:2: iv_ruleExpression_PlusMinus= ruleExpression_PlusMinus EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_PlusMinusRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_PlusMinus_in_entryRuleExpression_PlusMinus6920);
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_PlusMinus6930); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3239: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3242: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3243: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3243: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3244: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_PlusMinus6977);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3252:1: ( (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) ) | (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) ) )*
loop46:
do {
int alt46=3;
int LA46_0 = input.LA(1);
if ( (LA46_0==59) ) {
alt46=1;
}
else if ( (LA46_0==60) ) {
alt46=2;
}
switch (alt46) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3252:2: (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3252:2: (otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3252:4: otherlv_1= '+' () ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) )
{
otherlv_1=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleExpression_PlusMinus6990); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExpression_PlusMinusAccess().getPlusSignKeyword_1_0_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3256:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3257:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_PlusMinusAccess().getExpression_PlusLeftAction_1_0_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3262:2: ( (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3263:1: (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3263:1: (lv_right_3_0= ruleExpression_MultiplicationDivisionModulo )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3264: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_PlusMinus7020);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3281:6: (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3281:6: (otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3281:8: otherlv_4= '-' () ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) )
{
otherlv_4=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleExpression_PlusMinus7040); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getExpression_PlusMinusAccess().getHyphenMinusKeyword_1_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3285:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3286:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_PlusMinusAccess().getExpression_MinusLeftAction_1_1_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3291:2: ( (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3292:1: (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3292:1: (lv_right_6_0= ruleExpression_MultiplicationDivisionModulo )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3293: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_PlusMinus7070);
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 loop46;
}
} 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3317: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3318:2: (iv_ruleExpression_MultiplicationDivisionModulo= ruleExpression_MultiplicationDivisionModulo EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3319:2: iv_ruleExpression_MultiplicationDivisionModulo= ruleExpression_MultiplicationDivisionModulo EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_MultiplicationDivisionModuloRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_entryRuleExpression_MultiplicationDivisionModulo7109);
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_MultiplicationDivisionModulo7119); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3326: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3329: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3330: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3330: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3331: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_MultiplicationDivisionModulo7166);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3339: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 ) ) ) )*
loop47:
do {
int alt47=4;
switch ( input.LA(1) ) {
case 61:
{
alt47=1;
}
break;
case 62:
{
alt47=2;
}
break;
case 63:
{
alt47=3;
}
break;
}
switch (alt47) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3339:2: (otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3339:2: (otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3339:4: otherlv_1= '*' () ( (lv_right_3_0= ruleExpression_Unary ) )
{
otherlv_1=(Token)match(input,61,FollowSets000.FOLLOW_61_in_ruleExpression_MultiplicationDivisionModulo7179); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getAsteriskKeyword_1_0_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3343:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3344:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getExpression_MultiplicationLeftAction_1_0_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3349:2: ( (lv_right_3_0= ruleExpression_Unary ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3350:1: (lv_right_3_0= ruleExpression_Unary )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3350:1: (lv_right_3_0= ruleExpression_Unary )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3351: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_MultiplicationDivisionModulo7209);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3368:6: (otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3368:6: (otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3368:8: otherlv_4= '/' () ( (lv_right_6_0= ruleExpression_Unary ) )
{
otherlv_4=(Token)match(input,62,FollowSets000.FOLLOW_62_in_ruleExpression_MultiplicationDivisionModulo7229); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getSolidusKeyword_1_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3372:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3373:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getExpression_DivisionLeftAction_1_1_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3378:2: ( (lv_right_6_0= ruleExpression_Unary ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3379:1: (lv_right_6_0= ruleExpression_Unary )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3379:1: (lv_right_6_0= ruleExpression_Unary )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3380: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_MultiplicationDivisionModulo7259);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3397:6: (otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3397:6: (otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3397:8: otherlv_7= '%' () ( (lv_right_9_0= ruleExpression_Unary ) )
{
otherlv_7=(Token)match(input,63,FollowSets000.FOLLOW_63_in_ruleExpression_MultiplicationDivisionModulo7279); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getPercentSignKeyword_1_2_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3401:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3402:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_MultiplicationDivisionModuloAccess().getExpression_ModuloLeftAction_1_2_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3407:2: ( (lv_right_9_0= ruleExpression_Unary ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3408:1: (lv_right_9_0= ruleExpression_Unary )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3408:1: (lv_right_9_0= ruleExpression_Unary )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3409: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_MultiplicationDivisionModulo7309);
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 loop47;
}
} 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3433: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3434:2: (iv_ruleExpression_Unary= ruleExpression_Unary EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3435:2: iv_ruleExpression_Unary= ruleExpression_Unary EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_UnaryRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Unary_in_entryRuleExpression_Unary7348);
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_Unary7358); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3442: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3445: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3446: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3446: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 alt48=4;
switch ( input.LA(1) ) {
case RULE_ID:
case RULE_STRING:
case RULE_INT:
case 12:
case 21:
case 22:
case 24:
case 46:
case 67:
case 68:
{
alt48=1;
}
break;
case 64:
{
alt48=2;
}
break;
case 65:
{
alt48=3;
}
break;
case 60:
{
alt48=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 48, 0, input);
throw nvae;
}
switch (alt48) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3447: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_Unary7405);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3456:6: (otherlv_1= 'not' () ( (lv_exp_3_0= ruleExpression_Unary ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3456:6: (otherlv_1= 'not' () ( (lv_exp_3_0= ruleExpression_Unary ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3456:8: otherlv_1= 'not' () ( (lv_exp_3_0= ruleExpression_Unary ) )
{
otherlv_1=(Token)match(input,64,FollowSets000.FOLLOW_64_in_ruleExpression_Unary7423); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExpression_UnaryAccess().getNotKeyword_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3460:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3461:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getExpression_UnaryAccess().getExpression_NegateAction_1_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3466:2: ( (lv_exp_3_0= ruleExpression_Unary ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3467:1: (lv_exp_3_0= ruleExpression_Unary )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3467:1: (lv_exp_3_0= ruleExpression_Unary )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3468: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_Unary7453);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3485:6: (otherlv_4= '#' () ( (lv_exp_6_0= ruleExpression_Unary ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3485:6: (otherlv_4= '#' () ( (lv_exp_6_0= ruleExpression_Unary ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3485:8: otherlv_4= '#' () ( (lv_exp_6_0= ruleExpression_Unary ) )
{
otherlv_4=(Token)match(input,65,FollowSets000.FOLLOW_65_in_ruleExpression_Unary7473); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getExpression_UnaryAccess().getNumberSignKeyword_2_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3489:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3490:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getExpression_UnaryAccess().getExpression_LengthAction_2_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3495:2: ( (lv_exp_6_0= ruleExpression_Unary ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3496:1: (lv_exp_6_0= ruleExpression_Unary )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3496:1: (lv_exp_6_0= ruleExpression_Unary )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3497: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_Unary7503);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3514:6: (otherlv_7= '-' () ( (lv_exp_9_0= ruleExpression_Unary ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3514:6: (otherlv_7= '-' () ( (lv_exp_9_0= ruleExpression_Unary ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3514:8: otherlv_7= '-' () ( (lv_exp_9_0= ruleExpression_Unary ) )
{
otherlv_7=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleExpression_Unary7523); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getExpression_UnaryAccess().getHyphenMinusKeyword_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3518:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3519:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getExpression_UnaryAccess().getExpression_InvertAction_3_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3524:2: ( (lv_exp_9_0= ruleExpression_Unary ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3525:1: (lv_exp_9_0= ruleExpression_Unary )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3525:1: (lv_exp_9_0= ruleExpression_Unary )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3526: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_Unary7553);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3550: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3551:2: (iv_ruleExpression_Exponentiation= ruleExpression_Exponentiation EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3552:2: iv_ruleExpression_Exponentiation= ruleExpression_Exponentiation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_ExponentiationRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Exponentiation_in_entryRuleExpression_Exponentiation7590);
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_Exponentiation7600); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3559: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3562:28: ( (this_Expression_Terminal_0= ruleExpression_Terminal (otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3563:1: (this_Expression_Terminal_0= ruleExpression_Terminal (otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3563:1: (this_Expression_Terminal_0= ruleExpression_Terminal (otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3564: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_Exponentiation7647);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3572:1: (otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) ) )?
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==66) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3572:3: otherlv_1= '^' () ( (lv_right_3_0= ruleExpression_Exponentiation ) )
{
otherlv_1=(Token)match(input,66,FollowSets000.FOLLOW_66_in_ruleExpression_Exponentiation7659); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExpression_ExponentiationAccess().getCircumflexAccentKeyword_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3576:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3577:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_ExponentiationAccess().getExpression_ExponentiationLeftAction_1_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3582:2: ( (lv_right_3_0= ruleExpression_Exponentiation ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3583:1: (lv_right_3_0= ruleExpression_Exponentiation )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3583:1: (lv_right_3_0= ruleExpression_Exponentiation )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3584: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_Exponentiation7689);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3608: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3609:2: (iv_ruleExpression_Terminal= ruleExpression_Terminal EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3610:2: iv_ruleExpression_Terminal= ruleExpression_Terminal EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_TerminalRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Terminal_in_entryRuleExpression_Terminal7727);
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_Terminal7737); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3617: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3620: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3621: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3621: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 alt50=9;
switch ( input.LA(1) ) {
case 67:
{
alt50=1;
}
break;
case 21:
{
alt50=2;
}
break;
case 22:
{
alt50=3;
}
break;
case RULE_INT:
{
alt50=4;
}
break;
case 68:
{
alt50=5;
}
break;
case RULE_STRING:
{
alt50=6;
}
break;
case 46:
{
alt50=7;
}
break;
case 12:
{
alt50=8;
}
break;
case RULE_ID:
case 24:
{
alt50=9;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 50, 0, input);
throw nvae;
}
switch (alt50) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3622: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_Terminal7784);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3632: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_Terminal7811);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3642: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_Terminal7838);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3652: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_Terminal7865);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3662: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_Terminal7892);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3672: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_Terminal7919);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3682: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_Terminal7946);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3692: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_Terminal7973);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3702: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_Terminal8000);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3718: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3719:2: (iv_ruleExpression_Nil= ruleExpression_Nil EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3720:2: iv_ruleExpression_Nil= ruleExpression_Nil EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_NilRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Nil_in_entryRuleExpression_Nil8035);
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_Nil8045); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3727: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3730:28: ( (otherlv_0= 'nil' () ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3731:1: (otherlv_0= 'nil' () )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3731:1: (otherlv_0= 'nil' () )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3731:3: otherlv_0= 'nil' ()
{
otherlv_0=(Token)match(input,67,FollowSets000.FOLLOW_67_in_ruleExpression_Nil8082); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getExpression_NilAccess().getNilKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3735:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3736: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3749: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3750:2: (iv_ruleExpression_True= ruleExpression_True EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3751:2: iv_ruleExpression_True= ruleExpression_True EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_TrueRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_True_in_entryRuleExpression_True8127);
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_True8137); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3758: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3761:28: ( (otherlv_0= 'true' () ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3762:1: (otherlv_0= 'true' () )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3762:1: (otherlv_0= 'true' () )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3762:3: otherlv_0= 'true' ()
{
otherlv_0=(Token)match(input,21,FollowSets000.FOLLOW_21_in_ruleExpression_True8174); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getExpression_TrueAccess().getTrueKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3766:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3767: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3780: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3781:2: (iv_ruleExpression_False= ruleExpression_False EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3782:2: iv_ruleExpression_False= ruleExpression_False EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_FalseRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_False_in_entryRuleExpression_False8219);
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_False8229); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3789: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3792:28: ( (otherlv_0= 'false' () ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3793:1: (otherlv_0= 'false' () )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3793:1: (otherlv_0= 'false' () )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3793:3: otherlv_0= 'false' ()
{
otherlv_0=(Token)match(input,22,FollowSets000.FOLLOW_22_in_ruleExpression_False8266); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getExpression_FalseAccess().getFalseKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3797:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3798: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3811: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3812:2: (iv_ruleExpression_Number= ruleExpression_Number EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3813:2: iv_ruleExpression_Number= ruleExpression_Number EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_NumberRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Number_in_entryRuleExpression_Number8311);
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_Number8321); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3820:1: ruleExpression_Number returns [EObject current=null] : ( (lv_value_0_0= ruleDouble ) ) ;
public final EObject ruleExpression_Number() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_value_0_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3823:28: ( ( (lv_value_0_0= ruleDouble ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3824:1: ( (lv_value_0_0= ruleDouble ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3824:1: ( (lv_value_0_0= ruleDouble ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3825:1: (lv_value_0_0= ruleDouble )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3825:1: (lv_value_0_0= ruleDouble )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3826:3: lv_value_0_0= ruleDouble
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_NumberAccess().getValueDoubleParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleDouble_in_ruleExpression_Number8366);
lv_value_0_0=ruleDouble();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpression_NumberRule());
}
set(
current,
"value",
lv_value_0_0,
"Double");
afterParserOrEnumRuleCall();
}
}
}
}
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3850: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3851:2: (iv_ruleExpression_VarArgs= ruleExpression_VarArgs EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3852:2: iv_ruleExpression_VarArgs= ruleExpression_VarArgs EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_VarArgsRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_VarArgs_in_entryRuleExpression_VarArgs8401);
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_VarArgs8411); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3859: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3862:28: ( (otherlv_0= '...' () ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3863:1: (otherlv_0= '...' () )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3863:1: (otherlv_0= '...' () )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3863:3: otherlv_0= '...' ()
{
otherlv_0=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleExpression_VarArgs8448); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getExpression_VarArgsAccess().getFullStopFullStopFullStopKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3867:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3868: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3881: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3882:2: (iv_ruleExpression_String= ruleExpression_String EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3883:2: iv_ruleExpression_String= ruleExpression_String EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_StringRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_String_in_entryRuleExpression_String8493);
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_String8503); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3890: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3893:28: ( ( (lv_value_0_0= RULE_STRING ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3894:1: ( (lv_value_0_0= RULE_STRING ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3894:1: ( (lv_value_0_0= RULE_STRING ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3895:1: (lv_value_0_0= RULE_STRING )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3895:1: (lv_value_0_0= RULE_STRING )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3896:3: lv_value_0_0= RULE_STRING
{
lv_value_0_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleExpression_String8544); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3920: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3921:2: (iv_ruleExpression_Function= ruleExpression_Function EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3922:2: iv_ruleExpression_Function= ruleExpression_Function EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_FunctionRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Function_in_entryRuleExpression_Function8584);
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_Function8594); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3929: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3932:28: ( (otherlv_0= 'function' ( (lv_function_1_0= ruleFunction ) ) otherlv_2= 'end' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3933:1: (otherlv_0= 'function' ( (lv_function_1_0= ruleFunction ) ) otherlv_2= 'end' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3933:1: (otherlv_0= 'function' ( (lv_function_1_0= ruleFunction ) ) otherlv_2= 'end' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3933:3: otherlv_0= 'function' ( (lv_function_1_0= ruleFunction ) ) otherlv_2= 'end'
{
otherlv_0=(Token)match(input,46,FollowSets000.FOLLOW_46_in_ruleExpression_Function8631); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getExpression_FunctionAccess().getFunctionKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3937:1: ( (lv_function_1_0= ruleFunction ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3938:1: (lv_function_1_0= ruleFunction )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3938:1: (lv_function_1_0= ruleFunction )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3939:3: lv_function_1_0= ruleFunction
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_FunctionAccess().getFunctionFunctionParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleFunction_in_ruleExpression_Function8652);
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,35,FollowSets000.FOLLOW_35_in_ruleExpression_Function8664); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3967: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3968:2: (iv_ruleExpression_TableConstructor= ruleExpression_TableConstructor EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3969:2: iv_ruleExpression_TableConstructor= ruleExpression_TableConstructor EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_TableConstructorRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_TableConstructor_in_entryRuleExpression_TableConstructor8700);
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_TableConstructor8710); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3976: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3979: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3980: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3980: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3980: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,12,FollowSets000.FOLLOW_12_in_ruleExpression_TableConstructor8747); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getExpression_TableConstructorAccess().getLeftCurlyBracketKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3984:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3985:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getExpression_TableConstructorAccess().getExpression_TableConstructorAction_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3990:2: ( ( (lv_fields_2_0= ruleField ) ) ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )* (otherlv_6= ',' | otherlv_7= ';' )? )?
int alt54=2;
int LA54_0 = input.LA(1);
if ( ((LA54_0>=RULE_ID && LA54_0<=RULE_INT)||LA54_0==12||LA54_0==18||(LA54_0>=21 && LA54_0<=22)||LA54_0==24||LA54_0==46||LA54_0==60||(LA54_0>=64 && LA54_0<=65)||(LA54_0>=67 && LA54_0<=68)) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3990:3: ( (lv_fields_2_0= ruleField ) ) ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )* (otherlv_6= ',' | otherlv_7= ';' )?
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3990:3: ( (lv_fields_2_0= ruleField ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3991:1: (lv_fields_2_0= ruleField )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3991:1: (lv_fields_2_0= ruleField )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:3992:3: lv_fields_2_0= ruleField
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_TableConstructorAccess().getFieldsFieldParserRuleCall_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleField_in_ruleExpression_TableConstructor8778);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4008:2: ( (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) ) )*
loop52:
do {
int alt52=2;
int LA52_0 = input.LA(1);
if ( (LA52_0==25) ) {
int LA52_1 = input.LA(2);
if ( ((LA52_1>=RULE_ID && LA52_1<=RULE_INT)||LA52_1==12||LA52_1==18||(LA52_1>=21 && LA52_1<=22)||LA52_1==24||LA52_1==46||LA52_1==60||(LA52_1>=64 && LA52_1<=65)||(LA52_1>=67 && LA52_1<=68)) ) {
alt52=1;
}
}
else if ( (LA52_0==31) ) {
int LA52_2 = input.LA(2);
if ( ((LA52_2>=RULE_ID && LA52_2<=RULE_INT)||LA52_2==12||LA52_2==18||(LA52_2>=21 && LA52_2<=22)||LA52_2==24||LA52_2==46||LA52_2==60||(LA52_2>=64 && LA52_2<=65)||(LA52_2>=67 && LA52_2<=68)) ) {
alt52=1;
}
}
switch (alt52) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4008:3: (otherlv_3= ',' | otherlv_4= ';' ) ( (lv_fields_5_0= ruleField ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4008:3: (otherlv_3= ',' | otherlv_4= ';' )
int alt51=2;
int LA51_0 = input.LA(1);
if ( (LA51_0==25) ) {
alt51=1;
}
else if ( (LA51_0==31) ) {
alt51=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 51, 0, input);
throw nvae;
}
switch (alt51) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4008:5: otherlv_3= ','
{
otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleExpression_TableConstructor8792); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4013:7: otherlv_4= ';'
{
otherlv_4=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleExpression_TableConstructor8810); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getExpression_TableConstructorAccess().getSemicolonKeyword_2_1_0_1());
}
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4017:2: ( (lv_fields_5_0= ruleField ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4018:1: (lv_fields_5_0= ruleField )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4018:1: (lv_fields_5_0= ruleField )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4019: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_TableConstructor8832);
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 loop52;
}
} while (true);
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4035:4: (otherlv_6= ',' | otherlv_7= ';' )?
int alt53=3;
int LA53_0 = input.LA(1);
if ( (LA53_0==25) ) {
alt53=1;
}
else if ( (LA53_0==31) ) {
alt53=2;
}
switch (alt53) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4035:6: otherlv_6= ','
{
otherlv_6=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleExpression_TableConstructor8847); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4040:7: otherlv_7= ';'
{
otherlv_7=(Token)match(input,31,FollowSets000.FOLLOW_31_in_ruleExpression_TableConstructor8865); 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,13,FollowSets000.FOLLOW_13_in_ruleExpression_TableConstructor8881); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4056: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4057:2: (iv_ruleExpression_Functioncall= ruleExpression_Functioncall EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4058:2: iv_ruleExpression_Functioncall= ruleExpression_Functioncall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_FunctioncallRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_Functioncall_in_entryRuleExpression_Functioncall8917);
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_Functioncall8927); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4065:1: ruleExpression_Functioncall returns [EObject current=null] : (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= RULE_ID ) ) ( (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;
Token lv_memberFunctionName_3_0=null;
EObject this_Expression_AccessMemberOrArrayElement_0 = null;
EObject lv_arguments_4_0 = null;
EObject lv_arguments_6_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4068:28: ( (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= RULE_ID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4069:1: (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= RULE_ID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4069:1: (this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= RULE_ID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4070:5: this_Expression_AccessMemberOrArrayElement_0= ruleExpression_AccessMemberOrArrayElement ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= RULE_ID ) ) ( (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_Functioncall8974);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4078:1: ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= RULE_ID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) ) | ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) ) )?
int alt55=3;
alt55 = dfa55.predict(input);
switch (alt55) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4078:2: ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= RULE_ID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4078:2: ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= RULE_ID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4078:3: ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= RULE_ID ) ) ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4078:3: ( ( ':' )=>otherlv_1= ':' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4078:4: ( ':' )=>otherlv_1= ':'
{
otherlv_1=(Token)match(input,48,FollowSets000.FOLLOW_48_in_ruleExpression_Functioncall8995); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExpression_FunctioncallAccess().getColonKeyword_1_0_0());
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4083:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4084:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_FunctioncallAccess().getExpression_CallMemberFunctionObjectAction_1_0_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4089:2: ( (lv_memberFunctionName_3_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4090:1: (lv_memberFunctionName_3_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4090:1: (lv_memberFunctionName_3_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4091:3: lv_memberFunctionName_3_0= RULE_ID
{
lv_memberFunctionName_3_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleExpression_Functioncall9022); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_memberFunctionName_3_0, grammarAccess.getExpression_FunctioncallAccess().getMemberFunctionNameIDTerminalRuleCall_1_0_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExpression_FunctioncallRule());
}
setWithLastConsumed(
current,
"memberFunctionName",
lv_memberFunctionName_3_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4107:2: ( (lv_arguments_4_0= ruleFunctioncall_Arguments ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4108:1: (lv_arguments_4_0= ruleFunctioncall_Arguments )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4108:1: (lv_arguments_4_0= ruleFunctioncall_Arguments )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4109: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_Functioncall9048);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4126:6: ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4126:6: ( () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4126:7: () ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4126:7: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4127:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_FunctioncallAccess().getExpression_CallFunctionObjectAction_1_1_0(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4132:2: ( (lv_arguments_6_0= ruleFunctioncall_Arguments ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4133:1: (lv_arguments_6_0= ruleFunctioncall_Arguments )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4133:1: (lv_arguments_6_0= ruleFunctioncall_Arguments )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4134: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_Functioncall9086);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4158: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4159:2: (iv_ruleExpression_AccessMemberOrArrayElement= ruleExpression_AccessMemberOrArrayElement EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4160:2: iv_ruleExpression_AccessMemberOrArrayElement= ruleExpression_AccessMemberOrArrayElement EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_AccessMemberOrArrayElementRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_entryRuleExpression_AccessMemberOrArrayElement9125);
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_AccessMemberOrArrayElement9135); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4167: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= RULE_ID ) ) ) )* ) ;
public final EObject ruleExpression_AccessMemberOrArrayElement() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_4=null;
Token otherlv_5=null;
Token lv_memberName_7_0=null;
EObject this_Expression_VariableName_0 = null;
EObject lv_index_3_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4170:28: ( (this_Expression_VariableName_0= ruleExpression_VariableName ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= RULE_ID ) ) ) )* ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4171:1: (this_Expression_VariableName_0= ruleExpression_VariableName ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= RULE_ID ) ) ) )* )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4171:1: (this_Expression_VariableName_0= ruleExpression_VariableName ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= RULE_ID ) ) ) )* )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4172:5: this_Expression_VariableName_0= ruleExpression_VariableName ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= RULE_ID ) ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getExpression_VariableNameParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_VariableName_in_ruleExpression_AccessMemberOrArrayElement9182);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4180:1: ( (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' ) | (otherlv_5= '.' () ( (lv_memberName_7_0= RULE_ID ) ) ) )*
loop56:
do {
int alt56=3;
int LA56_0 = input.LA(1);
if ( (LA56_0==18) ) {
alt56=1;
}
else if ( (LA56_0==47) ) {
alt56=2;
}
switch (alt56) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4180:2: (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4180:2: (otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4180:4: otherlv_1= '[' () ( (lv_index_3_0= ruleExpression ) ) otherlv_4= ']'
{
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleExpression_AccessMemberOrArrayElement9195); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getLeftSquareBracketKeyword_1_0_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4184:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4185:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getExpression_AccessArrayArrayAction_1_0_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4190:2: ( (lv_index_3_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4191:1: (lv_index_3_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4191:1: (lv_index_3_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4192: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_AccessMemberOrArrayElement9225);
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,19,FollowSets000.FOLLOW_19_in_ruleExpression_AccessMemberOrArrayElement9237); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4213:6: (otherlv_5= '.' () ( (lv_memberName_7_0= RULE_ID ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4213:6: (otherlv_5= '.' () ( (lv_memberName_7_0= RULE_ID ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4213:8: otherlv_5= '.' () ( (lv_memberName_7_0= RULE_ID ) )
{
otherlv_5=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleExpression_AccessMemberOrArrayElement9257); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getFullStopKeyword_1_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4217:1: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4218:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getExpression_AccessMemberObjectAction_1_1_1(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4223:2: ( (lv_memberName_7_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4224:1: (lv_memberName_7_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4224:1: (lv_memberName_7_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4225:3: lv_memberName_7_0= RULE_ID
{
lv_memberName_7_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleExpression_AccessMemberOrArrayElement9283); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_memberName_7_0, grammarAccess.getExpression_AccessMemberOrArrayElementAccess().getMemberNameIDTerminalRuleCall_1_1_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExpression_AccessMemberOrArrayElementRule());
}
setWithLastConsumed(
current,
"memberName",
lv_memberName_7_0,
"ID");
}
}
}
}
}
break;
default :
break loop56;
}
} 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4249: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4250:2: (iv_ruleExpression_VariableName= ruleExpression_VariableName EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4251:2: iv_ruleExpression_VariableName= ruleExpression_VariableName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExpression_VariableNameRule());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_VariableName_in_entryRuleExpression_VariableName9327);
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_VariableName9337); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4258:1: ruleExpression_VariableName returns [EObject current=null] : ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () ( (lv_variable_4_0= RULE_ID ) ) ) ) ;
public final EObject ruleExpression_VariableName() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token lv_variable_4_0=null;
EObject this_Expression_1 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4261:28: ( ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () ( (lv_variable_4_0= RULE_ID ) ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4262:1: ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () ( (lv_variable_4_0= RULE_ID ) ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4262:1: ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () ( (lv_variable_4_0= RULE_ID ) ) ) )
int alt57=2;
int LA57_0 = input.LA(1);
if ( (LA57_0==24) ) {
alt57=1;
}
else if ( (LA57_0==RULE_ID) ) {
alt57=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 57, 0, input);
throw nvae;
}
switch (alt57) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4262:2: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4262:2: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4262:4: otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')'
{
otherlv_0=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleExpression_VariableName9375); 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_VariableName9397);
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,26,FollowSets000.FOLLOW_26_in_ruleExpression_VariableName9408); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getExpression_VariableNameAccess().getRightParenthesisKeyword_0_2());
}
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4280:6: ( () ( (lv_variable_4_0= RULE_ID ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4280:6: ( () ( (lv_variable_4_0= RULE_ID ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4280:7: () ( (lv_variable_4_0= RULE_ID ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4280:7: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4281:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getExpression_VariableNameAccess().getExpression_VariableNameAction_1_0(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4286:2: ( (lv_variable_4_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4287:1: (lv_variable_4_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4287:1: (lv_variable_4_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4288:3: lv_variable_4_0= RULE_ID
{
lv_variable_4_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleExpression_VariableName9442); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_variable_4_0, grammarAccess.getExpression_VariableNameAccess().getVariableIDTerminalRuleCall_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getExpression_VariableNameRule());
}
setWithLastConsumed(
current,
"variable",
lv_variable_4_0,
"ID");
}
}
}
}
}
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4312: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4313:2: (iv_ruleFunction= ruleFunction EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4314:2: iv_ruleFunction= ruleFunction EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFunctionRule());
}
pushFollow(FollowSets000.FOLLOW_ruleFunction_in_entryRuleFunction9484);
iv_ruleFunction=ruleFunction();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleFunction;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleFunction9494); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFunction"
// $ANTLR start "ruleFunction"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4321:1: ruleFunction returns [EObject current=null] : (otherlv_0= '(' ( ( (lv_parameters_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= RULE_ID ) ) )* (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 lv_parameters_1_0=null;
Token otherlv_2=null;
Token lv_parameters_3_0=null;
Token otherlv_4=null;
Token lv_varArgs_5_0=null;
Token otherlv_6=null;
EObject lv_body_7_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4324:28: ( (otherlv_0= '(' ( ( (lv_parameters_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= RULE_ID ) ) )* (otherlv_4= ',' )? )? ( (lv_varArgs_5_0= '...' ) )? otherlv_6= ')' ( (lv_body_7_0= ruleBlock ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4325:1: (otherlv_0= '(' ( ( (lv_parameters_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= RULE_ID ) ) )* (otherlv_4= ',' )? )? ( (lv_varArgs_5_0= '...' ) )? otherlv_6= ')' ( (lv_body_7_0= ruleBlock ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4325:1: (otherlv_0= '(' ( ( (lv_parameters_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= RULE_ID ) ) )* (otherlv_4= ',' )? )? ( (lv_varArgs_5_0= '...' ) )? otherlv_6= ')' ( (lv_body_7_0= ruleBlock ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4325:3: otherlv_0= '(' ( ( (lv_parameters_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= RULE_ID ) ) )* (otherlv_4= ',' )? )? ( (lv_varArgs_5_0= '...' ) )? otherlv_6= ')' ( (lv_body_7_0= ruleBlock ) )
{
otherlv_0=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleFunction9531); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4329:1: ( ( (lv_parameters_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= RULE_ID ) ) )* (otherlv_4= ',' )? )?
int alt60=2;
int LA60_0 = input.LA(1);
if ( (LA60_0==RULE_ID) ) {
alt60=1;
}
switch (alt60) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4329:2: ( (lv_parameters_1_0= RULE_ID ) ) (otherlv_2= ',' ( (lv_parameters_3_0= RULE_ID ) ) )* (otherlv_4= ',' )?
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4329:2: ( (lv_parameters_1_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4330:1: (lv_parameters_1_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4330:1: (lv_parameters_1_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4331:3: lv_parameters_1_0= RULE_ID
{
lv_parameters_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleFunction9549); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_parameters_1_0, grammarAccess.getFunctionAccess().getParametersIDTerminalRuleCall_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getFunctionRule());
}
addWithLastConsumed(
current,
"parameters",
lv_parameters_1_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4347:2: (otherlv_2= ',' ( (lv_parameters_3_0= RULE_ID ) ) )*
loop58:
do {
int alt58=2;
int LA58_0 = input.LA(1);
if ( (LA58_0==25) ) {
int LA58_1 = input.LA(2);
if ( (LA58_1==RULE_ID) ) {
alt58=1;
}
}
switch (alt58) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4347:4: otherlv_2= ',' ( (lv_parameters_3_0= RULE_ID ) )
{
otherlv_2=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleFunction9567); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getFunctionAccess().getCommaKeyword_1_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4351:1: ( (lv_parameters_3_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4352:1: (lv_parameters_3_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4352:1: (lv_parameters_3_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4353:3: lv_parameters_3_0= RULE_ID
{
lv_parameters_3_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleFunction9584); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_parameters_3_0, grammarAccess.getFunctionAccess().getParametersIDTerminalRuleCall_1_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getFunctionRule());
}
addWithLastConsumed(
current,
"parameters",
lv_parameters_3_0,
"ID");
}
}
}
}
break;
default :
break loop58;
}
} while (true);
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4369:4: (otherlv_4= ',' )?
int alt59=2;
int LA59_0 = input.LA(1);
if ( (LA59_0==25) ) {
alt59=1;
}
switch (alt59) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4369:6: otherlv_4= ','
{
otherlv_4=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleFunction9604); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getFunctionAccess().getCommaKeyword_1_2());
}
}
break;
}
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4373:5: ( (lv_varArgs_5_0= '...' ) )?
int alt61=2;
int LA61_0 = input.LA(1);
if ( (LA61_0==68) ) {
alt61=1;
}
switch (alt61) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4374:1: (lv_varArgs_5_0= '...' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4374:1: (lv_varArgs_5_0= '...' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4375:3: lv_varArgs_5_0= '...'
{
lv_varArgs_5_0=(Token)match(input,68,FollowSets000.FOLLOW_68_in_ruleFunction9626); 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,26,FollowSets000.FOLLOW_26_in_ruleFunction9652); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4392:1: ( (lv_body_7_0= ruleBlock ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4393:1: (lv_body_7_0= ruleBlock )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4393:1: (lv_body_7_0= ruleBlock )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4394:3: lv_body_7_0= ruleBlock
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFunctionAccess().getBodyBlockParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBlock_in_ruleFunction9673);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4418: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4419:2: (iv_ruleFunctioncall_Arguments= ruleFunctioncall_Arguments EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4420:2: iv_ruleFunctioncall_Arguments= ruleFunctioncall_Arguments EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFunctioncall_ArgumentsRule());
}
pushFollow(FollowSets000.FOLLOW_ruleFunctioncall_Arguments_in_entryRuleFunctioncall_Arguments9709);
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_Arguments9719); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4427: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4430: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4431: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4431: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4431: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4431:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4432:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getFunctioncall_ArgumentsAccess().getFunctioncall_ArgumentsAction_0(),
current);
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4437: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 alt64=3;
switch ( input.LA(1) ) {
case 24:
{
alt64=1;
}
break;
case 12:
{
alt64=2;
}
break;
case RULE_STRING:
{
alt64=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 64, 0, input);
throw nvae;
}
switch (alt64) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4437:3: (otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4437:3: (otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4437:5: otherlv_1= '(' ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )? otherlv_5= ')'
{
otherlv_1=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleFunctioncall_Arguments9767); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getFunctioncall_ArgumentsAccess().getLeftParenthesisKeyword_1_0_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4441:1: ( ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )* )?
int alt63=2;
int LA63_0 = input.LA(1);
if ( ((LA63_0>=RULE_ID && LA63_0<=RULE_INT)||LA63_0==12||(LA63_0>=21 && LA63_0<=22)||LA63_0==24||LA63_0==46||LA63_0==60||(LA63_0>=64 && LA63_0<=65)||(LA63_0>=67 && LA63_0<=68)) ) {
alt63=1;
}
switch (alt63) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4441:2: ( (lv_arguments_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )*
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4441:2: ( (lv_arguments_2_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4442:1: (lv_arguments_2_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4442:1: (lv_arguments_2_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4443: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_Arguments9789);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4459:2: (otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) ) )*
loop62:
do {
int alt62=2;
int LA62_0 = input.LA(1);
if ( (LA62_0==25) ) {
alt62=1;
}
switch (alt62) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4459:4: otherlv_3= ',' ( (lv_arguments_4_0= ruleExpression ) )
{
otherlv_3=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleFunctioncall_Arguments9802); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getFunctioncall_ArgumentsAccess().getCommaKeyword_1_0_1_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4463:1: ( (lv_arguments_4_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4464:1: (lv_arguments_4_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4464:1: (lv_arguments_4_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4465: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_Arguments9823);
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 loop62;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleFunctioncall_Arguments9839); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4486:6: ( (lv_arguments_6_0= ruleExpression_TableConstructor ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4486:6: ( (lv_arguments_6_0= ruleExpression_TableConstructor ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4487:1: (lv_arguments_6_0= ruleExpression_TableConstructor )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4487:1: (lv_arguments_6_0= ruleExpression_TableConstructor )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4488: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_Arguments9867);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4505:6: ( (lv_arguments_7_0= ruleExpression_String ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4505:6: ( (lv_arguments_7_0= ruleExpression_String ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4506:1: (lv_arguments_7_0= ruleExpression_String )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4506:1: (lv_arguments_7_0= ruleExpression_String )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4507: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_Arguments9894);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4531: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4532:2: (iv_ruleField= ruleField EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4533:2: iv_ruleField= ruleField EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFieldRule());
}
pushFollow(FollowSets000.FOLLOW_ruleField_in_entryRuleField9931);
iv_ruleField=ruleField();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleField;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleField9941); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleField"
// $ANTLR start "ruleField"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4540: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4543:28: ( (this_Field_AddEntryToTable_Brackets_0= ruleField_AddEntryToTable_Brackets | this_Field_AddEntryToTable_1= ruleField_AddEntryToTable | this_Field_AppendEntryToTable_2= ruleField_AppendEntryToTable ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4544:1: (this_Field_AddEntryToTable_Brackets_0= ruleField_AddEntryToTable_Brackets | this_Field_AddEntryToTable_1= ruleField_AddEntryToTable | this_Field_AppendEntryToTable_2= ruleField_AppendEntryToTable )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4544:1: (this_Field_AddEntryToTable_Brackets_0= ruleField_AddEntryToTable_Brackets | this_Field_AddEntryToTable_1= ruleField_AddEntryToTable | this_Field_AppendEntryToTable_2= ruleField_AppendEntryToTable )
int alt65=3;
switch ( input.LA(1) ) {
case 18:
{
alt65=1;
}
break;
case RULE_ID:
{
int LA65_2 = input.LA(2);
if ( (LA65_2==44) ) {
alt65=2;
}
else if ( (LA65_2==EOF||LA65_2==RULE_STRING||(LA65_2>=12 && LA65_2<=13)||LA65_2==18||(LA65_2>=24 && LA65_2<=25)||LA65_2==31||(LA65_2>=47 && LA65_2<=48)||(LA65_2>=50 && LA65_2<=63)||LA65_2==66) ) {
alt65=3;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 65, 2, input);
throw nvae;
}
}
break;
case RULE_STRING:
case RULE_INT:
case 12:
case 21:
case 22:
case 24:
case 46:
case 60:
case 64:
case 65:
case 67:
case 68:
{
alt65=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 65, 0, input);
throw nvae;
}
switch (alt65) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4545: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_ruleField9988);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4555:5: this_Field_AddEntryToTable_1= ruleField_AddEntryToTable
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFieldAccess().getField_AddEntryToTableParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_ruleField_AddEntryToTable_in_ruleField10015);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4565:5: this_Field_AppendEntryToTable_2= ruleField_AppendEntryToTable
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getFieldAccess().getField_AppendEntryToTableParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_ruleField_AppendEntryToTable_in_ruleField10042);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4581: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4582:2: (iv_ruleField_AddEntryToTable_Brackets= ruleField_AddEntryToTable_Brackets EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4583: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_Brackets10077);
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_Brackets10087); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4590: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4593:28: ( (otherlv_0= '[' ( (lv_indexExpression_1_0= ruleExpression ) ) otherlv_2= ']' otherlv_3= '=' ( (lv_value_4_0= ruleExpression ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4594:1: (otherlv_0= '[' ( (lv_indexExpression_1_0= ruleExpression ) ) otherlv_2= ']' otherlv_3= '=' ( (lv_value_4_0= ruleExpression ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4594:1: (otherlv_0= '[' ( (lv_indexExpression_1_0= ruleExpression ) ) otherlv_2= ']' otherlv_3= '=' ( (lv_value_4_0= ruleExpression ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4594:3: otherlv_0= '[' ( (lv_indexExpression_1_0= ruleExpression ) ) otherlv_2= ']' otherlv_3= '=' ( (lv_value_4_0= ruleExpression ) )
{
otherlv_0=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleField_AddEntryToTable_Brackets10124); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getField_AddEntryToTable_BracketsAccess().getLeftSquareBracketKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4598:1: ( (lv_indexExpression_1_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4599:1: (lv_indexExpression_1_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4599:1: (lv_indexExpression_1_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4600: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_Brackets10145);
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,19,FollowSets000.FOLLOW_19_in_ruleField_AddEntryToTable_Brackets10157); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getField_AddEntryToTable_BracketsAccess().getRightSquareBracketKeyword_2());
}
otherlv_3=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleField_AddEntryToTable_Brackets10169); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getField_AddEntryToTable_BracketsAccess().getEqualsSignKeyword_3());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4624:1: ( (lv_value_4_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4625:1: (lv_value_4_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4625:1: (lv_value_4_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4626: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_Brackets10190);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4650: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4651:2: (iv_ruleField_AddEntryToTable= ruleField_AddEntryToTable EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4652:2: iv_ruleField_AddEntryToTable= ruleField_AddEntryToTable EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getField_AddEntryToTableRule());
}
pushFollow(FollowSets000.FOLLOW_ruleField_AddEntryToTable_in_entryRuleField_AddEntryToTable10226);
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_AddEntryToTable10236); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4659:1: ruleField_AddEntryToTable returns [EObject current=null] : ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) ;
public final EObject ruleField_AddEntryToTable() throws RecognitionException {
EObject current = null;
Token lv_key_0_0=null;
Token otherlv_1=null;
EObject lv_value_2_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4662:28: ( ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4663:1: ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4663:1: ( ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4663:2: ( (lv_key_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4663:2: ( (lv_key_0_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4664:1: (lv_key_0_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4664:1: (lv_key_0_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4665:3: lv_key_0_0= RULE_ID
{
lv_key_0_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleField_AddEntryToTable10278); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_key_0_0, grammarAccess.getField_AddEntryToTableAccess().getKeyIDTerminalRuleCall_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getField_AddEntryToTableRule());
}
setWithLastConsumed(
current,
"key",
lv_key_0_0,
"ID");
}
}
}
otherlv_1=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleField_AddEntryToTable10295); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getField_AddEntryToTableAccess().getEqualsSignKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4685:1: ( (lv_value_2_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4686:1: (lv_value_2_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4686:1: (lv_value_2_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4687:3: lv_value_2_0= ruleExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getField_AddEntryToTableAccess().getValueExpressionParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleField_AddEntryToTable10316);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4711: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4712:2: (iv_ruleField_AppendEntryToTable= ruleField_AppendEntryToTable EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4713:2: iv_ruleField_AppendEntryToTable= ruleField_AppendEntryToTable EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getField_AppendEntryToTableRule());
}
pushFollow(FollowSets000.FOLLOW_ruleField_AppendEntryToTable_in_entryRuleField_AppendEntryToTable10352);
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_AppendEntryToTable10362); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4720: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4723:28: ( ( (lv_value_0_0= ruleExpression ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4724:1: ( (lv_value_0_0= ruleExpression ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4724:1: ( (lv_value_0_0= ruleExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4725:1: (lv_value_0_0= ruleExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4725:1: (lv_value_0_0= ruleExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4726:3: lv_value_0_0= ruleExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getField_AppendEntryToTableAccess().getValueExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleExpression_in_ruleField_AppendEntryToTable10407);
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 "entryRuleActivity"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4750: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4751:2: (iv_ruleActivity= ruleActivity EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4752:2: iv_ruleActivity= ruleActivity EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityRule());
}
pushFollow(FollowSets000.FOLLOW_ruleActivity_in_entryRuleActivity10442);
iv_ruleActivity=ruleActivity();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleActivity;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActivity10452); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleActivity"
// $ANTLR start "ruleActivity"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4759:1: ruleActivity returns [EObject current=null] : ( () otherlv_1= 'activity' ( (lv_name_2_0= RULE_ID ) ) (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 lv_name_2_0=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;
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4762:28: ( ( () otherlv_1= 'activity' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4763:1: ( () otherlv_1= 'activity' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4763:1: ( () otherlv_1= 'activity' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4763:2: () otherlv_1= 'activity' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4763:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4764:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getActivityAccess().getActivityAction_0(),
current);
}
}
otherlv_1=(Token)match(input,69,FollowSets000.FOLLOW_69_in_ruleActivity10498); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getActivityAccess().getActivityKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4773:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4774:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4774:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4775:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleActivity10515); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getActivityAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getActivityRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4791:2: (otherlv_3= '(' ( (lv_inputs_4_0= ruleVariable ) ) (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )* otherlv_7= ')' )?
int alt67=2;
int LA67_0 = input.LA(1);
if ( (LA67_0==24) ) {
alt67=1;
}
switch (alt67) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4791:4: otherlv_3= '(' ( (lv_inputs_4_0= ruleVariable ) ) (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )* otherlv_7= ')'
{
otherlv_3=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleActivity10533); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getActivityAccess().getLeftParenthesisKeyword_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4795:1: ( (lv_inputs_4_0= ruleVariable ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4796:1: (lv_inputs_4_0= ruleVariable )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4796:1: (lv_inputs_4_0= ruleVariable )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4797:3: lv_inputs_4_0= ruleVariable
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityAccess().getInputsVariableParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleVariable_in_ruleActivity10554);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4813:2: (otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) ) )*
loop66:
do {
int alt66=2;
int LA66_0 = input.LA(1);
if ( (LA66_0==25) ) {
alt66=1;
}
switch (alt66) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4813:4: otherlv_5= ',' ( (lv_inputs_6_0= ruleVariable ) )
{
otherlv_5=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleActivity10567); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getActivityAccess().getCommaKeyword_3_2_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4817:1: ( (lv_inputs_6_0= ruleVariable ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4818:1: (lv_inputs_6_0= ruleVariable )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4818:1: (lv_inputs_6_0= ruleVariable )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4819:3: lv_inputs_6_0= ruleVariable
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityAccess().getInputsVariableParserRuleCall_3_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleVariable_in_ruleActivity10588);
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 loop66;
}
} while (true);
otherlv_7=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleActivity10602); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getActivityAccess().getRightParenthesisKeyword_3_3());
}
}
break;
}
otherlv_8=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleActivity10616); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getActivityAccess().getLeftCurlyBracketKeyword_4());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4843:1: ( ( (lv_locals_9_0= ruleVariable ) ) (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )* )?
int alt69=2;
int LA69_0 = input.LA(1);
if ( ((LA69_0>=82 && LA69_0<=83)) ) {
alt69=1;
}
switch (alt69) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4843:2: ( (lv_locals_9_0= ruleVariable ) ) (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )*
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4843:2: ( (lv_locals_9_0= ruleVariable ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4844:1: (lv_locals_9_0= ruleVariable )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4844:1: (lv_locals_9_0= ruleVariable )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4845:3: lv_locals_9_0= ruleVariable
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityAccess().getLocalsVariableParserRuleCall_5_0_0());
}
pushFollow(FollowSets000.FOLLOW_ruleVariable_in_ruleActivity10638);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4861:2: (otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) ) )*
loop68:
do {
int alt68=2;
int LA68_0 = input.LA(1);
if ( (LA68_0==25) ) {
alt68=1;
}
switch (alt68) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4861:4: otherlv_10= ',' ( (lv_locals_11_0= ruleVariable ) )
{
otherlv_10=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleActivity10651); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getActivityAccess().getCommaKeyword_5_1_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4865:1: ( (lv_locals_11_0= ruleVariable ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4866:1: (lv_locals_11_0= ruleVariable )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4866:1: (lv_locals_11_0= ruleVariable )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4867:3: lv_locals_11_0= ruleVariable
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityAccess().getLocalsVariableParserRuleCall_5_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleVariable_in_ruleActivity10672);
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 loop68;
}
} while (true);
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4883:6: (otherlv_12= 'nodes' otherlv_13= '{' ( (lv_nodes_14_0= ruleActivityNode ) ) (otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) )* otherlv_17= '}' )?
int alt71=2;
int LA71_0 = input.LA(1);
if ( (LA71_0==70) ) {
alt71=1;
}
switch (alt71) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4883: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,70,FollowSets000.FOLLOW_70_in_ruleActivity10689); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getActivityAccess().getNodesKeyword_6_0());
}
otherlv_13=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleActivity10701); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getActivityAccess().getLeftCurlyBracketKeyword_6_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4891:1: ( (lv_nodes_14_0= ruleActivityNode ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4892:1: (lv_nodes_14_0= ruleActivityNode )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4892:1: (lv_nodes_14_0= ruleActivityNode )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4893:3: lv_nodes_14_0= ruleActivityNode
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityAccess().getNodesActivityNodeParserRuleCall_6_2_0());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityNode_in_ruleActivity10722);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4909:2: (otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) ) )*
loop70:
do {
int alt70=2;
int LA70_0 = input.LA(1);
if ( (LA70_0==25) ) {
alt70=1;
}
switch (alt70) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4909:4: otherlv_15= ',' ( (lv_nodes_16_0= ruleActivityNode ) )
{
otherlv_15=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleActivity10735); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getActivityAccess().getCommaKeyword_6_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4913:1: ( (lv_nodes_16_0= ruleActivityNode ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4914:1: (lv_nodes_16_0= ruleActivityNode )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4914:1: (lv_nodes_16_0= ruleActivityNode )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4915:3: lv_nodes_16_0= ruleActivityNode
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityAccess().getNodesActivityNodeParserRuleCall_6_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityNode_in_ruleActivity10756);
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 loop70;
}
} while (true);
otherlv_17=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleActivity10770); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getActivityAccess().getRightCurlyBracketKeyword_6_4());
}
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4935:3: (otherlv_18= 'edges' otherlv_19= '{' ( (lv_edges_20_0= ruleActivityEdge ) ) (otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) )* otherlv_23= '}' )?
int alt73=2;
int LA73_0 = input.LA(1);
if ( (LA73_0==71) ) {
alt73=1;
}
switch (alt73) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4935: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,71,FollowSets000.FOLLOW_71_in_ruleActivity10785); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getActivityAccess().getEdgesKeyword_7_0());
}
otherlv_19=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleActivity10797); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getActivityAccess().getLeftCurlyBracketKeyword_7_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4943:1: ( (lv_edges_20_0= ruleActivityEdge ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4944:1: (lv_edges_20_0= ruleActivityEdge )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4944:1: (lv_edges_20_0= ruleActivityEdge )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4945:3: lv_edges_20_0= ruleActivityEdge
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityAccess().getEdgesActivityEdgeParserRuleCall_7_2_0());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityEdge_in_ruleActivity10818);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4961:2: (otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) ) )*
loop72:
do {
int alt72=2;
int LA72_0 = input.LA(1);
if ( (LA72_0==25) ) {
alt72=1;
}
switch (alt72) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4961:4: otherlv_21= ',' ( (lv_edges_22_0= ruleActivityEdge ) )
{
otherlv_21=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleActivity10831); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getActivityAccess().getCommaKeyword_7_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4965:1: ( (lv_edges_22_0= ruleActivityEdge ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4966:1: (lv_edges_22_0= ruleActivityEdge )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4966:1: (lv_edges_22_0= ruleActivityEdge )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4967:3: lv_edges_22_0= ruleActivityEdge
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityAccess().getEdgesActivityEdgeParserRuleCall_7_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityEdge_in_ruleActivity10852);
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 loop72;
}
} while (true);
otherlv_23=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleActivity10866); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_23, grammarAccess.getActivityAccess().getRightCurlyBracketKeyword_7_4());
}
}
break;
}
otherlv_24=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleActivity10880); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4999: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5000:2: (iv_ruleActivityNode= ruleActivityNode EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5001:2: iv_ruleActivityNode= ruleActivityNode EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityNodeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityNode_in_entryRuleActivityNode10916);
iv_ruleActivityNode=ruleActivityNode();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleActivityNode;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActivityNode10926); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleActivityNode"
// $ANTLR start "ruleActivityNode"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5008: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5011: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5012: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5012: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 alt74=7;
switch ( input.LA(1) ) {
case 72:
{
alt74=1;
}
break;
case 76:
{
alt74=2;
}
break;
case 77:
{
alt74=3;
}
break;
case 78:
{
alt74=4;
}
break;
case 79:
{
alt74=5;
}
break;
case 80:
{
alt74=6;
}
break;
case 81:
{
alt74=7;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 74, 0, input);
throw nvae;
}
switch (alt74) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5013:5: this_OpaqueAction_0= ruleOpaqueAction
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityNodeAccess().getOpaqueActionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleOpaqueAction_in_ruleActivityNode10973);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5023:5: this_InitialNode_1= ruleInitialNode
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityNodeAccess().getInitialNodeParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_ruleInitialNode_in_ruleActivityNode11000);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5033:5: this_ActivityFinalNode_2= ruleActivityFinalNode
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityNodeAccess().getActivityFinalNodeParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityFinalNode_in_ruleActivityNode11027);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5043:5: this_ForkNode_3= ruleForkNode
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityNodeAccess().getForkNodeParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_ruleForkNode_in_ruleActivityNode11054);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5053:5: this_JoinNode_4= ruleJoinNode
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityNodeAccess().getJoinNodeParserRuleCall_4());
}
pushFollow(FollowSets000.FOLLOW_ruleJoinNode_in_ruleActivityNode11081);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5063:5: this_MergeNode_5= ruleMergeNode
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityNodeAccess().getMergeNodeParserRuleCall_5());
}
pushFollow(FollowSets000.FOLLOW_ruleMergeNode_in_ruleActivityNode11108);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5073:5: this_DecisionNode_6= ruleDecisionNode
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityNodeAccess().getDecisionNodeParserRuleCall_6());
}
pushFollow(FollowSets000.FOLLOW_ruleDecisionNode_in_ruleActivityNode11135);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5089: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5090:2: (iv_ruleActivityEdge= ruleActivityEdge EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5091:2: iv_ruleActivityEdge= ruleActivityEdge EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityEdgeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityEdge_in_entryRuleActivityEdge11170);
iv_ruleActivityEdge=ruleActivityEdge();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleActivityEdge;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActivityEdge11180); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleActivityEdge"
// $ANTLR start "ruleActivityEdge"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5098: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5101:28: (this_ControlFlow_0= ruleControlFlow )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5103:5: this_ControlFlow_0= ruleControlFlow
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityEdgeAccess().getControlFlowParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_ruleControlFlow_in_ruleActivityEdge11226);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5119: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5120:2: (iv_ruleVariable= ruleVariable EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5121:2: iv_ruleVariable= ruleVariable EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getVariableRule());
}
pushFollow(FollowSets000.FOLLOW_ruleVariable_in_entryRuleVariable11260);
iv_ruleVariable=ruleVariable();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleVariable;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleVariable11270); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleVariable"
// $ANTLR start "ruleVariable"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5128: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5131:28: ( (this_IntegerVariable_0= ruleIntegerVariable | this_BooleanVariable_1= ruleBooleanVariable ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5132:1: (this_IntegerVariable_0= ruleIntegerVariable | this_BooleanVariable_1= ruleBooleanVariable )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5132:1: (this_IntegerVariable_0= ruleIntegerVariable | this_BooleanVariable_1= ruleBooleanVariable )
int alt75=2;
int LA75_0 = input.LA(1);
if ( (LA75_0==82) ) {
alt75=1;
}
else if ( (LA75_0==83) ) {
alt75=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 75, 0, input);
throw nvae;
}
switch (alt75) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5133:5: this_IntegerVariable_0= ruleIntegerVariable
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getVariableAccess().getIntegerVariableParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleIntegerVariable_in_ruleVariable11317);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5143:5: this_BooleanVariable_1= ruleBooleanVariable
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getVariableAccess().getBooleanVariableParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_ruleBooleanVariable_in_ruleVariable11344);
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 "entryRuleOpaqueAction"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5161: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5162:2: (iv_ruleOpaqueAction= ruleOpaqueAction EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5163:2: iv_ruleOpaqueAction= ruleOpaqueAction EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpaqueActionRule());
}
pushFollow(FollowSets000.FOLLOW_ruleOpaqueAction_in_entryRuleOpaqueAction11381);
iv_ruleOpaqueAction=ruleOpaqueAction();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpaqueAction;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleOpaqueAction11391); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpaqueAction"
// $ANTLR start "ruleOpaqueAction"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5170:1: ruleOpaqueAction returns [EObject current=null] : ( () otherlv_1= 'action' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'comp' otherlv_4= '{' ( (lv_expressions_5_0= ruleActivityExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleActivityExpression ) ) )* otherlv_8= '}' )? (otherlv_9= 'in' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? (otherlv_15= 'out' otherlv_16= '(' ( (otherlv_17= RULE_ID ) ) (otherlv_18= ',' ( (otherlv_19= RULE_ID ) ) )* otherlv_20= ')' )? (otherlv_21= 'service' ( (otherlv_22= RULE_ID ) ) )? ) ;
public final EObject ruleOpaqueAction() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_name_2_0=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_6=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_16=null;
Token otherlv_17=null;
Token otherlv_18=null;
Token otherlv_19=null;
Token otherlv_20=null;
Token otherlv_21=null;
Token otherlv_22=null;
EObject lv_expressions_5_0 = null;
EObject lv_expressions_7_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5173:28: ( ( () otherlv_1= 'action' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'comp' otherlv_4= '{' ( (lv_expressions_5_0= ruleActivityExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleActivityExpression ) ) )* otherlv_8= '}' )? (otherlv_9= 'in' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? (otherlv_15= 'out' otherlv_16= '(' ( (otherlv_17= RULE_ID ) ) (otherlv_18= ',' ( (otherlv_19= RULE_ID ) ) )* otherlv_20= ')' )? (otherlv_21= 'service' ( (otherlv_22= RULE_ID ) ) )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5174:1: ( () otherlv_1= 'action' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'comp' otherlv_4= '{' ( (lv_expressions_5_0= ruleActivityExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleActivityExpression ) ) )* otherlv_8= '}' )? (otherlv_9= 'in' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? (otherlv_15= 'out' otherlv_16= '(' ( (otherlv_17= RULE_ID ) ) (otherlv_18= ',' ( (otherlv_19= RULE_ID ) ) )* otherlv_20= ')' )? (otherlv_21= 'service' ( (otherlv_22= RULE_ID ) ) )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5174:1: ( () otherlv_1= 'action' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'comp' otherlv_4= '{' ( (lv_expressions_5_0= ruleActivityExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleActivityExpression ) ) )* otherlv_8= '}' )? (otherlv_9= 'in' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? (otherlv_15= 'out' otherlv_16= '(' ( (otherlv_17= RULE_ID ) ) (otherlv_18= ',' ( (otherlv_19= RULE_ID ) ) )* otherlv_20= ')' )? (otherlv_21= 'service' ( (otherlv_22= RULE_ID ) ) )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5174:2: () otherlv_1= 'action' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'comp' otherlv_4= '{' ( (lv_expressions_5_0= ruleActivityExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleActivityExpression ) ) )* otherlv_8= '}' )? (otherlv_9= 'in' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )? (otherlv_15= 'out' otherlv_16= '(' ( (otherlv_17= RULE_ID ) ) (otherlv_18= ',' ( (otherlv_19= RULE_ID ) ) )* otherlv_20= ')' )? (otherlv_21= 'service' ( (otherlv_22= RULE_ID ) ) )?
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5174:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5175:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getOpaqueActionAccess().getOpaqueActionAction_0(),
current);
}
}
otherlv_1=(Token)match(input,72,FollowSets000.FOLLOW_72_in_ruleOpaqueAction11437); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getOpaqueActionAccess().getActionKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5184:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5185:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5185:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5186:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleOpaqueAction11454); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getOpaqueActionAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOpaqueActionRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5202:2: (otherlv_3= 'comp' otherlv_4= '{' ( (lv_expressions_5_0= ruleActivityExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleActivityExpression ) ) )* otherlv_8= '}' )?
int alt77=2;
int LA77_0 = input.LA(1);
if ( (LA77_0==73) ) {
alt77=1;
}
switch (alt77) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5202:4: otherlv_3= 'comp' otherlv_4= '{' ( (lv_expressions_5_0= ruleActivityExpression ) ) (otherlv_6= ',' ( (lv_expressions_7_0= ruleActivityExpression ) ) )* otherlv_8= '}'
{
otherlv_3=(Token)match(input,73,FollowSets000.FOLLOW_73_in_ruleOpaqueAction11472); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getOpaqueActionAccess().getCompKeyword_3_0());
}
otherlv_4=(Token)match(input,12,FollowSets000.FOLLOW_12_in_ruleOpaqueAction11484); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getOpaqueActionAccess().getLeftCurlyBracketKeyword_3_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5210:1: ( (lv_expressions_5_0= ruleActivityExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5211:1: (lv_expressions_5_0= ruleActivityExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5211:1: (lv_expressions_5_0= ruleActivityExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5212:3: lv_expressions_5_0= ruleActivityExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpaqueActionAccess().getExpressionsActivityExpressionParserRuleCall_3_2_0());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityExpression_in_ruleOpaqueAction11505);
lv_expressions_5_0=ruleActivityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOpaqueActionRule());
}
add(
current,
"expressions",
lv_expressions_5_0,
"ActivityExpression");
afterParserOrEnumRuleCall();
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5228:2: (otherlv_6= ',' ( (lv_expressions_7_0= ruleActivityExpression ) ) )*
loop76:
do {
int alt76=2;
int LA76_0 = input.LA(1);
if ( (LA76_0==25) ) {
alt76=1;
}
switch (alt76) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5228:4: otherlv_6= ',' ( (lv_expressions_7_0= ruleActivityExpression ) )
{
otherlv_6=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleOpaqueAction11518); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getOpaqueActionAccess().getCommaKeyword_3_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5232:1: ( (lv_expressions_7_0= ruleActivityExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5233:1: (lv_expressions_7_0= ruleActivityExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5233:1: (lv_expressions_7_0= ruleActivityExpression )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5234:3: lv_expressions_7_0= ruleActivityExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpaqueActionAccess().getExpressionsActivityExpressionParserRuleCall_3_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityExpression_in_ruleOpaqueAction11539);
lv_expressions_7_0=ruleActivityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getOpaqueActionRule());
}
add(
current,
"expressions",
lv_expressions_7_0,
"ActivityExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop76;
}
} while (true);
otherlv_8=(Token)match(input,13,FollowSets000.FOLLOW_13_in_ruleOpaqueAction11553); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getOpaqueActionAccess().getRightCurlyBracketKeyword_3_4());
}
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5254:3: (otherlv_9= 'in' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')' )?
int alt79=2;
int LA79_0 = input.LA(1);
if ( (LA79_0==45) ) {
alt79=1;
}
switch (alt79) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5254:5: otherlv_9= 'in' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )* otherlv_14= ')'
{
otherlv_9=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleOpaqueAction11568); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getOpaqueActionAccess().getInKeyword_4_0());
}
otherlv_10=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleOpaqueAction11580); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getOpaqueActionAccess().getLeftParenthesisKeyword_4_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5262:1: ( (otherlv_11= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5263:1: (otherlv_11= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5263:1: (otherlv_11= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5264: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_ruleOpaqueAction11600); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getOpaqueActionAccess().getIncomingActivityEdgeCrossReference_4_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5275:2: (otherlv_12= ',' ( (otherlv_13= RULE_ID ) ) )*
loop78:
do {
int alt78=2;
int LA78_0 = input.LA(1);
if ( (LA78_0==25) ) {
alt78=1;
}
switch (alt78) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5275:4: otherlv_12= ',' ( (otherlv_13= RULE_ID ) )
{
otherlv_12=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleOpaqueAction11613); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getOpaqueActionAccess().getCommaKeyword_4_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5279:1: ( (otherlv_13= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5280:1: (otherlv_13= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5280:1: (otherlv_13= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5281: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_ruleOpaqueAction11633); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getOpaqueActionAccess().getIncomingActivityEdgeCrossReference_4_3_1_0());
}
}
}
}
break;
default :
break loop78;
}
} while (true);
otherlv_14=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleOpaqueAction11647); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getOpaqueActionAccess().getRightParenthesisKeyword_4_4());
}
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5296:3: (otherlv_15= 'out' otherlv_16= '(' ( (otherlv_17= RULE_ID ) ) (otherlv_18= ',' ( (otherlv_19= RULE_ID ) ) )* otherlv_20= ')' )?
int alt81=2;
int LA81_0 = input.LA(1);
if ( (LA81_0==74) ) {
alt81=1;
}
switch (alt81) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5296:5: otherlv_15= 'out' otherlv_16= '(' ( (otherlv_17= RULE_ID ) ) (otherlv_18= ',' ( (otherlv_19= RULE_ID ) ) )* otherlv_20= ')'
{
otherlv_15=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleOpaqueAction11662); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getOpaqueActionAccess().getOutKeyword_5_0());
}
otherlv_16=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleOpaqueAction11674); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getOpaqueActionAccess().getLeftParenthesisKeyword_5_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5304:1: ( (otherlv_17= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5305:1: (otherlv_17= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5305:1: (otherlv_17= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5306:3: otherlv_17= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOpaqueActionRule());
}
}
otherlv_17=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleOpaqueAction11694); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getOpaqueActionAccess().getOutgoingActivityEdgeCrossReference_5_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5317:2: (otherlv_18= ',' ( (otherlv_19= RULE_ID ) ) )*
loop80:
do {
int alt80=2;
int LA80_0 = input.LA(1);
if ( (LA80_0==25) ) {
alt80=1;
}
switch (alt80) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5317:4: otherlv_18= ',' ( (otherlv_19= RULE_ID ) )
{
otherlv_18=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleOpaqueAction11707); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getOpaqueActionAccess().getCommaKeyword_5_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5321:1: ( (otherlv_19= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5322:1: (otherlv_19= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5322:1: (otherlv_19= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5323:3: otherlv_19= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOpaqueActionRule());
}
}
otherlv_19=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleOpaqueAction11727); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getOpaqueActionAccess().getOutgoingActivityEdgeCrossReference_5_3_1_0());
}
}
}
}
break;
default :
break loop80;
}
} while (true);
otherlv_20=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleOpaqueAction11741); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getOpaqueActionAccess().getRightParenthesisKeyword_5_4());
}
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5338:3: (otherlv_21= 'service' ( (otherlv_22= RULE_ID ) ) )?
int alt82=2;
int LA82_0 = input.LA(1);
if ( (LA82_0==75) ) {
alt82=1;
}
switch (alt82) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5338:5: otherlv_21= 'service' ( (otherlv_22= RULE_ID ) )
{
otherlv_21=(Token)match(input,75,FollowSets000.FOLLOW_75_in_ruleOpaqueAction11756); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getOpaqueActionAccess().getServiceKeyword_6_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5342:1: ( (otherlv_22= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5343:1: (otherlv_22= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5343:1: (otherlv_22= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5344:3: otherlv_22= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getOpaqueActionRule());
}
}
otherlv_22=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleOpaqueAction11776); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_22, grammarAccess.getOpaqueActionAccess().getServiceOperationDefCrossReference_6_1_0());
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpaqueAction"
// $ANTLR start "entryRuleActivityExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5363:1: entryRuleActivityExpression returns [EObject current=null] : iv_ruleActivityExpression= ruleActivityExpression EOF ;
public final EObject entryRuleActivityExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleActivityExpression = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5364:2: (iv_ruleActivityExpression= ruleActivityExpression EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5365:2: iv_ruleActivityExpression= ruleActivityExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityExpression_in_entryRuleActivityExpression11814);
iv_ruleActivityExpression=ruleActivityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleActivityExpression;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActivityExpression11824); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleActivityExpression"
// $ANTLR start "ruleActivityExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5372:1: ruleActivityExpression returns [EObject current=null] : (this_IntegerCalculationExpression_0= ruleIntegerCalculationExpression | this_IntegerComparisonExpression_1= ruleIntegerComparisonExpression | this_BooleanUnaryExpression_2= ruleBooleanUnaryExpression | this_BooleanBinaryExpression_3= ruleBooleanBinaryExpression ) ;
public final EObject ruleActivityExpression() throws RecognitionException {
EObject current = null;
EObject this_IntegerCalculationExpression_0 = null;
EObject this_IntegerComparisonExpression_1 = null;
EObject this_BooleanUnaryExpression_2 = null;
EObject this_BooleanBinaryExpression_3 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5375:28: ( (this_IntegerCalculationExpression_0= ruleIntegerCalculationExpression | this_IntegerComparisonExpression_1= ruleIntegerComparisonExpression | this_BooleanUnaryExpression_2= ruleBooleanUnaryExpression | this_BooleanBinaryExpression_3= ruleBooleanBinaryExpression ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5376:1: (this_IntegerCalculationExpression_0= ruleIntegerCalculationExpression | this_IntegerComparisonExpression_1= ruleIntegerComparisonExpression | this_BooleanUnaryExpression_2= ruleBooleanUnaryExpression | this_BooleanBinaryExpression_3= ruleBooleanBinaryExpression )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5376:1: (this_IntegerCalculationExpression_0= ruleIntegerCalculationExpression | this_IntegerComparisonExpression_1= ruleIntegerComparisonExpression | this_BooleanUnaryExpression_2= ruleBooleanUnaryExpression | this_BooleanBinaryExpression_3= ruleBooleanBinaryExpression )
int alt83=4;
int LA83_0 = input.LA(1);
if ( (LA83_0==RULE_ID) ) {
int LA83_1 = input.LA(2);
if ( (LA83_1==44) ) {
int LA83_2 = input.LA(3);
if ( (LA83_2==RULE_ID) ) {
switch ( input.LA(4) ) {
case 52:
case 53:
case 54:
case 55:
case 56:
{
alt83=2;
}
break;
case 100:
case 101:
{
alt83=4;
}
break;
case 59:
case 60:
{
alt83=1;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 83, 3, input);
throw nvae;
}
}
else if ( (LA83_2==99) ) {
alt83=3;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 83, 2, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 83, 1, input);
throw nvae;
}
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 83, 0, input);
throw nvae;
}
switch (alt83) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5377:5: this_IntegerCalculationExpression_0= ruleIntegerCalculationExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityExpressionAccess().getIntegerCalculationExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleIntegerCalculationExpression_in_ruleActivityExpression11871);
this_IntegerCalculationExpression_0=ruleIntegerCalculationExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_IntegerCalculationExpression_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5387:5: this_IntegerComparisonExpression_1= ruleIntegerComparisonExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityExpressionAccess().getIntegerComparisonExpressionParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_ruleIntegerComparisonExpression_in_ruleActivityExpression11898);
this_IntegerComparisonExpression_1=ruleIntegerComparisonExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_IntegerComparisonExpression_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5397:5: this_BooleanUnaryExpression_2= ruleBooleanUnaryExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityExpressionAccess().getBooleanUnaryExpressionParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_ruleBooleanUnaryExpression_in_ruleActivityExpression11925);
this_BooleanUnaryExpression_2=ruleBooleanUnaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_BooleanUnaryExpression_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5407:5: this_BooleanBinaryExpression_3= ruleBooleanBinaryExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityExpressionAccess().getBooleanBinaryExpressionParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_ruleBooleanBinaryExpression_in_ruleActivityExpression11952);
this_BooleanBinaryExpression_3=ruleBooleanBinaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_BooleanBinaryExpression_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleActivityExpression"
// $ANTLR start "entryRuleIntegerCalculationExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5423:1: entryRuleIntegerCalculationExpression returns [EObject current=null] : iv_ruleIntegerCalculationExpression= ruleIntegerCalculationExpression EOF ;
public final EObject entryRuleIntegerCalculationExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleIntegerCalculationExpression = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5424:2: (iv_ruleIntegerCalculationExpression= ruleIntegerCalculationExpression EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5425:2: iv_ruleIntegerCalculationExpression= ruleIntegerCalculationExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIntegerCalculationExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_ruleIntegerCalculationExpression_in_entryRuleIntegerCalculationExpression11987);
iv_ruleIntegerCalculationExpression=ruleIntegerCalculationExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIntegerCalculationExpression;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIntegerCalculationExpression11997); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIntegerCalculationExpression"
// $ANTLR start "ruleIntegerCalculationExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5432:1: ruleIntegerCalculationExpression returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleIntegerCalculationOperator ) ) ( (otherlv_4= RULE_ID ) ) ) ;
public final EObject ruleIntegerCalculationExpression() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Enumerator lv_operator_3_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5435:28: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleIntegerCalculationOperator ) ) ( (otherlv_4= RULE_ID ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5436:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleIntegerCalculationOperator ) ) ( (otherlv_4= RULE_ID ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5436:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleIntegerCalculationOperator ) ) ( (otherlv_4= RULE_ID ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5436:2: ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleIntegerCalculationOperator ) ) ( (otherlv_4= RULE_ID ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5436:2: ( (otherlv_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5437:1: (otherlv_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5437:1: (otherlv_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5438:3: otherlv_0= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIntegerCalculationExpressionRule());
}
}
otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleIntegerCalculationExpression12042); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getIntegerCalculationExpressionAccess().getAssigneeIntegerVariableCrossReference_0_0());
}
}
}
otherlv_1=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleIntegerCalculationExpression12054); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getIntegerCalculationExpressionAccess().getEqualsSignKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5453:1: ( (otherlv_2= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5454:1: (otherlv_2= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5454:1: (otherlv_2= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5455:3: otherlv_2= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIntegerCalculationExpressionRule());
}
}
otherlv_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleIntegerCalculationExpression12074); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getIntegerCalculationExpressionAccess().getOperand1IntegerVariableCrossReference_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5466:2: ( (lv_operator_3_0= ruleIntegerCalculationOperator ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5467:1: (lv_operator_3_0= ruleIntegerCalculationOperator )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5467:1: (lv_operator_3_0= ruleIntegerCalculationOperator )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5468:3: lv_operator_3_0= ruleIntegerCalculationOperator
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIntegerCalculationExpressionAccess().getOperatorIntegerCalculationOperatorEnumRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_ruleIntegerCalculationOperator_in_ruleIntegerCalculationExpression12095);
lv_operator_3_0=ruleIntegerCalculationOperator();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIntegerCalculationExpressionRule());
}
set(
current,
"operator",
lv_operator_3_0,
"IntegerCalculationOperator");
afterParserOrEnumRuleCall();
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5484:2: ( (otherlv_4= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5485:1: (otherlv_4= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5485:1: (otherlv_4= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5486:3: otherlv_4= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIntegerCalculationExpressionRule());
}
}
otherlv_4=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleIntegerCalculationExpression12115); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getIntegerCalculationExpressionAccess().getOperand2IntegerVariableCrossReference_4_0());
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIntegerCalculationExpression"
// $ANTLR start "entryRuleIntegerComparisonExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5505:1: entryRuleIntegerComparisonExpression returns [EObject current=null] : iv_ruleIntegerComparisonExpression= ruleIntegerComparisonExpression EOF ;
public final EObject entryRuleIntegerComparisonExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleIntegerComparisonExpression = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5506:2: (iv_ruleIntegerComparisonExpression= ruleIntegerComparisonExpression EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5507:2: iv_ruleIntegerComparisonExpression= ruleIntegerComparisonExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIntegerComparisonExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_ruleIntegerComparisonExpression_in_entryRuleIntegerComparisonExpression12151);
iv_ruleIntegerComparisonExpression=ruleIntegerComparisonExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIntegerComparisonExpression;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIntegerComparisonExpression12161); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIntegerComparisonExpression"
// $ANTLR start "ruleIntegerComparisonExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5514:1: ruleIntegerComparisonExpression returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleIntegerComparisonOperator ) ) ( (otherlv_4= RULE_ID ) ) ) ;
public final EObject ruleIntegerComparisonExpression() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Enumerator lv_operator_3_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5517:28: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleIntegerComparisonOperator ) ) ( (otherlv_4= RULE_ID ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5518:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleIntegerComparisonOperator ) ) ( (otherlv_4= RULE_ID ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5518:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleIntegerComparisonOperator ) ) ( (otherlv_4= RULE_ID ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5518:2: ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleIntegerComparisonOperator ) ) ( (otherlv_4= RULE_ID ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5518:2: ( (otherlv_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5519:1: (otherlv_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5519:1: (otherlv_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5520:3: otherlv_0= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIntegerComparisonExpressionRule());
}
}
otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleIntegerComparisonExpression12206); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getIntegerComparisonExpressionAccess().getAssigneeBooleanVariableCrossReference_0_0());
}
}
}
otherlv_1=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleIntegerComparisonExpression12218); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getIntegerComparisonExpressionAccess().getEqualsSignKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5535:1: ( (otherlv_2= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5536:1: (otherlv_2= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5536:1: (otherlv_2= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5537:3: otherlv_2= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIntegerComparisonExpressionRule());
}
}
otherlv_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleIntegerComparisonExpression12238); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getIntegerComparisonExpressionAccess().getOperand1IntegerVariableCrossReference_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5548:2: ( (lv_operator_3_0= ruleIntegerComparisonOperator ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5549:1: (lv_operator_3_0= ruleIntegerComparisonOperator )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5549:1: (lv_operator_3_0= ruleIntegerComparisonOperator )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5550:3: lv_operator_3_0= ruleIntegerComparisonOperator
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIntegerComparisonExpressionAccess().getOperatorIntegerComparisonOperatorEnumRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_ruleIntegerComparisonOperator_in_ruleIntegerComparisonExpression12259);
lv_operator_3_0=ruleIntegerComparisonOperator();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getIntegerComparisonExpressionRule());
}
set(
current,
"operator",
lv_operator_3_0,
"IntegerComparisonOperator");
afterParserOrEnumRuleCall();
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5566:2: ( (otherlv_4= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5567:1: (otherlv_4= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5567:1: (otherlv_4= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5568:3: otherlv_4= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIntegerComparisonExpressionRule());
}
}
otherlv_4=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleIntegerComparisonExpression12279); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getIntegerComparisonExpressionAccess().getOperand2IntegerVariableCrossReference_4_0());
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIntegerComparisonExpression"
// $ANTLR start "entryRuleBooleanUnaryExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5587:1: entryRuleBooleanUnaryExpression returns [EObject current=null] : iv_ruleBooleanUnaryExpression= ruleBooleanUnaryExpression EOF ;
public final EObject entryRuleBooleanUnaryExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleBooleanUnaryExpression = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5588:2: (iv_ruleBooleanUnaryExpression= ruleBooleanUnaryExpression EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5589:2: iv_ruleBooleanUnaryExpression= ruleBooleanUnaryExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanUnaryExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_ruleBooleanUnaryExpression_in_entryRuleBooleanUnaryExpression12315);
iv_ruleBooleanUnaryExpression=ruleBooleanUnaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBooleanUnaryExpression;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanUnaryExpression12325); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanUnaryExpression"
// $ANTLR start "ruleBooleanUnaryExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5596:1: ruleBooleanUnaryExpression returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (lv_operator_2_0= ruleBooleanUnaryOperator ) ) ( (otherlv_3= RULE_ID ) ) ) ;
public final EObject ruleBooleanUnaryExpression() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Enumerator lv_operator_2_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5599:28: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (lv_operator_2_0= ruleBooleanUnaryOperator ) ) ( (otherlv_3= RULE_ID ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5600:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (lv_operator_2_0= ruleBooleanUnaryOperator ) ) ( (otherlv_3= RULE_ID ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5600:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (lv_operator_2_0= ruleBooleanUnaryOperator ) ) ( (otherlv_3= RULE_ID ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5600:2: ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (lv_operator_2_0= ruleBooleanUnaryOperator ) ) ( (otherlv_3= RULE_ID ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5600:2: ( (otherlv_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5601:1: (otherlv_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5601:1: (otherlv_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5602:3: otherlv_0= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanUnaryExpressionRule());
}
}
otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleBooleanUnaryExpression12370); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getBooleanUnaryExpressionAccess().getAssigneeBooleanVariableCrossReference_0_0());
}
}
}
otherlv_1=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleBooleanUnaryExpression12382); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getBooleanUnaryExpressionAccess().getEqualsSignKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5617:1: ( (lv_operator_2_0= ruleBooleanUnaryOperator ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5618:1: (lv_operator_2_0= ruleBooleanUnaryOperator )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5618:1: (lv_operator_2_0= ruleBooleanUnaryOperator )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5619:3: lv_operator_2_0= ruleBooleanUnaryOperator
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanUnaryExpressionAccess().getOperatorBooleanUnaryOperatorEnumRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBooleanUnaryOperator_in_ruleBooleanUnaryExpression12403);
lv_operator_2_0=ruleBooleanUnaryOperator();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getBooleanUnaryExpressionRule());
}
set(
current,
"operator",
lv_operator_2_0,
"BooleanUnaryOperator");
afterParserOrEnumRuleCall();
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5635:2: ( (otherlv_3= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5636:1: (otherlv_3= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5636:1: (otherlv_3= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5637:3: otherlv_3= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanUnaryExpressionRule());
}
}
otherlv_3=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleBooleanUnaryExpression12423); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getBooleanUnaryExpressionAccess().getOperandBooleanVariableCrossReference_3_0());
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBooleanUnaryExpression"
// $ANTLR start "entryRuleBooleanBinaryExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5656:1: entryRuleBooleanBinaryExpression returns [EObject current=null] : iv_ruleBooleanBinaryExpression= ruleBooleanBinaryExpression EOF ;
public final EObject entryRuleBooleanBinaryExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleBooleanBinaryExpression = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5657:2: (iv_ruleBooleanBinaryExpression= ruleBooleanBinaryExpression EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5658:2: iv_ruleBooleanBinaryExpression= ruleBooleanBinaryExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanBinaryExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_ruleBooleanBinaryExpression_in_entryRuleBooleanBinaryExpression12459);
iv_ruleBooleanBinaryExpression=ruleBooleanBinaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBooleanBinaryExpression;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanBinaryExpression12469); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanBinaryExpression"
// $ANTLR start "ruleBooleanBinaryExpression"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5665:1: ruleBooleanBinaryExpression returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleBooleanBinaryOperator ) ) ( (otherlv_4= RULE_ID ) ) ) ;
public final EObject ruleBooleanBinaryExpression() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Enumerator lv_operator_3_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5668:28: ( ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleBooleanBinaryOperator ) ) ( (otherlv_4= RULE_ID ) ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5669:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleBooleanBinaryOperator ) ) ( (otherlv_4= RULE_ID ) ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5669:1: ( ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleBooleanBinaryOperator ) ) ( (otherlv_4= RULE_ID ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5669:2: ( (otherlv_0= RULE_ID ) ) otherlv_1= '=' ( (otherlv_2= RULE_ID ) ) ( (lv_operator_3_0= ruleBooleanBinaryOperator ) ) ( (otherlv_4= RULE_ID ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5669:2: ( (otherlv_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5670:1: (otherlv_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5670:1: (otherlv_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5671:3: otherlv_0= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanBinaryExpressionRule());
}
}
otherlv_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleBooleanBinaryExpression12514); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getBooleanBinaryExpressionAccess().getAssigneeBooleanVariableCrossReference_0_0());
}
}
}
otherlv_1=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleBooleanBinaryExpression12526); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getBooleanBinaryExpressionAccess().getEqualsSignKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5686:1: ( (otherlv_2= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5687:1: (otherlv_2= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5687:1: (otherlv_2= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5688:3: otherlv_2= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanBinaryExpressionRule());
}
}
otherlv_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleBooleanBinaryExpression12546); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getBooleanBinaryExpressionAccess().getOperand1BooleanVariableCrossReference_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5699:2: ( (lv_operator_3_0= ruleBooleanBinaryOperator ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5700:1: (lv_operator_3_0= ruleBooleanBinaryOperator )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5700:1: (lv_operator_3_0= ruleBooleanBinaryOperator )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5701:3: lv_operator_3_0= ruleBooleanBinaryOperator
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanBinaryExpressionAccess().getOperatorBooleanBinaryOperatorEnumRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBooleanBinaryOperator_in_ruleBooleanBinaryExpression12567);
lv_operator_3_0=ruleBooleanBinaryOperator();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getBooleanBinaryExpressionRule());
}
set(
current,
"operator",
lv_operator_3_0,
"BooleanBinaryOperator");
afterParserOrEnumRuleCall();
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5717:2: ( (otherlv_4= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5718:1: (otherlv_4= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5718:1: (otherlv_4= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5719:3: otherlv_4= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanBinaryExpressionRule());
}
}
otherlv_4=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleBooleanBinaryExpression12587); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getBooleanBinaryExpressionAccess().getOperand2BooleanVariableCrossReference_4_0());
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBooleanBinaryExpression"
// $ANTLR start "entryRuleInitialNode"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5738: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5739:2: (iv_ruleInitialNode= ruleInitialNode EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5740:2: iv_ruleInitialNode= ruleInitialNode EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInitialNodeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleInitialNode_in_entryRuleInitialNode12623);
iv_ruleInitialNode=ruleInitialNode();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInitialNode;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleInitialNode12633); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInitialNode"
// $ANTLR start "ruleInitialNode"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5747:1: ruleInitialNode returns [EObject current=null] : ( () otherlv_1= 'initial' ( (lv_name_2_0= RULE_ID ) ) (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 lv_name_2_0=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;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5750:28: ( ( () otherlv_1= 'initial' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5751:1: ( () otherlv_1= 'initial' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5751:1: ( () otherlv_1= 'initial' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5751:2: () otherlv_1= 'initial' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5751:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5752:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getInitialNodeAccess().getInitialNodeAction_0(),
current);
}
}
otherlv_1=(Token)match(input,76,FollowSets000.FOLLOW_76_in_ruleInitialNode12679); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getInitialNodeAccess().getInitialKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5761:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5762:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5762:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5763:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleInitialNode12696); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getInitialNodeAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getInitialNodeRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5779:2: (otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5779:4: otherlv_3= 'out' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')'
{
otherlv_3=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleInitialNode12714); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getInitialNodeAccess().getOutKeyword_3_0());
}
otherlv_4=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleInitialNode12726); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getInitialNodeAccess().getLeftParenthesisKeyword_3_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5787:1: ( (otherlv_5= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5788:1: (otherlv_5= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5788:1: (otherlv_5= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5789: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_ruleInitialNode12746); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getInitialNodeAccess().getOutgoingActivityEdgeCrossReference_3_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5800:2: (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )*
loop84:
do {
int alt84=2;
int LA84_0 = input.LA(1);
if ( (LA84_0==25) ) {
alt84=1;
}
switch (alt84) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5800:4: otherlv_6= ',' ( (otherlv_7= RULE_ID ) )
{
otherlv_6=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleInitialNode12759); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getInitialNodeAccess().getCommaKeyword_3_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5804:1: ( (otherlv_7= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5805:1: (otherlv_7= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5805:1: (otherlv_7= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5806: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_ruleInitialNode12779); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getInitialNodeAccess().getOutgoingActivityEdgeCrossReference_3_3_1_0());
}
}
}
}
break;
default :
break loop84;
}
} while (true);
otherlv_8=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleInitialNode12793); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5829: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5830:2: (iv_ruleActivityFinalNode= ruleActivityFinalNode EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5831:2: iv_ruleActivityFinalNode= ruleActivityFinalNode EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getActivityFinalNodeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleActivityFinalNode_in_entryRuleActivityFinalNode12830);
iv_ruleActivityFinalNode=ruleActivityFinalNode();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleActivityFinalNode;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleActivityFinalNode12840); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleActivityFinalNode"
// $ANTLR start "ruleActivityFinalNode"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5838:1: ruleActivityFinalNode returns [EObject current=null] : ( () otherlv_1= 'final' ( (lv_name_2_0= RULE_ID ) ) (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 lv_name_2_0=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;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5841:28: ( ( () otherlv_1= 'final' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5842:1: ( () otherlv_1= 'final' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5842:1: ( () otherlv_1= 'final' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5842:2: () otherlv_1= 'final' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5842:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5843:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getActivityFinalNodeAccess().getActivityFinalNodeAction_0(),
current);
}
}
otherlv_1=(Token)match(input,77,FollowSets000.FOLLOW_77_in_ruleActivityFinalNode12886); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getActivityFinalNodeAccess().getFinalKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5852:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5853:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5853:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5854:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleActivityFinalNode12903); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getActivityFinalNodeAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getActivityFinalNodeRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5870:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5870:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')'
{
otherlv_3=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleActivityFinalNode12921); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getActivityFinalNodeAccess().getInKeyword_3_0());
}
otherlv_4=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleActivityFinalNode12933); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getActivityFinalNodeAccess().getLeftParenthesisKeyword_3_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5878:1: ( (otherlv_5= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5879:1: (otherlv_5= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5879:1: (otherlv_5= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5880: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_ruleActivityFinalNode12953); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getActivityFinalNodeAccess().getIncomingActivityEdgeCrossReference_3_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5891:2: (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )*
loop85:
do {
int alt85=2;
int LA85_0 = input.LA(1);
if ( (LA85_0==25) ) {
alt85=1;
}
switch (alt85) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5891:4: otherlv_6= ',' ( (otherlv_7= RULE_ID ) )
{
otherlv_6=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleActivityFinalNode12966); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getActivityFinalNodeAccess().getCommaKeyword_3_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5895:1: ( (otherlv_7= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5896:1: (otherlv_7= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5896:1: (otherlv_7= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5897: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_ruleActivityFinalNode12986); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getActivityFinalNodeAccess().getIncomingActivityEdgeCrossReference_3_3_1_0());
}
}
}
}
break;
default :
break loop85;
}
} while (true);
otherlv_8=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleActivityFinalNode13000); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5920: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5921:2: (iv_ruleForkNode= ruleForkNode EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5922:2: iv_ruleForkNode= ruleForkNode EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getForkNodeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleForkNode_in_entryRuleForkNode13037);
iv_ruleForkNode=ruleForkNode();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleForkNode;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleForkNode13047); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleForkNode"
// $ANTLR start "ruleForkNode"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5929:1: ruleForkNode returns [EObject current=null] : ( () otherlv_1= 'fork' ( (lv_name_2_0= RULE_ID ) ) (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 lv_name_2_0=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;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5932:28: ( ( () otherlv_1= 'fork' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5933:1: ( () otherlv_1= 'fork' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5933:1: ( () otherlv_1= 'fork' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5933:2: () otherlv_1= 'fork' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5933:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5934:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getForkNodeAccess().getForkNodeAction_0(),
current);
}
}
otherlv_1=(Token)match(input,78,FollowSets000.FOLLOW_78_in_ruleForkNode13093); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getForkNodeAccess().getForkKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5943:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5944:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5944:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5945:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleForkNode13110); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getForkNodeAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getForkNodeRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5961:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5961:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')'
{
otherlv_3=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleForkNode13128); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getForkNodeAccess().getInKeyword_3_0());
}
otherlv_4=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleForkNode13140); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getForkNodeAccess().getLeftParenthesisKeyword_3_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5969:1: ( (otherlv_5= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5970:1: (otherlv_5= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5970:1: (otherlv_5= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5971: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_ruleForkNode13160); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getForkNodeAccess().getIncomingActivityEdgeCrossReference_3_2_0());
}
}
}
otherlv_6=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleForkNode13172); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getForkNodeAccess().getRightParenthesisKeyword_3_3());
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5986:2: (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )?
int alt87=2;
int LA87_0 = input.LA(1);
if ( (LA87_0==74) ) {
alt87=1;
}
switch (alt87) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5986:4: otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')'
{
otherlv_7=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleForkNode13186); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getForkNodeAccess().getOutKeyword_4_0());
}
otherlv_8=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleForkNode13198); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getForkNodeAccess().getLeftParenthesisKeyword_4_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5994:1: ( (otherlv_9= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5995:1: (otherlv_9= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5995:1: (otherlv_9= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:5996: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_ruleForkNode13218); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getForkNodeAccess().getOutgoingActivityEdgeCrossReference_4_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6007:2: (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )*
loop86:
do {
int alt86=2;
int LA86_0 = input.LA(1);
if ( (LA86_0==25) ) {
alt86=1;
}
switch (alt86) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6007:4: otherlv_10= ',' ( (otherlv_11= RULE_ID ) )
{
otherlv_10=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleForkNode13231); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getForkNodeAccess().getCommaKeyword_4_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6011:1: ( (otherlv_11= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6012:1: (otherlv_11= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6012:1: (otherlv_11= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6013: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_ruleForkNode13251); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getForkNodeAccess().getOutgoingActivityEdgeCrossReference_4_3_1_0());
}
}
}
}
break;
default :
break loop86;
}
} while (true);
otherlv_12=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleForkNode13265); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6036: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6037:2: (iv_ruleJoinNode= ruleJoinNode EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6038:2: iv_ruleJoinNode= ruleJoinNode EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getJoinNodeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleJoinNode_in_entryRuleJoinNode13303);
iv_ruleJoinNode=ruleJoinNode();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleJoinNode;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleJoinNode13313); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleJoinNode"
// $ANTLR start "ruleJoinNode"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6045:1: ruleJoinNode returns [EObject current=null] : ( () otherlv_1= 'join' ( (lv_name_2_0= RULE_ID ) ) (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 lv_name_2_0=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;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6048:28: ( ( () otherlv_1= 'join' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6049:1: ( () otherlv_1= 'join' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6049:1: ( () otherlv_1= 'join' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6049:2: () otherlv_1= 'join' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6049:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6050:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getJoinNodeAccess().getJoinNodeAction_0(),
current);
}
}
otherlv_1=(Token)match(input,79,FollowSets000.FOLLOW_79_in_ruleJoinNode13359); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getJoinNodeAccess().getJoinKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6059:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6060:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6060:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6061:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleJoinNode13376); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getJoinNodeAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getJoinNodeRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6077:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )?
int alt89=2;
int LA89_0 = input.LA(1);
if ( (LA89_0==45) ) {
alt89=1;
}
switch (alt89) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6077:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')'
{
otherlv_3=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleJoinNode13394); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getJoinNodeAccess().getInKeyword_3_0());
}
otherlv_4=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleJoinNode13406); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getJoinNodeAccess().getLeftParenthesisKeyword_3_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6085:1: ( (otherlv_5= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6086:1: (otherlv_5= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6086:1: (otherlv_5= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6087: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_ruleJoinNode13426); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getJoinNodeAccess().getIncomingActivityEdgeCrossReference_3_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6098:2: (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )*
loop88:
do {
int alt88=2;
int LA88_0 = input.LA(1);
if ( (LA88_0==25) ) {
alt88=1;
}
switch (alt88) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6098:4: otherlv_6= ',' ( (otherlv_7= RULE_ID ) )
{
otherlv_6=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleJoinNode13439); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getJoinNodeAccess().getCommaKeyword_3_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6102:1: ( (otherlv_7= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6103:1: (otherlv_7= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6103:1: (otherlv_7= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6104: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_ruleJoinNode13459); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getJoinNodeAccess().getIncomingActivityEdgeCrossReference_3_3_1_0());
}
}
}
}
break;
default :
break loop88;
}
} while (true);
otherlv_8=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleJoinNode13473); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getJoinNodeAccess().getRightParenthesisKeyword_3_4());
}
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6119:3: (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6119:5: otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')'
{
otherlv_9=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleJoinNode13488); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getJoinNodeAccess().getOutKeyword_4_0());
}
otherlv_10=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleJoinNode13500); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getJoinNodeAccess().getLeftParenthesisKeyword_4_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6127:1: ( (otherlv_11= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6128:1: (otherlv_11= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6128:1: (otherlv_11= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6129: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_ruleJoinNode13520); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getJoinNodeAccess().getOutgoingActivityEdgeCrossReference_4_2_0());
}
}
}
otherlv_12=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleJoinNode13532); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6152: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6153:2: (iv_ruleMergeNode= ruleMergeNode EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6154:2: iv_ruleMergeNode= ruleMergeNode EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getMergeNodeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleMergeNode_in_entryRuleMergeNode13569);
iv_ruleMergeNode=ruleMergeNode();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleMergeNode;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleMergeNode13579); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMergeNode"
// $ANTLR start "ruleMergeNode"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6161:1: ruleMergeNode returns [EObject current=null] : ( () otherlv_1= 'merge' ( (lv_name_2_0= RULE_ID ) ) (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 lv_name_2_0=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;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6164:28: ( ( () otherlv_1= 'merge' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6165:1: ( () otherlv_1= 'merge' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6165:1: ( () otherlv_1= 'merge' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6165:2: () otherlv_1= 'merge' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6165:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6166:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getMergeNodeAccess().getMergeNodeAction_0(),
current);
}
}
otherlv_1=(Token)match(input,80,FollowSets000.FOLLOW_80_in_ruleMergeNode13625); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getMergeNodeAccess().getMergeKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6175:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6176:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6176:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6177:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleMergeNode13642); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getMergeNodeAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getMergeNodeRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6193:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')' )?
int alt91=2;
int LA91_0 = input.LA(1);
if ( (LA91_0==45) ) {
alt91=1;
}
switch (alt91) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6193:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )* otherlv_8= ')'
{
otherlv_3=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleMergeNode13660); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getMergeNodeAccess().getInKeyword_3_0());
}
otherlv_4=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleMergeNode13672); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getMergeNodeAccess().getLeftParenthesisKeyword_3_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6201:1: ( (otherlv_5= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6202:1: (otherlv_5= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6202:1: (otherlv_5= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6203: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_ruleMergeNode13692); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getMergeNodeAccess().getIncomingActivityEdgeCrossReference_3_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6214:2: (otherlv_6= ',' ( (otherlv_7= RULE_ID ) ) )*
loop90:
do {
int alt90=2;
int LA90_0 = input.LA(1);
if ( (LA90_0==25) ) {
alt90=1;
}
switch (alt90) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6214:4: otherlv_6= ',' ( (otherlv_7= RULE_ID ) )
{
otherlv_6=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleMergeNode13705); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getMergeNodeAccess().getCommaKeyword_3_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6218:1: ( (otherlv_7= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6219:1: (otherlv_7= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6219:1: (otherlv_7= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6220: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_ruleMergeNode13725); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getMergeNodeAccess().getIncomingActivityEdgeCrossReference_3_3_1_0());
}
}
}
}
break;
default :
break loop90;
}
} while (true);
otherlv_8=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleMergeNode13739); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getMergeNodeAccess().getRightParenthesisKeyword_3_4());
}
}
break;
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6235:3: (otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6235:5: otherlv_9= 'out' otherlv_10= '(' ( (otherlv_11= RULE_ID ) ) otherlv_12= ')'
{
otherlv_9=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleMergeNode13754); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getMergeNodeAccess().getOutKeyword_4_0());
}
otherlv_10=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleMergeNode13766); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getMergeNodeAccess().getLeftParenthesisKeyword_4_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6243:1: ( (otherlv_11= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6244:1: (otherlv_11= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6244:1: (otherlv_11= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6245: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_ruleMergeNode13786); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getMergeNodeAccess().getOutgoingActivityEdgeCrossReference_4_2_0());
}
}
}
otherlv_12=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleMergeNode13798); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6268: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6269:2: (iv_ruleDecisionNode= ruleDecisionNode EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6270:2: iv_ruleDecisionNode= ruleDecisionNode EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDecisionNodeRule());
}
pushFollow(FollowSets000.FOLLOW_ruleDecisionNode_in_entryRuleDecisionNode13835);
iv_ruleDecisionNode=ruleDecisionNode();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDecisionNode;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDecisionNode13845); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDecisionNode"
// $ANTLR start "ruleDecisionNode"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6277:1: ruleDecisionNode returns [EObject current=null] : ( () otherlv_1= 'decision' ( (lv_name_2_0= RULE_ID ) ) (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 lv_name_2_0=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;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6280:28: ( ( () otherlv_1= 'decision' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6281:1: ( () otherlv_1= 'decision' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6281:1: ( () otherlv_1= 'decision' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6281:2: () otherlv_1= 'decision' ( (lv_name_2_0= RULE_ID ) ) (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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6281:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6282:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getDecisionNodeAccess().getDecisionNodeAction_0(),
current);
}
}
otherlv_1=(Token)match(input,81,FollowSets000.FOLLOW_81_in_ruleDecisionNode13891); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getDecisionNodeAccess().getDecisionKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6291:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6292:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6292:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6293:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleDecisionNode13908); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getDecisionNodeAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDecisionNodeRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6309:2: (otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6309:4: otherlv_3= 'in' otherlv_4= '(' ( (otherlv_5= RULE_ID ) ) otherlv_6= ')'
{
otherlv_3=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleDecisionNode13926); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getDecisionNodeAccess().getInKeyword_3_0());
}
otherlv_4=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleDecisionNode13938); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getDecisionNodeAccess().getLeftParenthesisKeyword_3_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6317:1: ( (otherlv_5= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6318:1: (otherlv_5= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6318:1: (otherlv_5= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6319: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_ruleDecisionNode13958); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getDecisionNodeAccess().getIncomingActivityEdgeCrossReference_3_2_0());
}
}
}
otherlv_6=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleDecisionNode13970); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getDecisionNodeAccess().getRightParenthesisKeyword_3_3());
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6334:2: (otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')' )?
int alt93=2;
int LA93_0 = input.LA(1);
if ( (LA93_0==74) ) {
alt93=1;
}
switch (alt93) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6334:4: otherlv_7= 'out' otherlv_8= '(' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* otherlv_12= ')'
{
otherlv_7=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleDecisionNode13984); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getDecisionNodeAccess().getOutKeyword_4_0());
}
otherlv_8=(Token)match(input,24,FollowSets000.FOLLOW_24_in_ruleDecisionNode13996); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getDecisionNodeAccess().getLeftParenthesisKeyword_4_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6342:1: ( (otherlv_9= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6343:1: (otherlv_9= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6343:1: (otherlv_9= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6344: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_ruleDecisionNode14016); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getDecisionNodeAccess().getOutgoingActivityEdgeCrossReference_4_2_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6355:2: (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )*
loop92:
do {
int alt92=2;
int LA92_0 = input.LA(1);
if ( (LA92_0==25) ) {
alt92=1;
}
switch (alt92) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6355:4: otherlv_10= ',' ( (otherlv_11= RULE_ID ) )
{
otherlv_10=(Token)match(input,25,FollowSets000.FOLLOW_25_in_ruleDecisionNode14029); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getDecisionNodeAccess().getCommaKeyword_4_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6359:1: ( (otherlv_11= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6360:1: (otherlv_11= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6360:1: (otherlv_11= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6361: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_ruleDecisionNode14049); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getDecisionNodeAccess().getOutgoingActivityEdgeCrossReference_4_3_1_0());
}
}
}
}
break;
default :
break loop92;
}
} while (true);
otherlv_12=(Token)match(input,26,FollowSets000.FOLLOW_26_in_ruleDecisionNode14063); 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6384: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6385:2: (iv_ruleIntegerVariable= ruleIntegerVariable EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6386:2: iv_ruleIntegerVariable= ruleIntegerVariable EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIntegerVariableRule());
}
pushFollow(FollowSets000.FOLLOW_ruleIntegerVariable_in_entryRuleIntegerVariable14101);
iv_ruleIntegerVariable=ruleIntegerVariable();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIntegerVariable;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIntegerVariable14111); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIntegerVariable"
// $ANTLR start "ruleIntegerVariable"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6393:1: ruleIntegerVariable returns [EObject current=null] : ( () otherlv_1= 'int' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleIntegerValue ) ) )? ) ;
public final EObject ruleIntegerVariable() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_name_2_0=null;
Token otherlv_3=null;
EObject lv_initialValue_4_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6396:28: ( ( () otherlv_1= 'int' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleIntegerValue ) ) )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6397:1: ( () otherlv_1= 'int' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleIntegerValue ) ) )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6397:1: ( () otherlv_1= 'int' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleIntegerValue ) ) )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6397:2: () otherlv_1= 'int' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleIntegerValue ) ) )?
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6397:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6398:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getIntegerVariableAccess().getIntegerVariableAction_0(),
current);
}
}
otherlv_1=(Token)match(input,82,FollowSets000.FOLLOW_82_in_ruleIntegerVariable14157); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getIntegerVariableAccess().getIntKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6407:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6408:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6408:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6409:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleIntegerVariable14174); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getIntegerVariableAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIntegerVariableRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6425:2: (otherlv_3= '=' ( (lv_initialValue_4_0= ruleIntegerValue ) ) )?
int alt94=2;
int LA94_0 = input.LA(1);
if ( (LA94_0==44) ) {
alt94=1;
}
switch (alt94) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6425:4: otherlv_3= '=' ( (lv_initialValue_4_0= ruleIntegerValue ) )
{
otherlv_3=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleIntegerVariable14192); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getIntegerVariableAccess().getEqualsSignKeyword_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6429:1: ( (lv_initialValue_4_0= ruleIntegerValue ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6430:1: (lv_initialValue_4_0= ruleIntegerValue )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6430:1: (lv_initialValue_4_0= ruleIntegerValue )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6431:3: lv_initialValue_4_0= ruleIntegerValue
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIntegerVariableAccess().getInitialValueIntegerValueParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleIntegerValue_in_ruleIntegerVariable14213);
lv_initialValue_4_0=ruleIntegerValue();
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,
"IntegerValue");
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6455: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6456:2: (iv_ruleBooleanVariable= ruleBooleanVariable EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6457:2: iv_ruleBooleanVariable= ruleBooleanVariable EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanVariableRule());
}
pushFollow(FollowSets000.FOLLOW_ruleBooleanVariable_in_entryRuleBooleanVariable14251);
iv_ruleBooleanVariable=ruleBooleanVariable();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBooleanVariable;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanVariable14261); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanVariable"
// $ANTLR start "ruleBooleanVariable"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6464:1: ruleBooleanVariable returns [EObject current=null] : ( () otherlv_1= 'bool' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleBooleanValue ) ) )? ) ;
public final EObject ruleBooleanVariable() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_name_2_0=null;
Token otherlv_3=null;
EObject lv_initialValue_4_0 = null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6467:28: ( ( () otherlv_1= 'bool' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleBooleanValue ) ) )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6468:1: ( () otherlv_1= 'bool' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleBooleanValue ) ) )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6468:1: ( () otherlv_1= 'bool' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleBooleanValue ) ) )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6468:2: () otherlv_1= 'bool' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= '=' ( (lv_initialValue_4_0= ruleBooleanValue ) ) )?
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6468:2: ()
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6469:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getBooleanVariableAccess().getBooleanVariableAction_0(),
current);
}
}
otherlv_1=(Token)match(input,83,FollowSets000.FOLLOW_83_in_ruleBooleanVariable14307); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getBooleanVariableAccess().getBoolKeyword_1());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6478:1: ( (lv_name_2_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6479:1: (lv_name_2_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6479:1: (lv_name_2_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6480:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleBooleanVariable14324); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getBooleanVariableAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getBooleanVariableRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6496:2: (otherlv_3= '=' ( (lv_initialValue_4_0= ruleBooleanValue ) ) )?
int alt95=2;
int LA95_0 = input.LA(1);
if ( (LA95_0==44) ) {
alt95=1;
}
switch (alt95) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6496:4: otherlv_3= '=' ( (lv_initialValue_4_0= ruleBooleanValue ) )
{
otherlv_3=(Token)match(input,44,FollowSets000.FOLLOW_44_in_ruleBooleanVariable14342); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getBooleanVariableAccess().getEqualsSignKeyword_3_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6500:1: ( (lv_initialValue_4_0= ruleBooleanValue ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6501:1: (lv_initialValue_4_0= ruleBooleanValue )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6501:1: (lv_initialValue_4_0= ruleBooleanValue )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6502:3: lv_initialValue_4_0= ruleBooleanValue
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanVariableAccess().getInitialValueBooleanValueParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_ruleBooleanValue_in_ruleBooleanVariable14363);
lv_initialValue_4_0=ruleBooleanValue();
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,
"BooleanValue");
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6526: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6527:2: (iv_ruleBooleanValue= ruleBooleanValue EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6528:2: iv_ruleBooleanValue= ruleBooleanValue EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanValueRule());
}
pushFollow(FollowSets000.FOLLOW_ruleBooleanValue_in_entryRuleBooleanValue14401);
iv_ruleBooleanValue=ruleBooleanValue();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleBooleanValue;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleBooleanValue14411); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanValue"
// $ANTLR start "ruleBooleanValue"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6535: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6538:28: ( ( (lv_value_0_0= ruleEBoolean ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6539:1: ( (lv_value_0_0= ruleEBoolean ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6539:1: ( (lv_value_0_0= ruleEBoolean ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6540:1: (lv_value_0_0= ruleEBoolean )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6540:1: (lv_value_0_0= ruleEBoolean )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6541:3: lv_value_0_0= ruleEBoolean
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getBooleanValueAccess().getValueEBooleanParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_ruleEBoolean_in_ruleBooleanValue14456);
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6565: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6566:2: (iv_ruleIntegerValue= ruleIntegerValue EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6567:2: iv_ruleIntegerValue= ruleIntegerValue EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIntegerValueRule());
}
pushFollow(FollowSets000.FOLLOW_ruleIntegerValue_in_entryRuleIntegerValue14491);
iv_ruleIntegerValue=ruleIntegerValue();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIntegerValue;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleIntegerValue14501); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIntegerValue"
// $ANTLR start "ruleIntegerValue"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6574: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6577:28: ( ( (lv_value_0_0= RULE_INT ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6578:1: ( (lv_value_0_0= RULE_INT ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6578:1: ( (lv_value_0_0= RULE_INT ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6579:1: (lv_value_0_0= RULE_INT )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6579:1: (lv_value_0_0= RULE_INT )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6580:3: lv_value_0_0= RULE_INT
{
lv_value_0_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleIntegerValue14542); 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 "entryRuleControlFlow"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6604: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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6605:2: (iv_ruleControlFlow= ruleControlFlow EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6606:2: iv_ruleControlFlow= ruleControlFlow EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getControlFlowRule());
}
pushFollow(FollowSets000.FOLLOW_ruleControlFlow_in_entryRuleControlFlow14582);
iv_ruleControlFlow=ruleControlFlow();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleControlFlow;
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleControlFlow14592); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleControlFlow"
// $ANTLR start "ruleControlFlow"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6613:1: ruleControlFlow returns [EObject current=null] : (otherlv_0= 'flow' ( (lv_name_1_0= RULE_ID ) ) 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 lv_name_1_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;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6616:28: ( (otherlv_0= 'flow' ( (lv_name_1_0= RULE_ID ) ) 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6617:1: (otherlv_0= 'flow' ( (lv_name_1_0= RULE_ID ) ) 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6617:1: (otherlv_0= 'flow' ( (lv_name_1_0= RULE_ID ) ) 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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6617:3: otherlv_0= 'flow' ( (lv_name_1_0= RULE_ID ) ) 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,84,FollowSets000.FOLLOW_84_in_ruleControlFlow14629); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getControlFlowAccess().getFlowKeyword_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6621:1: ( (lv_name_1_0= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6622:1: (lv_name_1_0= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6622:1: (lv_name_1_0= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6623:3: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleControlFlow14646); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getControlFlowAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getControlFlowRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"ID");
}
}
}
otherlv_2=(Token)match(input,85,FollowSets000.FOLLOW_85_in_ruleControlFlow14663); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getControlFlowAccess().getFromKeyword_2());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6643:1: ( (otherlv_3= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6644:1: (otherlv_3= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6644:1: (otherlv_3= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6645: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_ruleControlFlow14683); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getControlFlowAccess().getSourceActivityNodeCrossReference_3_0());
}
}
}
otherlv_4=(Token)match(input,86,FollowSets000.FOLLOW_86_in_ruleControlFlow14695); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getControlFlowAccess().getToKeyword_4());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6660:1: ( (otherlv_5= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6661:1: (otherlv_5= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6661:1: (otherlv_5= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6662: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_ruleControlFlow14715); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getControlFlowAccess().getTargetActivityNodeCrossReference_5_0());
}
}
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6673:2: (otherlv_6= '[' ( (otherlv_7= RULE_ID ) ) otherlv_8= ']' )?
int alt96=2;
int LA96_0 = input.LA(1);
if ( (LA96_0==18) ) {
alt96=1;
}
switch (alt96) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6673:4: otherlv_6= '[' ( (otherlv_7= RULE_ID ) ) otherlv_8= ']'
{
otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_18_in_ruleControlFlow14728); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getControlFlowAccess().getLeftSquareBracketKeyword_6_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6677:1: ( (otherlv_7= RULE_ID ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6678:1: (otherlv_7= RULE_ID )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6678:1: (otherlv_7= RULE_ID )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6679: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_ruleControlFlow14748); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getControlFlowAccess().getGuardBooleanVariableCrossReference_6_1_0());
}
}
}
otherlv_8=(Token)match(input,19,FollowSets000.FOLLOW_19_in_ruleControlFlow14760); 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 "entryRuleDouble"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6702:1: entryRuleDouble returns [String current=null] : iv_ruleDouble= ruleDouble EOF ;
public final String entryRuleDouble() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleDouble = null;
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6703:2: (iv_ruleDouble= ruleDouble EOF )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6704:2: iv_ruleDouble= ruleDouble EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDoubleRule());
}
pushFollow(FollowSets000.FOLLOW_ruleDouble_in_entryRuleDouble14799);
iv_ruleDouble=ruleDouble();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDouble.getText();
}
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleDouble14810); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDouble"
// $ANTLR start "ruleDouble"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6711:1: ruleDouble returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) ;
public final AntlrDatatypeRuleToken ruleDouble() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_INT_0=null;
Token kw=null;
Token this_INT_2=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6714:28: ( (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6715:1: (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6715:1: (this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )? )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6715:6: this_INT_0= RULE_INT (kw= '.' this_INT_2= RULE_INT )?
{
this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleDouble14850); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_0, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_0());
}
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6722:1: (kw= '.' this_INT_2= RULE_INT )?
int alt97=2;
int LA97_0 = input.LA(1);
if ( (LA97_0==47) ) {
alt97=1;
}
switch (alt97) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6723:2: kw= '.' this_INT_2= RULE_INT
{
kw=(Token)match(input,47,FollowSets000.FOLLOW_47_in_ruleDouble14869); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getDoubleAccess().getFullStopKeyword_1_0());
}
this_INT_2=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_RULE_INT_in_ruleDouble14884); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_2);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_2, grammarAccess.getDoubleAccess().getINTTerminalRuleCall_1_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDouble"
// $ANTLR start "ruleBoardType"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6743:1: ruleBoardType returns [Enumerator current=null] : ( (enumLiteral_0= 'RaspberryPi' ) | (enumLiteral_1= 'Arduino' ) | (enumLiteral_2= 'BeagleBoard' ) ) ;
public final Enumerator ruleBoardType() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
Token enumLiteral_1=null;
Token enumLiteral_2=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6745:28: ( ( (enumLiteral_0= 'RaspberryPi' ) | (enumLiteral_1= 'Arduino' ) | (enumLiteral_2= 'BeagleBoard' ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6746:1: ( (enumLiteral_0= 'RaspberryPi' ) | (enumLiteral_1= 'Arduino' ) | (enumLiteral_2= 'BeagleBoard' ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6746:1: ( (enumLiteral_0= 'RaspberryPi' ) | (enumLiteral_1= 'Arduino' ) | (enumLiteral_2= 'BeagleBoard' ) )
int alt98=3;
switch ( input.LA(1) ) {
case 87:
{
alt98=1;
}
break;
case 88:
{
alt98=2;
}
break;
case 89:
{
alt98=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 98, 0, input);
throw nvae;
}
switch (alt98) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6746:2: (enumLiteral_0= 'RaspberryPi' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6746:2: (enumLiteral_0= 'RaspberryPi' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6746:4: enumLiteral_0= 'RaspberryPi'
{
enumLiteral_0=(Token)match(input,87,FollowSets000.FOLLOW_87_in_ruleBoardType14945); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getBoardTypeAccess().getRaspberryPiEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getBoardTypeAccess().getRaspberryPiEnumLiteralDeclaration_0());
}
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6752:6: (enumLiteral_1= 'Arduino' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6752:6: (enumLiteral_1= 'Arduino' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6752:8: enumLiteral_1= 'Arduino'
{
enumLiteral_1=(Token)match(input,88,FollowSets000.FOLLOW_88_in_ruleBoardType14962); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getBoardTypeAccess().getArduinoEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getBoardTypeAccess().getArduinoEnumLiteralDeclaration_1());
}
}
}
break;
case 3 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6758:6: (enumLiteral_2= 'BeagleBoard' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6758:6: (enumLiteral_2= 'BeagleBoard' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6758:8: enumLiteral_2= 'BeagleBoard'
{
enumLiteral_2=(Token)match(input,89,FollowSets000.FOLLOW_89_in_ruleBoardType14979); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getBoardTypeAccess().getBeagleBoardEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getBoardTypeAccess().getBeagleBoardEnumLiteralDeclaration_2());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBoardType"
// $ANTLR start "ruleparam_attribute"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6768:1: ruleparam_attribute returns [Enumerator current=null] : ( (enumLiteral_0= 'in' ) | (enumLiteral_1= 'out' ) | (enumLiteral_2= 'inout' ) ) ;
public final Enumerator ruleparam_attribute() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
Token enumLiteral_1=null;
Token enumLiteral_2=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6770:28: ( ( (enumLiteral_0= 'in' ) | (enumLiteral_1= 'out' ) | (enumLiteral_2= 'inout' ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6771:1: ( (enumLiteral_0= 'in' ) | (enumLiteral_1= 'out' ) | (enumLiteral_2= 'inout' ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6771:1: ( (enumLiteral_0= 'in' ) | (enumLiteral_1= 'out' ) | (enumLiteral_2= 'inout' ) )
int alt99=3;
switch ( input.LA(1) ) {
case 45:
{
alt99=1;
}
break;
case 74:
{
alt99=2;
}
break;
case 90:
{
alt99=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 99, 0, input);
throw nvae;
}
switch (alt99) {
case 1 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6771:2: (enumLiteral_0= 'in' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6771:2: (enumLiteral_0= 'in' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6771:4: enumLiteral_0= 'in'
{
enumLiteral_0=(Token)match(input,45,FollowSets000.FOLLOW_45_in_ruleparam_attribute15024); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getParam_attributeAccess().getPARAM_INEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getParam_attributeAccess().getPARAM_INEnumLiteralDeclaration_0());
}
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6777:6: (enumLiteral_1= 'out' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6777:6: (enumLiteral_1= 'out' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6777:8: enumLiteral_1= 'out'
{
enumLiteral_1=(Token)match(input,74,FollowSets000.FOLLOW_74_in_ruleparam_attribute15041); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getParam_attributeAccess().getPARAM_OUTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getParam_attributeAccess().getPARAM_OUTEnumLiteralDeclaration_1());
}
}
}
break;
case 3 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6783:6: (enumLiteral_2= 'inout' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6783:6: (enumLiteral_2= 'inout' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6783:8: enumLiteral_2= 'inout'
{
enumLiteral_2=(Token)match(input,90,FollowSets000.FOLLOW_90_in_ruleparam_attribute15058); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getParam_attributeAccess().getPARAM_INOUTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getParam_attributeAccess().getPARAM_INOUTEnumLiteralDeclaration_2());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleparam_attribute"
// $ANTLR start "rulefloat_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6793:1: rulefloat_type returns [Enumerator current=null] : (enumLiteral_0= 'float' ) ;
public final Enumerator rulefloat_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6795:28: ( (enumLiteral_0= 'float' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6796:1: (enumLiteral_0= 'float' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6796:1: (enumLiteral_0= 'float' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6796:3: enumLiteral_0= 'float'
{
enumLiteral_0=(Token)match(input,91,FollowSets000.FOLLOW_91_in_rulefloat_type15102); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getFloat_typeAccess().getPK_FLOATEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getFloat_typeAccess().getPK_FLOATEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulefloat_type"
// $ANTLR start "ruledouble_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6806:1: ruledouble_type returns [Enumerator current=null] : (enumLiteral_0= 'double' ) ;
public final Enumerator ruledouble_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6808:28: ( (enumLiteral_0= 'double' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6809:1: (enumLiteral_0= 'double' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6809:1: (enumLiteral_0= 'double' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6809:3: enumLiteral_0= 'double'
{
enumLiteral_0=(Token)match(input,28,FollowSets000.FOLLOW_28_in_ruledouble_type15145); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getDouble_typeAccess().getPK_DOUBLEEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getDouble_typeAccess().getPK_DOUBLEEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruledouble_type"
// $ANTLR start "ruleshort_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6819:1: ruleshort_type returns [Enumerator current=null] : (enumLiteral_0= 'short' ) ;
public final Enumerator ruleshort_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6821:28: ( (enumLiteral_0= 'short' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6822:1: (enumLiteral_0= 'short' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6822:1: (enumLiteral_0= 'short' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6822:3: enumLiteral_0= 'short'
{
enumLiteral_0=(Token)match(input,30,FollowSets000.FOLLOW_30_in_ruleshort_type15188); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getShort_typeAccess().getPK_SHORTEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getShort_typeAccess().getPK_SHORTEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleshort_type"
// $ANTLR start "rulelong_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6832:1: rulelong_type returns [Enumerator current=null] : (enumLiteral_0= 'long' ) ;
public final Enumerator rulelong_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6834:28: ( (enumLiteral_0= 'long' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6835:1: (enumLiteral_0= 'long' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6835:1: (enumLiteral_0= 'long' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6835:3: enumLiteral_0= 'long'
{
enumLiteral_0=(Token)match(input,27,FollowSets000.FOLLOW_27_in_rulelong_type15231); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getLong_typeAccess().getPK_LONGEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getLong_typeAccess().getPK_LONGEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulelong_type"
// $ANTLR start "rulechar_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6845:1: rulechar_type returns [Enumerator current=null] : (enumLiteral_0= 'char' ) ;
public final Enumerator rulechar_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6847:28: ( (enumLiteral_0= 'char' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6848:1: (enumLiteral_0= 'char' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6848:1: (enumLiteral_0= 'char' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6848:3: enumLiteral_0= 'char'
{
enumLiteral_0=(Token)match(input,92,FollowSets000.FOLLOW_92_in_rulechar_type15274); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getChar_typeAccess().getPK_CHAREnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getChar_typeAccess().getPK_CHAREnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulechar_type"
// $ANTLR start "rulewide_char_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6858:1: rulewide_char_type returns [Enumerator current=null] : (enumLiteral_0= 'wchar' ) ;
public final Enumerator rulewide_char_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6860:28: ( (enumLiteral_0= 'wchar' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6861:1: (enumLiteral_0= 'wchar' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6861:1: (enumLiteral_0= 'wchar' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6861:3: enumLiteral_0= 'wchar'
{
enumLiteral_0=(Token)match(input,93,FollowSets000.FOLLOW_93_in_rulewide_char_type15317); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getWide_char_typeAccess().getPK_WCHAREnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getWide_char_typeAccess().getPK_WCHAREnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulewide_char_type"
// $ANTLR start "rulestring_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6871:1: rulestring_type returns [Enumerator current=null] : (enumLiteral_0= 'string' ) ;
public final Enumerator rulestring_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6873:28: ( (enumLiteral_0= 'string' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6874:1: (enumLiteral_0= 'string' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6874:1: (enumLiteral_0= 'string' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6874:3: enumLiteral_0= 'string'
{
enumLiteral_0=(Token)match(input,94,FollowSets000.FOLLOW_94_in_rulestring_type15360); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getString_typeAccess().getPK_STRINGEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getString_typeAccess().getPK_STRINGEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulestring_type"
// $ANTLR start "rulewide_string_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6884:1: rulewide_string_type returns [Enumerator current=null] : (enumLiteral_0= 'wstring' ) ;
public final Enumerator rulewide_string_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6886:28: ( (enumLiteral_0= 'wstring' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6887:1: (enumLiteral_0= 'wstring' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6887:1: (enumLiteral_0= 'wstring' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6887:3: enumLiteral_0= 'wstring'
{
enumLiteral_0=(Token)match(input,95,FollowSets000.FOLLOW_95_in_rulewide_string_type15403); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getWide_string_typeAccess().getPK_WSTRINGEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getWide_string_typeAccess().getPK_WSTRINGEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulewide_string_type"
// $ANTLR start "ruleboolean_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6897:1: ruleboolean_type returns [Enumerator current=null] : (enumLiteral_0= 'boolean' ) ;
public final Enumerator ruleboolean_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6899:28: ( (enumLiteral_0= 'boolean' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6900:1: (enumLiteral_0= 'boolean' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6900:1: (enumLiteral_0= 'boolean' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6900:3: enumLiteral_0= 'boolean'
{
enumLiteral_0=(Token)match(input,96,FollowSets000.FOLLOW_96_in_ruleboolean_type15446); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getBoolean_typeAccess().getPK_BOOLEANEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getBoolean_typeAccess().getPK_BOOLEANEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleboolean_type"
// $ANTLR start "ruleoctet_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6910:1: ruleoctet_type returns [Enumerator current=null] : (enumLiteral_0= 'octet' ) ;
public final Enumerator ruleoctet_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6912:28: ( (enumLiteral_0= 'octet' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6913:1: (enumLiteral_0= 'octet' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6913:1: (enumLiteral_0= 'octet' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6913:3: enumLiteral_0= 'octet'
{
enumLiteral_0=(Token)match(input,97,FollowSets000.FOLLOW_97_in_ruleoctet_type15489); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getOctet_typeAccess().getPK_OCTETEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getOctet_typeAccess().getPK_OCTETEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleoctet_type"
// $ANTLR start "ruleany_type"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6923:1: ruleany_type returns [Enumerator current=null] : (enumLiteral_0= 'any' ) ;
public final Enumerator ruleany_type() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6925:28: ( (enumLiteral_0= 'any' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6926:1: (enumLiteral_0= 'any' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6926:1: (enumLiteral_0= 'any' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6926:3: enumLiteral_0= 'any'
{
enumLiteral_0=(Token)match(input,98,FollowSets000.FOLLOW_98_in_ruleany_type15532); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getAny_typeAccess().getPK_ANYEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getAny_typeAccess().getPK_ANYEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleany_type"
// $ANTLR start "ruleIntegerCalculationOperator"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6940:1: ruleIntegerCalculationOperator returns [Enumerator current=null] : ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ;
public final Enumerator ruleIntegerCalculationOperator() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
Token enumLiteral_1=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6942:28: ( ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6943:1: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6943:1: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) )
int alt100=2;
int LA100_0 = input.LA(1);
if ( (LA100_0==59) ) {
alt100=1;
}
else if ( (LA100_0==60) ) {
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6943:2: (enumLiteral_0= '+' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6943:2: (enumLiteral_0= '+' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6943:4: enumLiteral_0= '+'
{
enumLiteral_0=(Token)match(input,59,FollowSets000.FOLLOW_59_in_ruleIntegerCalculationOperator15580); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getIntegerCalculationOperatorAccess().getADDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getIntegerCalculationOperatorAccess().getADDEnumLiteralDeclaration_0());
}
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6949:6: (enumLiteral_1= '-' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6949:6: (enumLiteral_1= '-' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6949:8: enumLiteral_1= '-'
{
enumLiteral_1=(Token)match(input,60,FollowSets000.FOLLOW_60_in_ruleIntegerCalculationOperator15597); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getIntegerCalculationOperatorAccess().getSUBRACTEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getIntegerCalculationOperatorAccess().getSUBRACTEnumLiteralDeclaration_1());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIntegerCalculationOperator"
// $ANTLR start "ruleIntegerComparisonOperator"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6959:1: ruleIntegerComparisonOperator returns [Enumerator current=null] : ( (enumLiteral_0= '<' ) | (enumLiteral_1= '<=' ) | (enumLiteral_2= '==' ) | (enumLiteral_3= '>=' ) | (enumLiteral_4= '>' ) ) ;
public final Enumerator ruleIntegerComparisonOperator() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
Token enumLiteral_1=null;
Token enumLiteral_2=null;
Token enumLiteral_3=null;
Token enumLiteral_4=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6961:28: ( ( (enumLiteral_0= '<' ) | (enumLiteral_1= '<=' ) | (enumLiteral_2= '==' ) | (enumLiteral_3= '>=' ) | (enumLiteral_4= '>' ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6962:1: ( (enumLiteral_0= '<' ) | (enumLiteral_1= '<=' ) | (enumLiteral_2= '==' ) | (enumLiteral_3= '>=' ) | (enumLiteral_4= '>' ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6962:1: ( (enumLiteral_0= '<' ) | (enumLiteral_1= '<=' ) | (enumLiteral_2= '==' ) | (enumLiteral_3= '>=' ) | (enumLiteral_4= '>' ) )
int alt101=5;
switch ( input.LA(1) ) {
case 54:
{
alt101=1;
}
break;
case 55:
{
alt101=2;
}
break;
case 56:
{
alt101=3;
}
break;
case 53:
{
alt101=4;
}
break;
case 52:
{
alt101=5;
}
break;
default:
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6962:2: (enumLiteral_0= '<' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6962:2: (enumLiteral_0= '<' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6962:4: enumLiteral_0= '<'
{
enumLiteral_0=(Token)match(input,54,FollowSets000.FOLLOW_54_in_ruleIntegerComparisonOperator15642); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getIntegerComparisonOperatorAccess().getSMALLEREnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getIntegerComparisonOperatorAccess().getSMALLEREnumLiteralDeclaration_0());
}
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6968:6: (enumLiteral_1= '<=' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6968:6: (enumLiteral_1= '<=' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6968:8: enumLiteral_1= '<='
{
enumLiteral_1=(Token)match(input,55,FollowSets000.FOLLOW_55_in_ruleIntegerComparisonOperator15659); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getIntegerComparisonOperatorAccess().getSMALLER_EQUALSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getIntegerComparisonOperatorAccess().getSMALLER_EQUALSEnumLiteralDeclaration_1());
}
}
}
break;
case 3 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6974:6: (enumLiteral_2= '==' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6974:6: (enumLiteral_2= '==' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6974:8: enumLiteral_2= '=='
{
enumLiteral_2=(Token)match(input,56,FollowSets000.FOLLOW_56_in_ruleIntegerComparisonOperator15676); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getIntegerComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getIntegerComparisonOperatorAccess().getEQUALSEnumLiteralDeclaration_2());
}
}
}
break;
case 4 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6980:6: (enumLiteral_3= '>=' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6980:6: (enumLiteral_3= '>=' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6980:8: enumLiteral_3= '>='
{
enumLiteral_3=(Token)match(input,53,FollowSets000.FOLLOW_53_in_ruleIntegerComparisonOperator15693); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getIntegerComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getIntegerComparisonOperatorAccess().getGREATER_EQUALSEnumLiteralDeclaration_3());
}
}
}
break;
case 5 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6986:6: (enumLiteral_4= '>' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6986:6: (enumLiteral_4= '>' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6986:8: enumLiteral_4= '>'
{
enumLiteral_4=(Token)match(input,52,FollowSets000.FOLLOW_52_in_ruleIntegerComparisonOperator15710); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getIntegerComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getIntegerComparisonOperatorAccess().getGREATEREnumLiteralDeclaration_4());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIntegerComparisonOperator"
// $ANTLR start "ruleBooleanUnaryOperator"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6996:1: ruleBooleanUnaryOperator returns [Enumerator current=null] : (enumLiteral_0= '!' ) ;
public final Enumerator ruleBooleanUnaryOperator() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6998:28: ( (enumLiteral_0= '!' ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6999:1: (enumLiteral_0= '!' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6999:1: (enumLiteral_0= '!' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:6999:3: enumLiteral_0= '!'
{
enumLiteral_0=(Token)match(input,99,FollowSets000.FOLLOW_99_in_ruleBooleanUnaryOperator15754); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getBooleanUnaryOperatorAccess().getNOTEnumLiteralDeclaration().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getBooleanUnaryOperatorAccess().getNOTEnumLiteralDeclaration());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBooleanUnaryOperator"
// $ANTLR start "ruleBooleanBinaryOperator"
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:7009:1: ruleBooleanBinaryOperator returns [Enumerator current=null] : ( (enumLiteral_0= '&' ) | (enumLiteral_1= '|' ) ) ;
public final Enumerator ruleBooleanBinaryOperator() throws RecognitionException {
Enumerator current = null;
Token enumLiteral_0=null;
Token enumLiteral_1=null;
enterRule();
try {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:7011:28: ( ( (enumLiteral_0= '&' ) | (enumLiteral_1= '|' ) ) )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:7012:1: ( (enumLiteral_0= '&' ) | (enumLiteral_1= '|' ) )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:7012:1: ( (enumLiteral_0= '&' ) | (enumLiteral_1= '|' ) )
int alt102=2;
int LA102_0 = input.LA(1);
if ( (LA102_0==100) ) {
alt102=1;
}
else if ( (LA102_0==101) ) {
alt102=2;
}
else {
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.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:7012:2: (enumLiteral_0= '&' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:7012:2: (enumLiteral_0= '&' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:7012:4: enumLiteral_0= '&'
{
enumLiteral_0=(Token)match(input,100,FollowSets000.FOLLOW_100_in_ruleBooleanBinaryOperator15798); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getBooleanBinaryOperatorAccess().getANDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getBooleanBinaryOperatorAccess().getANDEnumLiteralDeclaration_0());
}
}
}
break;
case 2 :
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:7018:6: (enumLiteral_1= '|' )
{
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:7018:6: (enumLiteral_1= '|' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:7018:8: enumLiteral_1= '|'
{
enumLiteral_1=(Token)match(input,101,FollowSets000.FOLLOW_101_in_ruleBooleanBinaryOperator15815); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getBooleanBinaryOperatorAccess().getOREnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getBooleanBinaryOperatorAccess().getOREnumLiteralDeclaration_1());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBooleanBinaryOperator"
// $ANTLR start synpred1_InternalIoT2
public final void synpred1_InternalIoT2_fragment() throws RecognitionException {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2676:4: ( ',' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:2676:6: ','
{
match(input,25,FollowSets000.FOLLOW_25_in_synpred1_InternalIoT25781); if (state.failed) return ;
}
}
// $ANTLR end synpred1_InternalIoT2
// $ANTLR start synpred2_InternalIoT2
public final void synpred2_InternalIoT2_fragment() throws RecognitionException {
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4078:4: ( ':' )
// ../fr.inria.diverse.iot2.xtext/src-gen/fr/inria/diverse/iot2/parser/antlr/internal/InternalIoT2.g:4078:6: ':'
{
match(input,48,FollowSets000.FOLLOW_48_in_synpred2_InternalIoT28987); if (state.failed) return ;
}
}
// $ANTLR end synpred2_InternalIoT2
// Delegated rules
public final boolean synpred2_InternalIoT2() {
state.backtracking++;
int start = input.mark();
try {
synpred2_InternalIoT2_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_InternalIoT2() {
state.backtracking++;
int start = input.mark();
try {
synpred1_InternalIoT2_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 DFA18 dfa18 = new DFA18(this);
protected DFA28 dfa28 = new DFA28(this);
protected DFA55 dfa55 = new DFA55(this);
static final String DFA18_eotS =
"\12\uffff";
static final String DFA18_eofS =
"\2\uffff\1\4\3\uffff\1\11\3\uffff";
static final String DFA18_minS =
"\1\33\1\uffff\1\4\1\33\2\uffff\1\4\3\uffff";
static final String DFA18_maxS =
"\1\36\1\uffff\1\33\1\36\2\uffff\1\33\3\uffff";
static final String DFA18_acceptS =
"\1\uffff\1\1\2\uffff\1\2\1\3\1\uffff\1\4\1\6\1\5";
static final String DFA18_specialS =
"\12\uffff}>";
static final String[] DFA18_transitionS = {
"\1\2\1\uffff\1\3\1\1",
"",
"\1\4\26\uffff\1\5",
"\1\6\2\uffff\1\7",
"",
"",
"\1\11\26\uffff\1\10",
"",
"",
""
};
static final short[] DFA18_eot = DFA.unpackEncodedString(DFA18_eotS);
static final short[] DFA18_eof = DFA.unpackEncodedString(DFA18_eofS);
static final char[] DFA18_min = DFA.unpackEncodedStringToUnsignedChars(DFA18_minS);
static final char[] DFA18_max = DFA.unpackEncodedStringToUnsignedChars(DFA18_maxS);
static final short[] DFA18_accept = DFA.unpackEncodedString(DFA18_acceptS);
static final short[] DFA18_special = DFA.unpackEncodedString(DFA18_specialS);
static final short[][] DFA18_transition;
static {
int numStates = DFA18_transitionS.length;
DFA18_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA18_transition[i] = DFA.unpackEncodedString(DFA18_transitionS[i]);
}
}
class DFA18 extends DFA {
public DFA18(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 18;
this.eot = DFA18_eot;
this.eof = DFA18_eof;
this.min = DFA18_min;
this.max = DFA18_max;
this.accept = DFA18_accept;
this.special = DFA18_special;
this.transition = DFA18_transition;
}
public String getDescription() {
return "969:1: ( ( (lv_kind_0_0= ruleshort_type ) ) | ( (lv_kind_1_0= rulelong_type ) ) | ( (lv_kind_2_0= rulelonglong_type ) ) | ( (lv_kind_3_0= ruleushort_type ) ) | ( (lv_kind_4_0= ruleulong_type ) ) | ( (lv_kind_5_0= ruleulonglong_type ) ) )";
}
}
static final String DFA28_eotS =
"\16\uffff";
static final String DFA28_eofS =
"\16\uffff";
static final String DFA28_minS =
"\1\4\4\uffff\1\4\1\uffff\1\4\1\uffff\1\31\4\uffff";
static final String DFA28_maxS =
"\1\61\4\uffff\1\4\1\uffff\1\56\1\uffff\1\55\4\uffff";
static final String DFA28_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\5\1\6";
static final String DFA28_specialS =
"\16\uffff}>";
static final String[] DFA28_transitionS = {
"\1\10\23\uffff\1\10\11\uffff\1\1\1\uffff\1\2\1\3\1\uffff\1\4\3\uffff\1\5\2\uffff\1\6\2\uffff\1\7",
"",
"",
"",
"",
"\1\11",
"",
"\1\13\51\uffff\1\12",
"",
"\1\15\22\uffff\1\14\1\15",
"",
"",
"",
""
};
static final short[] DFA28_eot = DFA.unpackEncodedString(DFA28_eotS);
static final short[] DFA28_eof = DFA.unpackEncodedString(DFA28_eofS);
static final char[] DFA28_min = DFA.unpackEncodedStringToUnsignedChars(DFA28_minS);
static final char[] DFA28_max = DFA.unpackEncodedStringToUnsignedChars(DFA28_maxS);
static final short[] DFA28_accept = DFA.unpackEncodedString(DFA28_acceptS);
static final short[] DFA28_special = DFA.unpackEncodedString(DFA28_specialS);
static final short[][] DFA28_transition;
static {
int numStates = DFA28_transitionS.length;
DFA28_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA28_transition[i] = DFA.unpackEncodedString(DFA28_transitionS[i]);
}
}
class DFA28 extends DFA {
public DFA28(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 28;
this.eot = DFA28_eot;
this.eof = DFA28_eof;
this.min = DFA28_min;
this.max = DFA28_max;
this.accept = DFA28_accept;
this.special = DFA28_special;
this.transition = DFA28_transition;
}
public String getDescription() {
return "1629: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 DFA55_eotS =
"\51\uffff";
static final String DFA55_eofS =
"\1\5\50\uffff";
static final String DFA55_minS =
"\1\4\50\uffff";
static final String DFA55_maxS =
"\1\102\50\uffff";
static final String DFA55_acceptS =
"\1\uffff\1\1\2\2\1\uffff\1\3\43\uffff";
static final String DFA55_specialS =
"\1\0\50\uffff}>";
static final String[] DFA55_transitionS = {
"\1\5\1\3\6\uffff\1\3\1\5\5\uffff\1\5\4\uffff\1\2\2\5\4\uffff\15\5\2\uffff\1\5\1\uffff\1\1\17\5\2\uffff\1\5",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] DFA55_eot = DFA.unpackEncodedString(DFA55_eotS);
static final short[] DFA55_eof = DFA.unpackEncodedString(DFA55_eofS);
static final char[] DFA55_min = DFA.unpackEncodedStringToUnsignedChars(DFA55_minS);
static final char[] DFA55_max = DFA.unpackEncodedStringToUnsignedChars(DFA55_maxS);
static final short[] DFA55_accept = DFA.unpackEncodedString(DFA55_acceptS);
static final short[] DFA55_special = DFA.unpackEncodedString(DFA55_specialS);
static final short[][] DFA55_transition;
static {
int numStates = DFA55_transitionS.length;
DFA55_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA55_transition[i] = DFA.unpackEncodedString(DFA55_transitionS[i]);
}
}
class DFA55 extends DFA {
public DFA55(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 55;
this.eot = DFA55_eot;
this.eof = DFA55_eof;
this.min = DFA55_min;
this.max = DFA55_max;
this.accept = DFA55_accept;
this.special = DFA55_special;
this.transition = DFA55_transition;
}
public String getDescription() {
return "4078:1: ( ( ( ( ':' )=>otherlv_1= ':' ) () ( (lv_memberFunctionName_3_0= RULE_ID ) ) ( (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 LA55_0 = input.LA(1);
int index55_0 = input.index();
input.rewind();
s = -1;
if ( (LA55_0==48) && (synpred2_InternalIoT2())) {s = 1;}
else if ( (LA55_0==24) ) {s = 2;}
else if ( (LA55_0==RULE_STRING||LA55_0==12) ) {s = 3;}
else if ( (LA55_0==EOF||LA55_0==RULE_ID||LA55_0==13||LA55_0==19||(LA55_0>=25 && LA55_0<=26)||(LA55_0>=31 && LA55_0<=43)||LA55_0==46||(LA55_0>=49 && LA55_0<=63)||LA55_0==66) ) {s = 5;}
input.seek(index55_0);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 55, _s, input);
error(nvae);
throw nvae;
}
}
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_11_in_ruleSystem122 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleSystem139 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleSystem156 = new BitSet(new long[]{0x0000000000136000L});
public static final BitSet FOLLOW_ruleHWComponent_in_ruleSystem178 = new BitSet(new long[]{0x0000000000136000L});
public static final BitSet FOLLOW_ruleHWComponent_in_ruleSystem199 = new BitSet(new long[]{0x0000000000136000L});
public static final BitSet FOLLOW_ruleBoard_in_ruleSystem224 = new BitSet(new long[]{0x0000000000122000L});
public static final BitSet FOLLOW_ruleBoard_in_ruleSystem245 = new BitSet(new long[]{0x0000000000122000L});
public static final BitSet FOLLOW_ruleSketch_in_ruleSystem269 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_13_in_ruleSystem282 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleHWComponent_in_entryRuleHWComponent320 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleHWComponent330 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSensor_in_ruleHWComponent377 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleActuator_in_ruleHWComponent404 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSensor_in_entryRuleSensor439 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSensor449 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_14_in_ruleSensor486 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleSensor503 = new BitSet(new long[]{0x0000000000001002L});
public static final BitSet FOLLOW_12_in_ruleSensor521 = new BitSet(new long[]{0x000000000000A000L});
public static final BitSet FOLLOW_15_in_ruleSensor534 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_ruleOperationDef_in_ruleSensor555 = new BitSet(new long[]{0x000000000000A000L});
public static final BitSet FOLLOW_13_in_ruleSensor569 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleActuator_in_entryRuleActuator607 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleActuator617 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_16_in_ruleActuator654 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleActuator671 = new BitSet(new long[]{0x0000000000001002L});
public static final BitSet FOLLOW_12_in_ruleActuator689 = new BitSet(new long[]{0x000000000000A000L});
public static final BitSet FOLLOW_15_in_ruleActuator702 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_ruleOperationDef_in_ruleActuator723 = new BitSet(new long[]{0x000000000000A000L});
public static final BitSet FOLLOW_13_in_ruleActuator737 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBoard_in_entryRuleBoard775 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBoard785 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_17_in_ruleBoard831 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBoard848 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_18_in_ruleBoard865 = new BitSet(new long[]{0x0000000000000000L,0x0000000003800000L});
public static final BitSet FOLLOW_ruleBoardType_in_ruleBoard886 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_19_in_ruleBoard898 = new BitSet(new long[]{0x0000000000001002L});
public static final BitSet FOLLOW_12_in_ruleBoard911 = new BitSet(new long[]{0x000000000000A000L});
public static final BitSet FOLLOW_15_in_ruleBoard924 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBoard944 = new BitSet(new long[]{0x000000000000A000L});
public static final BitSet FOLLOW_13_in_ruleBoard958 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSketch_in_entryRuleSketch996 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSketch1006 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_20_in_ruleSketch1052 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleSketch1064 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000020L});
public static final BitSet FOLLOW_ruleActivity_in_ruleSketch1085 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_13_in_ruleSketch1097 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleEBoolean_in_entryRuleEBoolean1134 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleEBoolean1145 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_21_in_ruleEBoolean1183 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_22_in_ruleEBoolean1202 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleOperationDef_in_entryRuleOperationDef1242 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleOperationDef1252 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_23_in_ruleOperationDef1298 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleOperationDef1315 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleOperationDef1332 = new BitSet(new long[]{0x0000200004000000L,0x0000000004000400L});
public static final BitSet FOLLOW_ruleParameterDef_in_ruleOperationDef1354 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleOperationDef1367 = new BitSet(new long[]{0x0000200000000000L,0x0000000004000400L});
public static final BitSet FOLLOW_ruleParameterDef_in_ruleOperationDef1388 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleOperationDef1404 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleOperationDef1416 = new BitSet(new long[]{0x000248B701002010L});
public static final BitSet FOLLOW_ruleBlock_in_ruleOperationDef1437 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_13_in_ruleOperationDef1449 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleParameterDef_in_entryRuleParameterDef1485 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleParameterDef1495 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleparam_attribute_in_ruleParameterDef1541 = new BitSet(new long[]{0x0000000078000000L,0x00000007F8000000L});
public static final BitSet FOLLOW_rulePrimitiveDef_in_ruleParameterDef1562 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleParameterDef1579 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulePrimitiveDef_in_entryRulePrimitiveDef1620 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRulePrimitiveDef1630 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleinteger_type_in_rulePrimitiveDef1677 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulefloating_pt_type_in_rulePrimitiveDef1704 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulecharstr_type_in_rulePrimitiveDef1731 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleother_type_in_rulePrimitiveDef1758 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulefloating_pt_type_in_entryRulefloating_pt_type1793 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRulefloating_pt_type1803 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulefloat_type_in_rulefloating_pt_type1849 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruledouble_type_in_rulefloating_pt_type1876 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulelongdouble_type_in_rulefloating_pt_type1903 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulelongdouble_type_in_entryRulelongdouble_type1940 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRulelongdouble_type1951 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_27_in_rulelongdouble_type1989 = new BitSet(new long[]{0x0000000010000000L});
public static final BitSet FOLLOW_28_in_rulelongdouble_type2002 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleinteger_type_in_entryRuleinteger_type2042 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleinteger_type2052 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleshort_type_in_ruleinteger_type2098 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulelong_type_in_ruleinteger_type2125 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulelonglong_type_in_ruleinteger_type2152 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleushort_type_in_ruleinteger_type2179 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleulong_type_in_ruleinteger_type2206 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleulonglong_type_in_ruleinteger_type2233 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulelonglong_type_in_entryRulelonglong_type2270 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRulelonglong_type2281 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_27_in_rulelonglong_type2319 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_27_in_rulelonglong_type2332 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleushort_type_in_entryRuleushort_type2373 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleushort_type2384 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_29_in_ruleushort_type2422 = new BitSet(new long[]{0x0000000040000000L});
public static final BitSet FOLLOW_30_in_ruleushort_type2435 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleulong_type_in_entryRuleulong_type2476 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleulong_type2487 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_29_in_ruleulong_type2525 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_27_in_ruleulong_type2538 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleulonglong_type_in_entryRuleulonglong_type2579 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleulonglong_type2590 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_29_in_ruleulonglong_type2628 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_27_in_ruleulonglong_type2641 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_27_in_ruleulonglong_type2654 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulecharstr_type_in_entryRulecharstr_type2694 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRulecharstr_type2704 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulechar_type_in_rulecharstr_type2750 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulewide_char_type_in_rulecharstr_type2777 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulestring_type_in_rulecharstr_type2804 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulewide_string_type_in_rulecharstr_type2831 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleother_type_in_entryRuleother_type2867 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleother_type2877 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleboolean_type_in_ruleother_type2923 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleoctet_type_in_ruleother_type2950 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleany_type_in_ruleother_type2977 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBlock_in_entryRuleBlock3015 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBlock3025 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_in_ruleBlock3081 = new BitSet(new long[]{0x000248B781000012L});
public static final BitSet FOLLOW_31_in_ruleBlock3094 = new BitSet(new long[]{0x000248B701000012L});
public static final BitSet FOLLOW_ruleLastStatement_in_ruleBlock3120 = new BitSet(new long[]{0x0000000080000002L});
public static final BitSet FOLLOW_31_in_ruleBlock3133 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleLastStatement_in_entryRuleLastStatement3173 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleLastStatement3183 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleLastStatement_Return_in_ruleLastStatement3230 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleLastStatement_Break_in_ruleLastStatement3257 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleLastStatement_Return_in_entryRuleLastStatement_Return3292 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleLastStatement_Return3302 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_32_in_ruleLastStatement_Return3339 = new BitSet(new long[]{0x100248B401601072L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleLastStatement_Return3370 = new BitSet(new long[]{0x0000000002000002L});
public static final BitSet FOLLOW_25_in_ruleLastStatement_Return3383 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleLastStatement_Return3404 = new BitSet(new long[]{0x0000000002000002L});
public static final BitSet FOLLOW_ruleLastStatement_Break_in_entryRuleLastStatement_Break3444 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleLastStatement_Break3454 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_33_in_ruleLastStatement_Break3491 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_in_entryRuleStatement3536 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement3546 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_Block_in_ruleStatement3593 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_While_in_ruleStatement3620 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_Repeat_in_ruleStatement3647 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_If_Then_Else_in_ruleStatement3674 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_For_Numeric_in_ruleStatement3701 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_For_Generic_in_ruleStatement3728 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_GlobalFunction_Declaration_in_ruleStatement3755 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_LocalFunction_Declaration_in_ruleStatement3782 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_Local_Variable_Declaration_in_ruleStatement3809 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_FunctioncallOrAssignment_in_ruleStatement3836 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_Block_in_entryRuleStatement_Block3871 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_Block3881 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_34_in_ruleStatement_Block3918 = new BitSet(new long[]{0x000248BF01000010L});
public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_Block3939 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_35_in_ruleStatement_Block3951 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_While_in_entryRuleStatement_While3987 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_While3997 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_36_in_ruleStatement_While4034 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_While4055 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_34_in_ruleStatement_While4067 = new BitSet(new long[]{0x000248BF01000010L});
public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_While4088 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_35_in_ruleStatement_While4100 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_Repeat_in_entryRuleStatement_Repeat4136 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_Repeat4146 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_37_in_ruleStatement_Repeat4183 = new BitSet(new long[]{0x000248F701000010L});
public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_Repeat4204 = new BitSet(new long[]{0x0000004000000000L});
public static final BitSet FOLLOW_38_in_ruleStatement_Repeat4216 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_Repeat4237 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_If_Then_Else_in_entryRuleStatement_If_Then_Else4273 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_If_Then_Else4283 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_39_in_ruleStatement_If_Then_Else4320 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_If_Then_Else4341 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleStatement_If_Then_Else4353 = new BitSet(new long[]{0x00024EBF01000010L});
public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_If_Then_Else4374 = new BitSet(new long[]{0x0000060800000000L});
public static final BitSet FOLLOW_ruleStatement_If_Then_Else_ElseIfPart_in_ruleStatement_If_Then_Else4395 = new BitSet(new long[]{0x0000060800000000L});
public static final BitSet FOLLOW_41_in_ruleStatement_If_Then_Else4409 = new BitSet(new long[]{0x000248BF01000010L});
public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_If_Then_Else4430 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_35_in_ruleStatement_If_Then_Else4444 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_If_Then_Else_ElseIfPart_in_entryRuleStatement_If_Then_Else_ElseIfPart4480 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_If_Then_Else_ElseIfPart4490 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_42_in_ruleStatement_If_Then_Else_ElseIfPart4527 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_If_Then_Else_ElseIfPart4548 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleStatement_If_Then_Else_ElseIfPart4560 = new BitSet(new long[]{0x000248B701000010L});
public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_If_Then_Else_ElseIfPart4581 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_For_Numeric_in_entryRuleStatement_For_Numeric4617 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_For_Numeric4627 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_43_in_ruleStatement_For_Numeric4664 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleStatement_For_Numeric4681 = new BitSet(new long[]{0x0000100000000000L});
public static final BitSet FOLLOW_44_in_ruleStatement_For_Numeric4698 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_For_Numeric4719 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_25_in_ruleStatement_For_Numeric4731 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_For_Numeric4752 = new BitSet(new long[]{0x0000000402000000L});
public static final BitSet FOLLOW_25_in_ruleStatement_For_Numeric4765 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_For_Numeric4786 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_34_in_ruleStatement_For_Numeric4800 = new BitSet(new long[]{0x000248BF01000010L});
public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_For_Numeric4821 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_35_in_ruleStatement_For_Numeric4833 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_For_Generic_in_entryRuleStatement_For_Generic4869 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_For_Generic4879 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_43_in_ruleStatement_For_Generic4916 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleStatement_For_Generic4933 = new BitSet(new long[]{0x0000200002000000L});
public static final BitSet FOLLOW_25_in_ruleStatement_For_Generic4951 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleStatement_For_Generic4968 = new BitSet(new long[]{0x0000200002000000L});
public static final BitSet FOLLOW_45_in_ruleStatement_For_Generic4987 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_For_Generic5008 = new BitSet(new long[]{0x0000000402000000L});
public static final BitSet FOLLOW_25_in_ruleStatement_For_Generic5021 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_For_Generic5042 = new BitSet(new long[]{0x0000000402000000L});
public static final BitSet FOLLOW_34_in_ruleStatement_For_Generic5056 = new BitSet(new long[]{0x000248BF01000010L});
public static final BitSet FOLLOW_ruleBlock_in_ruleStatement_For_Generic5077 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_35_in_ruleStatement_For_Generic5089 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_GlobalFunction_Declaration_in_entryRuleStatement_GlobalFunction_Declaration5125 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_GlobalFunction_Declaration5135 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_46_in_ruleStatement_GlobalFunction_Declaration5172 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleStatement_GlobalFunction_Declaration5189 = new BitSet(new long[]{0x0001800001000000L});
public static final BitSet FOLLOW_47_in_ruleStatement_GlobalFunction_Declaration5207 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleStatement_GlobalFunction_Declaration5224 = new BitSet(new long[]{0x0001800001000000L});
public static final BitSet FOLLOW_48_in_ruleStatement_GlobalFunction_Declaration5244 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleStatement_GlobalFunction_Declaration5261 = new BitSet(new long[]{0x0001800001000000L});
public static final BitSet FOLLOW_ruleFunction_in_ruleStatement_GlobalFunction_Declaration5289 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_35_in_ruleStatement_GlobalFunction_Declaration5301 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_LocalFunction_Declaration_in_entryRuleStatement_LocalFunction_Declaration5337 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_LocalFunction_Declaration5347 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_49_in_ruleStatement_LocalFunction_Declaration5384 = new BitSet(new long[]{0x0000400000000000L});
public static final BitSet FOLLOW_46_in_ruleStatement_LocalFunction_Declaration5396 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleStatement_LocalFunction_Declaration5413 = new BitSet(new long[]{0x0001800001000000L});
public static final BitSet FOLLOW_ruleFunction_in_ruleStatement_LocalFunction_Declaration5439 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_35_in_ruleStatement_LocalFunction_Declaration5451 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleStatement_Local_Variable_Declaration_in_entryRuleStatement_Local_Variable_Declaration5487 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_Local_Variable_Declaration5497 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_49_in_ruleStatement_Local_Variable_Declaration5534 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleStatement_Local_Variable_Declaration5551 = new BitSet(new long[]{0x0000100002000002L});
public static final BitSet FOLLOW_25_in_ruleStatement_Local_Variable_Declaration5569 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleStatement_Local_Variable_Declaration5586 = new BitSet(new long[]{0x0000100002000002L});
public static final BitSet FOLLOW_44_in_ruleStatement_Local_Variable_Declaration5606 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_Local_Variable_Declaration5627 = new BitSet(new long[]{0x0000000002000002L});
public static final BitSet FOLLOW_25_in_ruleStatement_Local_Variable_Declaration5640 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_Local_Variable_Declaration5661 = new BitSet(new long[]{0x0000000002000002L});
public static final BitSet FOLLOW_ruleStatement_FunctioncallOrAssignment_in_entryRuleStatement_FunctioncallOrAssignment5701 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStatement_FunctioncallOrAssignment5711 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_ruleStatement_FunctioncallOrAssignment5758 = new BitSet(new long[]{0x0001100003001020L});
public static final BitSet FOLLOW_25_in_ruleStatement_FunctioncallOrAssignment5789 = new BitSet(new long[]{0x000248B401000010L});
public static final BitSet FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_ruleStatement_FunctioncallOrAssignment5811 = new BitSet(new long[]{0x0000100002000000L});
public static final BitSet FOLLOW_44_in_ruleStatement_FunctioncallOrAssignment5825 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_FunctioncallOrAssignment5846 = new BitSet(new long[]{0x0000000002000002L});
public static final BitSet FOLLOW_25_in_ruleStatement_FunctioncallOrAssignment5859 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleStatement_FunctioncallOrAssignment5880 = new BitSet(new long[]{0x0000000002000002L});
public static final BitSet FOLLOW_48_in_ruleStatement_FunctioncallOrAssignment5902 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleStatement_FunctioncallOrAssignment5928 = new BitSet(new long[]{0x0001100003001020L});
public static final BitSet FOLLOW_ruleFunctioncall_Arguments_in_ruleStatement_FunctioncallOrAssignment5954 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFunctioncall_Arguments_in_ruleStatement_FunctioncallOrAssignment5992 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression6030 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression6040 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Or_in_ruleExpression6086 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Or_in_entryRuleExpression_Or6120 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Or6130 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_And_in_ruleExpression_Or6177 = new BitSet(new long[]{0x0004000000000002L});
public static final BitSet FOLLOW_50_in_ruleExpression_Or6189 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_And_in_ruleExpression_Or6219 = new BitSet(new long[]{0x0004000000000002L});
public static final BitSet FOLLOW_ruleExpression_And_in_entryRuleExpression_And6257 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_And6267 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Compare_in_ruleExpression_And6314 = new BitSet(new long[]{0x0008000000000002L});
public static final BitSet FOLLOW_51_in_ruleExpression_And6326 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Compare_in_ruleExpression_And6356 = new BitSet(new long[]{0x0008000000000002L});
public static final BitSet FOLLOW_ruleExpression_Compare_in_entryRuleExpression_Compare6394 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Compare6404 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare6451 = new BitSet(new long[]{0x03F0000000000002L});
public static final BitSet FOLLOW_52_in_ruleExpression_Compare6464 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare6494 = new BitSet(new long[]{0x03F0000000000002L});
public static final BitSet FOLLOW_53_in_ruleExpression_Compare6514 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare6544 = new BitSet(new long[]{0x03F0000000000002L});
public static final BitSet FOLLOW_54_in_ruleExpression_Compare6564 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare6594 = new BitSet(new long[]{0x03F0000000000002L});
public static final BitSet FOLLOW_55_in_ruleExpression_Compare6614 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare6644 = new BitSet(new long[]{0x03F0000000000002L});
public static final BitSet FOLLOW_56_in_ruleExpression_Compare6664 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare6694 = new BitSet(new long[]{0x03F0000000000002L});
public static final BitSet FOLLOW_57_in_ruleExpression_Compare6714 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Compare6744 = new BitSet(new long[]{0x03F0000000000002L});
public static final BitSet FOLLOW_ruleExpression_Concatenation_in_entryRuleExpression_Concatenation6783 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Concatenation6793 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_PlusMinus_in_ruleExpression_Concatenation6840 = new BitSet(new long[]{0x0400000000000002L});
public static final BitSet FOLLOW_58_in_ruleExpression_Concatenation6852 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Concatenation_in_ruleExpression_Concatenation6882 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_PlusMinus_in_entryRuleExpression_PlusMinus6920 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_PlusMinus6930 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_ruleExpression_PlusMinus6977 = new BitSet(new long[]{0x1800000000000002L});
public static final BitSet FOLLOW_59_in_ruleExpression_PlusMinus6990 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_ruleExpression_PlusMinus7020 = new BitSet(new long[]{0x1800000000000002L});
public static final BitSet FOLLOW_60_in_ruleExpression_PlusMinus7040 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_ruleExpression_PlusMinus7070 = new BitSet(new long[]{0x1800000000000002L});
public static final BitSet FOLLOW_ruleExpression_MultiplicationDivisionModulo_in_entryRuleExpression_MultiplicationDivisionModulo7109 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_MultiplicationDivisionModulo7119 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo7166 = new BitSet(new long[]{0xE000000000000002L});
public static final BitSet FOLLOW_61_in_ruleExpression_MultiplicationDivisionModulo7179 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo7209 = new BitSet(new long[]{0xE000000000000002L});
public static final BitSet FOLLOW_62_in_ruleExpression_MultiplicationDivisionModulo7229 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo7259 = new BitSet(new long[]{0xE000000000000002L});
public static final BitSet FOLLOW_63_in_ruleExpression_MultiplicationDivisionModulo7279 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_MultiplicationDivisionModulo7309 = new BitSet(new long[]{0xE000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Unary_in_entryRuleExpression_Unary7348 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Unary7358 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Exponentiation_in_ruleExpression_Unary7405 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_64_in_ruleExpression_Unary7423 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_Unary7453 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_65_in_ruleExpression_Unary7473 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_Unary7503 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_60_in_ruleExpression_Unary7523 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_Unary_in_ruleExpression_Unary7553 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Exponentiation_in_entryRuleExpression_Exponentiation7590 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Exponentiation7600 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Terminal_in_ruleExpression_Exponentiation7647 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L});
public static final BitSet FOLLOW_66_in_ruleExpression_Exponentiation7659 = new BitSet(new long[]{0x000248B401601070L,0x0000000000000018L});
public static final BitSet FOLLOW_ruleExpression_Exponentiation_in_ruleExpression_Exponentiation7689 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Terminal_in_entryRuleExpression_Terminal7727 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Terminal7737 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Nil_in_ruleExpression_Terminal7784 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_True_in_ruleExpression_Terminal7811 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_False_in_ruleExpression_Terminal7838 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Number_in_ruleExpression_Terminal7865 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_VarArgs_in_ruleExpression_Terminal7892 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_String_in_ruleExpression_Terminal7919 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Function_in_ruleExpression_Terminal7946 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_TableConstructor_in_ruleExpression_Terminal7973 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Functioncall_in_ruleExpression_Terminal8000 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Nil_in_entryRuleExpression_Nil8035 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Nil8045 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_67_in_ruleExpression_Nil8082 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_True_in_entryRuleExpression_True8127 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_True8137 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_21_in_ruleExpression_True8174 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_False_in_entryRuleExpression_False8219 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_False8229 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_22_in_ruleExpression_False8266 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Number_in_entryRuleExpression_Number8311 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Number8321 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleDouble_in_ruleExpression_Number8366 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_VarArgs_in_entryRuleExpression_VarArgs8401 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_VarArgs8411 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_68_in_ruleExpression_VarArgs8448 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_String_in_entryRuleExpression_String8493 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_String8503 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_STRING_in_ruleExpression_String8544 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Function_in_entryRuleExpression_Function8584 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Function8594 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_46_in_ruleExpression_Function8631 = new BitSet(new long[]{0x0001800001000000L});
public static final BitSet FOLLOW_ruleFunction_in_ruleExpression_Function8652 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_35_in_ruleExpression_Function8664 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_TableConstructor_in_entryRuleExpression_TableConstructor8700 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_TableConstructor8710 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_12_in_ruleExpression_TableConstructor8747 = new BitSet(new long[]{0x100248B401643070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleField_in_ruleExpression_TableConstructor8778 = new BitSet(new long[]{0x0000000082002000L});
public static final BitSet FOLLOW_25_in_ruleExpression_TableConstructor8792 = new BitSet(new long[]{0x100248B401641070L,0x000000000000001BL});
public static final BitSet FOLLOW_31_in_ruleExpression_TableConstructor8810 = new BitSet(new long[]{0x100248B401641070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleField_in_ruleExpression_TableConstructor8832 = new BitSet(new long[]{0x0000000082002000L});
public static final BitSet FOLLOW_25_in_ruleExpression_TableConstructor8847 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_31_in_ruleExpression_TableConstructor8865 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_13_in_ruleExpression_TableConstructor8881 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_Functioncall_in_entryRuleExpression_Functioncall8917 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_Functioncall8927 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_ruleExpression_Functioncall8974 = new BitSet(new long[]{0x0001100003001022L});
public static final BitSet FOLLOW_48_in_ruleExpression_Functioncall8995 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleExpression_Functioncall9022 = new BitSet(new long[]{0x0001100003001020L});
public static final BitSet FOLLOW_ruleFunctioncall_Arguments_in_ruleExpression_Functioncall9048 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFunctioncall_Arguments_in_ruleExpression_Functioncall9086 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_AccessMemberOrArrayElement_in_entryRuleExpression_AccessMemberOrArrayElement9125 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_AccessMemberOrArrayElement9135 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_VariableName_in_ruleExpression_AccessMemberOrArrayElement9182 = new BitSet(new long[]{0x0000800000040002L});
public static final BitSet FOLLOW_18_in_ruleExpression_AccessMemberOrArrayElement9195 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleExpression_AccessMemberOrArrayElement9225 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_19_in_ruleExpression_AccessMemberOrArrayElement9237 = new BitSet(new long[]{0x0000800000040002L});
public static final BitSet FOLLOW_47_in_ruleExpression_AccessMemberOrArrayElement9257 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleExpression_AccessMemberOrArrayElement9283 = new BitSet(new long[]{0x0000800000040002L});
public static final BitSet FOLLOW_ruleExpression_VariableName_in_entryRuleExpression_VariableName9327 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression_VariableName9337 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_24_in_ruleExpression_VariableName9375 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleExpression_VariableName9397 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_26_in_ruleExpression_VariableName9408 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleExpression_VariableName9442 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction9484 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleFunction9494 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_24_in_ruleFunction9531 = new BitSet(new long[]{0x0000000004000010L,0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleFunction9549 = new BitSet(new long[]{0x0000000006000000L,0x0000000000000010L});
public static final BitSet FOLLOW_25_in_ruleFunction9567 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleFunction9584 = new BitSet(new long[]{0x0000000006000000L,0x0000000000000010L});
public static final BitSet FOLLOW_25_in_ruleFunction9604 = new BitSet(new long[]{0x0000000004000000L,0x0000000000000010L});
public static final BitSet FOLLOW_68_in_ruleFunction9626 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_26_in_ruleFunction9652 = new BitSet(new long[]{0x000248B701000010L});
public static final BitSet FOLLOW_ruleBlock_in_ruleFunction9673 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFunctioncall_Arguments_in_entryRuleFunctioncall_Arguments9709 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleFunctioncall_Arguments9719 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_24_in_ruleFunctioncall_Arguments9767 = new BitSet(new long[]{0x100248B405601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleFunctioncall_Arguments9789 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleFunctioncall_Arguments9802 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleFunctioncall_Arguments9823 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleFunctioncall_Arguments9839 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_TableConstructor_in_ruleFunctioncall_Arguments9867 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_String_in_ruleFunctioncall_Arguments9894 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleField_in_entryRuleField9931 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleField9941 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleField_AddEntryToTable_Brackets_in_ruleField9988 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleField_AddEntryToTable_in_ruleField10015 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleField_AppendEntryToTable_in_ruleField10042 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleField_AddEntryToTable_Brackets_in_entryRuleField_AddEntryToTable_Brackets10077 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleField_AddEntryToTable_Brackets10087 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_18_in_ruleField_AddEntryToTable_Brackets10124 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleField_AddEntryToTable_Brackets10145 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_19_in_ruleField_AddEntryToTable_Brackets10157 = new BitSet(new long[]{0x0000100000000000L});
public static final BitSet FOLLOW_44_in_ruleField_AddEntryToTable_Brackets10169 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleField_AddEntryToTable_Brackets10190 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleField_AddEntryToTable_in_entryRuleField_AddEntryToTable10226 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleField_AddEntryToTable10236 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleField_AddEntryToTable10278 = new BitSet(new long[]{0x0000100000000000L});
public static final BitSet FOLLOW_44_in_ruleField_AddEntryToTable10295 = new BitSet(new long[]{0x100248B401601070L,0x000000000000001BL});
public static final BitSet FOLLOW_ruleExpression_in_ruleField_AddEntryToTable10316 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleField_AppendEntryToTable_in_entryRuleField_AppendEntryToTable10352 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleField_AppendEntryToTable10362 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_in_ruleField_AppendEntryToTable10407 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleActivity_in_entryRuleActivity10442 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleActivity10452 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_69_in_ruleActivity10498 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleActivity10515 = new BitSet(new long[]{0x0000000001001000L});
public static final BitSet FOLLOW_24_in_ruleActivity10533 = new BitSet(new long[]{0x0000000000000000L,0x00000000000C0000L});
public static final BitSet FOLLOW_ruleVariable_in_ruleActivity10554 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleActivity10567 = new BitSet(new long[]{0x0000000000000000L,0x00000000000C0000L});
public static final BitSet FOLLOW_ruleVariable_in_ruleActivity10588 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleActivity10602 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleActivity10616 = new BitSet(new long[]{0x0000000000002000L,0x00000000000C00C0L});
public static final BitSet FOLLOW_ruleVariable_in_ruleActivity10638 = new BitSet(new long[]{0x0000000002002000L,0x00000000000000C0L});
public static final BitSet FOLLOW_25_in_ruleActivity10651 = new BitSet(new long[]{0x0000000000000000L,0x00000000000C0000L});
public static final BitSet FOLLOW_ruleVariable_in_ruleActivity10672 = new BitSet(new long[]{0x0000000002002000L,0x00000000000000C0L});
public static final BitSet FOLLOW_70_in_ruleActivity10689 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleActivity10701 = new BitSet(new long[]{0x0000000000000000L,0x000000000003F100L});
public static final BitSet FOLLOW_ruleActivityNode_in_ruleActivity10722 = new BitSet(new long[]{0x0000000002002000L});
public static final BitSet FOLLOW_25_in_ruleActivity10735 = new BitSet(new long[]{0x0000000000000000L,0x000000000003F100L});
public static final BitSet FOLLOW_ruleActivityNode_in_ruleActivity10756 = new BitSet(new long[]{0x0000000002002000L});
public static final BitSet FOLLOW_13_in_ruleActivity10770 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000080L});
public static final BitSet FOLLOW_71_in_ruleActivity10785 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleActivity10797 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_ruleActivityEdge_in_ruleActivity10818 = new BitSet(new long[]{0x0000000002002000L});
public static final BitSet FOLLOW_25_in_ruleActivity10831 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_ruleActivityEdge_in_ruleActivity10852 = new BitSet(new long[]{0x0000000002002000L});
public static final BitSet FOLLOW_13_in_ruleActivity10866 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_13_in_ruleActivity10880 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleActivityNode_in_entryRuleActivityNode10916 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleActivityNode10926 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleOpaqueAction_in_ruleActivityNode10973 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleInitialNode_in_ruleActivityNode11000 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleActivityFinalNode_in_ruleActivityNode11027 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleForkNode_in_ruleActivityNode11054 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleJoinNode_in_ruleActivityNode11081 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleMergeNode_in_ruleActivityNode11108 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleDecisionNode_in_ruleActivityNode11135 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleActivityEdge_in_entryRuleActivityEdge11170 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleActivityEdge11180 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleControlFlow_in_ruleActivityEdge11226 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleVariable_in_entryRuleVariable11260 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleVariable11270 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleIntegerVariable_in_ruleVariable11317 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBooleanVariable_in_ruleVariable11344 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleOpaqueAction_in_entryRuleOpaqueAction11381 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleOpaqueAction11391 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_72_in_ruleOpaqueAction11437 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleOpaqueAction11454 = new BitSet(new long[]{0x0000200000000002L,0x0000000000000E00L});
public static final BitSet FOLLOW_73_in_ruleOpaqueAction11472 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleOpaqueAction11484 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleActivityExpression_in_ruleOpaqueAction11505 = new BitSet(new long[]{0x0000000002002000L});
public static final BitSet FOLLOW_25_in_ruleOpaqueAction11518 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleActivityExpression_in_ruleOpaqueAction11539 = new BitSet(new long[]{0x0000000002002000L});
public static final BitSet FOLLOW_13_in_ruleOpaqueAction11553 = new BitSet(new long[]{0x0000200000000002L,0x0000000000000C00L});
public static final BitSet FOLLOW_45_in_ruleOpaqueAction11568 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleOpaqueAction11580 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleOpaqueAction11600 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleOpaqueAction11613 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleOpaqueAction11633 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleOpaqueAction11647 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000C00L});
public static final BitSet FOLLOW_74_in_ruleOpaqueAction11662 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleOpaqueAction11674 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleOpaqueAction11694 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleOpaqueAction11707 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleOpaqueAction11727 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleOpaqueAction11741 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_75_in_ruleOpaqueAction11756 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleOpaqueAction11776 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleActivityExpression_in_entryRuleActivityExpression11814 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleActivityExpression11824 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleIntegerCalculationExpression_in_ruleActivityExpression11871 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleIntegerComparisonExpression_in_ruleActivityExpression11898 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBooleanUnaryExpression_in_ruleActivityExpression11925 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBooleanBinaryExpression_in_ruleActivityExpression11952 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleIntegerCalculationExpression_in_entryRuleIntegerCalculationExpression11987 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleIntegerCalculationExpression11997 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleIntegerCalculationExpression12042 = new BitSet(new long[]{0x0000100000000000L});
public static final BitSet FOLLOW_44_in_ruleIntegerCalculationExpression12054 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleIntegerCalculationExpression12074 = new BitSet(new long[]{0x1800000000000000L});
public static final BitSet FOLLOW_ruleIntegerCalculationOperator_in_ruleIntegerCalculationExpression12095 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleIntegerCalculationExpression12115 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleIntegerComparisonExpression_in_entryRuleIntegerComparisonExpression12151 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleIntegerComparisonExpression12161 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleIntegerComparisonExpression12206 = new BitSet(new long[]{0x0000100000000000L});
public static final BitSet FOLLOW_44_in_ruleIntegerComparisonExpression12218 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleIntegerComparisonExpression12238 = new BitSet(new long[]{0x01F0000000000000L});
public static final BitSet FOLLOW_ruleIntegerComparisonOperator_in_ruleIntegerComparisonExpression12259 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleIntegerComparisonExpression12279 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBooleanUnaryExpression_in_entryRuleBooleanUnaryExpression12315 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBooleanUnaryExpression12325 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBooleanUnaryExpression12370 = new BitSet(new long[]{0x0000100000000000L});
public static final BitSet FOLLOW_44_in_ruleBooleanUnaryExpression12382 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
public static final BitSet FOLLOW_ruleBooleanUnaryOperator_in_ruleBooleanUnaryExpression12403 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBooleanUnaryExpression12423 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBooleanBinaryExpression_in_entryRuleBooleanBinaryExpression12459 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBooleanBinaryExpression12469 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBooleanBinaryExpression12514 = new BitSet(new long[]{0x0000100000000000L});
public static final BitSet FOLLOW_44_in_ruleBooleanBinaryExpression12526 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBooleanBinaryExpression12546 = new BitSet(new long[]{0x0000000000000000L,0x0000003000000000L});
public static final BitSet FOLLOW_ruleBooleanBinaryOperator_in_ruleBooleanBinaryExpression12567 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBooleanBinaryExpression12587 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleInitialNode_in_entryRuleInitialNode12623 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleInitialNode12633 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_76_in_ruleInitialNode12679 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleInitialNode12696 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_74_in_ruleInitialNode12714 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleInitialNode12726 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleInitialNode12746 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleInitialNode12759 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleInitialNode12779 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleInitialNode12793 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleActivityFinalNode_in_entryRuleActivityFinalNode12830 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleActivityFinalNode12840 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_77_in_ruleActivityFinalNode12886 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleActivityFinalNode12903 = new BitSet(new long[]{0x0000200000000000L});
public static final BitSet FOLLOW_45_in_ruleActivityFinalNode12921 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleActivityFinalNode12933 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleActivityFinalNode12953 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleActivityFinalNode12966 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleActivityFinalNode12986 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleActivityFinalNode13000 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleForkNode_in_entryRuleForkNode13037 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleForkNode13047 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_78_in_ruleForkNode13093 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleForkNode13110 = new BitSet(new long[]{0x0000200000000000L});
public static final BitSet FOLLOW_45_in_ruleForkNode13128 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleForkNode13140 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleForkNode13160 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_26_in_ruleForkNode13172 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
public static final BitSet FOLLOW_74_in_ruleForkNode13186 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleForkNode13198 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleForkNode13218 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleForkNode13231 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleForkNode13251 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleForkNode13265 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleJoinNode_in_entryRuleJoinNode13303 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleJoinNode13313 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_79_in_ruleJoinNode13359 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleJoinNode13376 = new BitSet(new long[]{0x0000200000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_45_in_ruleJoinNode13394 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleJoinNode13406 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleJoinNode13426 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleJoinNode13439 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleJoinNode13459 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleJoinNode13473 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_74_in_ruleJoinNode13488 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleJoinNode13500 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleJoinNode13520 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_26_in_ruleJoinNode13532 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleMergeNode_in_entryRuleMergeNode13569 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleMergeNode13579 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_80_in_ruleMergeNode13625 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleMergeNode13642 = new BitSet(new long[]{0x0000200000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_45_in_ruleMergeNode13660 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleMergeNode13672 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleMergeNode13692 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleMergeNode13705 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleMergeNode13725 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleMergeNode13739 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_74_in_ruleMergeNode13754 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleMergeNode13766 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleMergeNode13786 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_26_in_ruleMergeNode13798 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleDecisionNode_in_entryRuleDecisionNode13835 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleDecisionNode13845 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_81_in_ruleDecisionNode13891 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleDecisionNode13908 = new BitSet(new long[]{0x0000200000000000L});
public static final BitSet FOLLOW_45_in_ruleDecisionNode13926 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleDecisionNode13938 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleDecisionNode13958 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_26_in_ruleDecisionNode13970 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L});
public static final BitSet FOLLOW_74_in_ruleDecisionNode13984 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleDecisionNode13996 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleDecisionNode14016 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_25_in_ruleDecisionNode14029 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleDecisionNode14049 = new BitSet(new long[]{0x0000000006000000L});
public static final BitSet FOLLOW_26_in_ruleDecisionNode14063 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleIntegerVariable_in_entryRuleIntegerVariable14101 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleIntegerVariable14111 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_82_in_ruleIntegerVariable14157 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleIntegerVariable14174 = new BitSet(new long[]{0x0000100000000002L});
public static final BitSet FOLLOW_44_in_ruleIntegerVariable14192 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_ruleIntegerValue_in_ruleIntegerVariable14213 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBooleanVariable_in_entryRuleBooleanVariable14251 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBooleanVariable14261 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_83_in_ruleBooleanVariable14307 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBooleanVariable14324 = new BitSet(new long[]{0x0000100000000002L});
public static final BitSet FOLLOW_44_in_ruleBooleanVariable14342 = new BitSet(new long[]{0x0000000000600000L});
public static final BitSet FOLLOW_ruleBooleanValue_in_ruleBooleanVariable14363 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBooleanValue_in_entryRuleBooleanValue14401 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBooleanValue14411 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleEBoolean_in_ruleBooleanValue14456 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleIntegerValue_in_entryRuleIntegerValue14491 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleIntegerValue14501 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_INT_in_ruleIntegerValue14542 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleControlFlow_in_entryRuleControlFlow14582 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleControlFlow14592 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_84_in_ruleControlFlow14629 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleControlFlow14646 = new BitSet(new long[]{0x0000000000000000L,0x0000000000200000L});
public static final BitSet FOLLOW_85_in_ruleControlFlow14663 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleControlFlow14683 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
public static final BitSet FOLLOW_86_in_ruleControlFlow14695 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleControlFlow14715 = new BitSet(new long[]{0x0000000000040002L});
public static final BitSet FOLLOW_18_in_ruleControlFlow14728 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleControlFlow14748 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_19_in_ruleControlFlow14760 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleDouble_in_entryRuleDouble14799 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleDouble14810 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_INT_in_ruleDouble14850 = new BitSet(new long[]{0x0000800000000002L});
public static final BitSet FOLLOW_47_in_ruleDouble14869 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_RULE_INT_in_ruleDouble14884 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_87_in_ruleBoardType14945 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_88_in_ruleBoardType14962 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_89_in_ruleBoardType14979 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_45_in_ruleparam_attribute15024 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_74_in_ruleparam_attribute15041 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_90_in_ruleparam_attribute15058 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_91_in_rulefloat_type15102 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_28_in_ruledouble_type15145 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_30_in_ruleshort_type15188 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_27_in_rulelong_type15231 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_92_in_rulechar_type15274 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_93_in_rulewide_char_type15317 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_94_in_rulestring_type15360 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_95_in_rulewide_string_type15403 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_96_in_ruleboolean_type15446 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_97_in_ruleoctet_type15489 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_98_in_ruleany_type15532 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_59_in_ruleIntegerCalculationOperator15580 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_60_in_ruleIntegerCalculationOperator15597 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_54_in_ruleIntegerComparisonOperator15642 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_55_in_ruleIntegerComparisonOperator15659 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_56_in_ruleIntegerComparisonOperator15676 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_53_in_ruleIntegerComparisonOperator15693 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_52_in_ruleIntegerComparisonOperator15710 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_99_in_ruleBooleanUnaryOperator15754 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_100_in_ruleBooleanBinaryOperator15798 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_101_in_ruleBooleanBinaryOperator15815 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_25_in_synpred1_InternalIoT25781 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_48_in_synpred2_InternalIoT28987 = new BitSet(new long[]{0x0000000000000002L});
}
}