package fr.inria.diverse.parser.antlr.internal;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import fr.inria.diverse.services.MiniFSMGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalMiniFSMParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_STRING", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'FSM'", "'{'", "'initialState'", "'}'", "'State'", "'->'", "'['", "']'", "'Context'", "'FinalState'", "'AssignBool'", "'('", "','", "')'", "'AssignInt'", "'PrintVar'", "'PrintStr'", "'OR'", "'AND'", "'!'", "'value'", "'Boolean'", "'true'", "'false'", "'equal'", "'greater'", "'greaterOrEqual'", "'less'", "'lessOrEqual'", "'+'", "'-'", "'*'", "'/'", "'Integer'", "'='"
};
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__12=12;
public static final int T__13=13;
public static final int T__14=14;
public static final int RULE_ID=6;
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 RULE_INT=4;
public static final int T__29=29;
public static final int T__22=22;
public static final int RULE_ML_COMMENT=7;
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 RULE_STRING=5;
public static final int RULE_SL_COMMENT=8;
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 EOF=-1;
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 RULE_WS=9;
public static final int RULE_ANY_OTHER=10;
public static final int T__44=44;
public static final int T__45=45;
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;
// delegates
// delegators
public InternalMiniFSMParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalMiniFSMParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalMiniFSMParser.tokenNames; }
public String getGrammarFileName() { return "InternalMiniFSM.g"; }
private MiniFSMGrammarAccess grammarAccess;
public InternalMiniFSMParser(TokenStream input, MiniFSMGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "FSM";
}
@Override
protected MiniFSMGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleFSM"
// InternalMiniFSM.g:64:1: entryRuleFSM returns [EObject current=null] : iv_ruleFSM= ruleFSM EOF ;
public final EObject entryRuleFSM() throws RecognitionException {
EObject current = null;
EObject iv_ruleFSM = null;
try {
// InternalMiniFSM.g:64:44: (iv_ruleFSM= ruleFSM EOF )
// InternalMiniFSM.g:65:2: iv_ruleFSM= ruleFSM EOF
{
newCompositeNode(grammarAccess.getFSMRule());
pushFollow(FOLLOW_1);
iv_ruleFSM=ruleFSM();
state._fsp--;
current =iv_ruleFSM;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFSM"
// $ANTLR start "ruleFSM"
// InternalMiniFSM.g:71:1: ruleFSM returns [EObject current=null] : (otherlv_0= 'FSM' otherlv_1= '{' ( ( (lv_states_2_0= ruleState ) ) ( (lv_states_3_0= ruleState ) )* )? otherlv_4= 'initialState' ( ( ruleEString ) ) ( ( (lv_transitions_6_0= ruleTransition ) ) ( (lv_transitions_7_0= ruleTransition ) )* )? ( (lv_context_8_0= ruleContext ) )? otherlv_9= '}' ) ;
public final EObject ruleFSM() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_4=null;
Token otherlv_9=null;
EObject lv_states_2_0 = null;
EObject lv_states_3_0 = null;
EObject lv_transitions_6_0 = null;
EObject lv_transitions_7_0 = null;
EObject lv_context_8_0 = null;
enterRule();
try {
// InternalMiniFSM.g:77:2: ( (otherlv_0= 'FSM' otherlv_1= '{' ( ( (lv_states_2_0= ruleState ) ) ( (lv_states_3_0= ruleState ) )* )? otherlv_4= 'initialState' ( ( ruleEString ) ) ( ( (lv_transitions_6_0= ruleTransition ) ) ( (lv_transitions_7_0= ruleTransition ) )* )? ( (lv_context_8_0= ruleContext ) )? otherlv_9= '}' ) )
// InternalMiniFSM.g:78:2: (otherlv_0= 'FSM' otherlv_1= '{' ( ( (lv_states_2_0= ruleState ) ) ( (lv_states_3_0= ruleState ) )* )? otherlv_4= 'initialState' ( ( ruleEString ) ) ( ( (lv_transitions_6_0= ruleTransition ) ) ( (lv_transitions_7_0= ruleTransition ) )* )? ( (lv_context_8_0= ruleContext ) )? otherlv_9= '}' )
{
// InternalMiniFSM.g:78:2: (otherlv_0= 'FSM' otherlv_1= '{' ( ( (lv_states_2_0= ruleState ) ) ( (lv_states_3_0= ruleState ) )* )? otherlv_4= 'initialState' ( ( ruleEString ) ) ( ( (lv_transitions_6_0= ruleTransition ) ) ( (lv_transitions_7_0= ruleTransition ) )* )? ( (lv_context_8_0= ruleContext ) )? otherlv_9= '}' )
// InternalMiniFSM.g:79:3: otherlv_0= 'FSM' otherlv_1= '{' ( ( (lv_states_2_0= ruleState ) ) ( (lv_states_3_0= ruleState ) )* )? otherlv_4= 'initialState' ( ( ruleEString ) ) ( ( (lv_transitions_6_0= ruleTransition ) ) ( (lv_transitions_7_0= ruleTransition ) )* )? ( (lv_context_8_0= ruleContext ) )? otherlv_9= '}'
{
otherlv_0=(Token)match(input,11,FOLLOW_3);
newLeafNode(otherlv_0, grammarAccess.getFSMAccess().getFSMKeyword_0());
otherlv_1=(Token)match(input,12,FOLLOW_4);
newLeafNode(otherlv_1, grammarAccess.getFSMAccess().getLeftCurlyBracketKeyword_1());
// InternalMiniFSM.g:87:3: ( ( (lv_states_2_0= ruleState ) ) ( (lv_states_3_0= ruleState ) )* )?
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==15||LA2_0==20) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// InternalMiniFSM.g:88:4: ( (lv_states_2_0= ruleState ) ) ( (lv_states_3_0= ruleState ) )*
{
// InternalMiniFSM.g:88:4: ( (lv_states_2_0= ruleState ) )
// InternalMiniFSM.g:89:5: (lv_states_2_0= ruleState )
{
// InternalMiniFSM.g:89:5: (lv_states_2_0= ruleState )
// InternalMiniFSM.g:90:6: lv_states_2_0= ruleState
{
newCompositeNode(grammarAccess.getFSMAccess().getStatesStateParserRuleCall_2_0_0());
pushFollow(FOLLOW_4);
lv_states_2_0=ruleState();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFSMRule());
}
add(
current,
"states",
lv_states_2_0,
"fr.inria.diverse.MiniFSM.State");
afterParserOrEnumRuleCall();
}
}
// InternalMiniFSM.g:107:4: ( (lv_states_3_0= ruleState ) )*
loop1:
do {
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==15||LA1_0==20) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// InternalMiniFSM.g:108:5: (lv_states_3_0= ruleState )
{
// InternalMiniFSM.g:108:5: (lv_states_3_0= ruleState )
// InternalMiniFSM.g:109:6: lv_states_3_0= ruleState
{
newCompositeNode(grammarAccess.getFSMAccess().getStatesStateParserRuleCall_2_1_0());
pushFollow(FOLLOW_4);
lv_states_3_0=ruleState();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFSMRule());
}
add(
current,
"states",
lv_states_3_0,
"fr.inria.diverse.MiniFSM.State");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop1;
}
} while (true);
}
break;
}
otherlv_4=(Token)match(input,13,FOLLOW_5);
newLeafNode(otherlv_4, grammarAccess.getFSMAccess().getInitialStateKeyword_3());
// InternalMiniFSM.g:131:3: ( ( ruleEString ) )
// InternalMiniFSM.g:132:4: ( ruleEString )
{
// InternalMiniFSM.g:132:4: ( ruleEString )
// InternalMiniFSM.g:133:5: ruleEString
{
if (current==null) {
current = createModelElement(grammarAccess.getFSMRule());
}
newCompositeNode(grammarAccess.getFSMAccess().getInitialStateStateCrossReference_4_0());
pushFollow(FOLLOW_6);
ruleEString();
state._fsp--;
afterParserOrEnumRuleCall();
}
}
// InternalMiniFSM.g:147:3: ( ( (lv_transitions_6_0= ruleTransition ) ) ( (lv_transitions_7_0= ruleTransition ) )* )?
int alt4=2;
int LA4_0 = input.LA(1);
if ( ((LA4_0>=RULE_STRING && LA4_0<=RULE_ID)) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// InternalMiniFSM.g:148:4: ( (lv_transitions_6_0= ruleTransition ) ) ( (lv_transitions_7_0= ruleTransition ) )*
{
// InternalMiniFSM.g:148:4: ( (lv_transitions_6_0= ruleTransition ) )
// InternalMiniFSM.g:149:5: (lv_transitions_6_0= ruleTransition )
{
// InternalMiniFSM.g:149:5: (lv_transitions_6_0= ruleTransition )
// InternalMiniFSM.g:150:6: lv_transitions_6_0= ruleTransition
{
newCompositeNode(grammarAccess.getFSMAccess().getTransitionsTransitionParserRuleCall_5_0_0());
pushFollow(FOLLOW_6);
lv_transitions_6_0=ruleTransition();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFSMRule());
}
add(
current,
"transitions",
lv_transitions_6_0,
"fr.inria.diverse.MiniFSM.Transition");
afterParserOrEnumRuleCall();
}
}
// InternalMiniFSM.g:167:4: ( (lv_transitions_7_0= ruleTransition ) )*
loop3:
do {
int alt3=2;
int LA3_0 = input.LA(1);
if ( ((LA3_0>=RULE_STRING && LA3_0<=RULE_ID)) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// InternalMiniFSM.g:168:5: (lv_transitions_7_0= ruleTransition )
{
// InternalMiniFSM.g:168:5: (lv_transitions_7_0= ruleTransition )
// InternalMiniFSM.g:169:6: lv_transitions_7_0= ruleTransition
{
newCompositeNode(grammarAccess.getFSMAccess().getTransitionsTransitionParserRuleCall_5_1_0());
pushFollow(FOLLOW_6);
lv_transitions_7_0=ruleTransition();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFSMRule());
}
add(
current,
"transitions",
lv_transitions_7_0,
"fr.inria.diverse.MiniFSM.Transition");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop3;
}
} while (true);
}
break;
}
// InternalMiniFSM.g:187:3: ( (lv_context_8_0= ruleContext ) )?
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==19) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// InternalMiniFSM.g:188:4: (lv_context_8_0= ruleContext )
{
// InternalMiniFSM.g:188:4: (lv_context_8_0= ruleContext )
// InternalMiniFSM.g:189:5: lv_context_8_0= ruleContext
{
newCompositeNode(grammarAccess.getFSMAccess().getContextContextParserRuleCall_6_0());
pushFollow(FOLLOW_7);
lv_context_8_0=ruleContext();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFSMRule());
}
set(
current,
"context",
lv_context_8_0,
"fr.inria.diverse.MiniFSM.Context");
afterParserOrEnumRuleCall();
}
}
break;
}
otherlv_9=(Token)match(input,14,FOLLOW_2);
newLeafNode(otherlv_9, grammarAccess.getFSMAccess().getRightCurlyBracketKeyword_7());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFSM"
// $ANTLR start "entryRuleState"
// InternalMiniFSM.g:214:1: entryRuleState returns [EObject current=null] : iv_ruleState= ruleState EOF ;
public final EObject entryRuleState() throws RecognitionException {
EObject current = null;
EObject iv_ruleState = null;
try {
// InternalMiniFSM.g:214:46: (iv_ruleState= ruleState EOF )
// InternalMiniFSM.g:215:2: iv_ruleState= ruleState EOF
{
newCompositeNode(grammarAccess.getStateRule());
pushFollow(FOLLOW_1);
iv_ruleState=ruleState();
state._fsp--;
current =iv_ruleState;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleState"
// $ANTLR start "ruleState"
// InternalMiniFSM.g:221:1: ruleState returns [EObject current=null] : (this_State_Impl_0= ruleState_Impl | this_FinalState_1= ruleFinalState ) ;
public final EObject ruleState() throws RecognitionException {
EObject current = null;
EObject this_State_Impl_0 = null;
EObject this_FinalState_1 = null;
enterRule();
try {
// InternalMiniFSM.g:227:2: ( (this_State_Impl_0= ruleState_Impl | this_FinalState_1= ruleFinalState ) )
// InternalMiniFSM.g:228:2: (this_State_Impl_0= ruleState_Impl | this_FinalState_1= ruleFinalState )
{
// InternalMiniFSM.g:228:2: (this_State_Impl_0= ruleState_Impl | this_FinalState_1= ruleFinalState )
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==15) ) {
alt6=1;
}
else if ( (LA6_0==20) ) {
alt6=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// InternalMiniFSM.g:229:3: this_State_Impl_0= ruleState_Impl
{
newCompositeNode(grammarAccess.getStateAccess().getState_ImplParserRuleCall_0());
pushFollow(FOLLOW_2);
this_State_Impl_0=ruleState_Impl();
state._fsp--;
current = this_State_Impl_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// InternalMiniFSM.g:238:3: this_FinalState_1= ruleFinalState
{
newCompositeNode(grammarAccess.getStateAccess().getFinalStateParserRuleCall_1());
pushFollow(FOLLOW_2);
this_FinalState_1=ruleFinalState();
state._fsp--;
current = this_FinalState_1;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleState"
// $ANTLR start "entryRuleVariable"
// InternalMiniFSM.g:250:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ;
public final EObject entryRuleVariable() throws RecognitionException {
EObject current = null;
EObject iv_ruleVariable = null;
try {
// InternalMiniFSM.g:250:49: (iv_ruleVariable= ruleVariable EOF )
// InternalMiniFSM.g:251:2: iv_ruleVariable= ruleVariable EOF
{
newCompositeNode(grammarAccess.getVariableRule());
pushFollow(FOLLOW_1);
iv_ruleVariable=ruleVariable();
state._fsp--;
current =iv_ruleVariable;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleVariable"
// $ANTLR start "ruleVariable"
// InternalMiniFSM.g:257:1: ruleVariable returns [EObject current=null] : (this_IntegerVar_0= ruleIntegerVar | this_BooleanVar_1= ruleBooleanVar ) ;
public final EObject ruleVariable() throws RecognitionException {
EObject current = null;
EObject this_IntegerVar_0 = null;
EObject this_BooleanVar_1 = null;
enterRule();
try {
// InternalMiniFSM.g:263:2: ( (this_IntegerVar_0= ruleIntegerVar | this_BooleanVar_1= ruleBooleanVar ) )
// InternalMiniFSM.g:264:2: (this_IntegerVar_0= ruleIntegerVar | this_BooleanVar_1= ruleBooleanVar )
{
// InternalMiniFSM.g:264:2: (this_IntegerVar_0= ruleIntegerVar | this_BooleanVar_1= ruleBooleanVar )
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==44) ) {
alt7=1;
}
else if ( (LA7_0==32) ) {
alt7=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 7, 0, input);
throw nvae;
}
switch (alt7) {
case 1 :
// InternalMiniFSM.g:265:3: this_IntegerVar_0= ruleIntegerVar
{
newCompositeNode(grammarAccess.getVariableAccess().getIntegerVarParserRuleCall_0());
pushFollow(FOLLOW_2);
this_IntegerVar_0=ruleIntegerVar();
state._fsp--;
current = this_IntegerVar_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// InternalMiniFSM.g:274:3: this_BooleanVar_1= ruleBooleanVar
{
newCompositeNode(grammarAccess.getVariableAccess().getBooleanVarParserRuleCall_1());
pushFollow(FOLLOW_2);
this_BooleanVar_1=ruleBooleanVar();
state._fsp--;
current = this_BooleanVar_1;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleVariable"
// $ANTLR start "entryRuleStatement"
// InternalMiniFSM.g:286:1: entryRuleStatement returns [EObject current=null] : iv_ruleStatement= ruleStatement EOF ;
public final EObject entryRuleStatement() throws RecognitionException {
EObject current = null;
EObject iv_ruleStatement = null;
try {
// InternalMiniFSM.g:286:50: (iv_ruleStatement= ruleStatement EOF )
// InternalMiniFSM.g:287:2: iv_ruleStatement= ruleStatement EOF
{
newCompositeNode(grammarAccess.getStatementRule());
pushFollow(FOLLOW_1);
iv_ruleStatement=ruleStatement();
state._fsp--;
current =iv_ruleStatement;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStatement"
// $ANTLR start "ruleStatement"
// InternalMiniFSM.g:293:1: ruleStatement returns [EObject current=null] : (this_BooleanAssignment_0= ruleBooleanAssignment | this_IntAssignment_1= ruleIntAssignment | this_PrintVar_2= rulePrintVar | this_PrintStr_3= rulePrintStr ) ;
public final EObject ruleStatement() throws RecognitionException {
EObject current = null;
EObject this_BooleanAssignment_0 = null;
EObject this_IntAssignment_1 = null;
EObject this_PrintVar_2 = null;
EObject this_PrintStr_3 = null;
enterRule();
try {
// InternalMiniFSM.g:299:2: ( (this_BooleanAssignment_0= ruleBooleanAssignment | this_IntAssignment_1= ruleIntAssignment | this_PrintVar_2= rulePrintVar | this_PrintStr_3= rulePrintStr ) )
// InternalMiniFSM.g:300:2: (this_BooleanAssignment_0= ruleBooleanAssignment | this_IntAssignment_1= ruleIntAssignment | this_PrintVar_2= rulePrintVar | this_PrintStr_3= rulePrintStr )
{
// InternalMiniFSM.g:300:2: (this_BooleanAssignment_0= ruleBooleanAssignment | this_IntAssignment_1= ruleIntAssignment | this_PrintVar_2= rulePrintVar | this_PrintStr_3= rulePrintStr )
int alt8=4;
switch ( input.LA(1) ) {
case 21:
{
alt8=1;
}
break;
case 25:
{
alt8=2;
}
break;
case 26:
{
alt8=3;
}
break;
case 27:
{
alt8=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 8, 0, input);
throw nvae;
}
switch (alt8) {
case 1 :
// InternalMiniFSM.g:301:3: this_BooleanAssignment_0= ruleBooleanAssignment
{
newCompositeNode(grammarAccess.getStatementAccess().getBooleanAssignmentParserRuleCall_0());
pushFollow(FOLLOW_2);
this_BooleanAssignment_0=ruleBooleanAssignment();
state._fsp--;
current = this_BooleanAssignment_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// InternalMiniFSM.g:310:3: this_IntAssignment_1= ruleIntAssignment
{
newCompositeNode(grammarAccess.getStatementAccess().getIntAssignmentParserRuleCall_1());
pushFollow(FOLLOW_2);
this_IntAssignment_1=ruleIntAssignment();
state._fsp--;
current = this_IntAssignment_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// InternalMiniFSM.g:319:3: this_PrintVar_2= rulePrintVar
{
newCompositeNode(grammarAccess.getStatementAccess().getPrintVarParserRuleCall_2());
pushFollow(FOLLOW_2);
this_PrintVar_2=rulePrintVar();
state._fsp--;
current = this_PrintVar_2;
afterParserOrEnumRuleCall();
}
break;
case 4 :
// InternalMiniFSM.g:328:3: this_PrintStr_3= rulePrintStr
{
newCompositeNode(grammarAccess.getStatementAccess().getPrintStrParserRuleCall_3());
pushFollow(FOLLOW_2);
this_PrintStr_3=rulePrintStr();
state._fsp--;
current = this_PrintStr_3;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStatement"
// $ANTLR start "entryRuleState_Impl"
// InternalMiniFSM.g:340:1: entryRuleState_Impl returns [EObject current=null] : iv_ruleState_Impl= ruleState_Impl EOF ;
public final EObject entryRuleState_Impl() throws RecognitionException {
EObject current = null;
EObject iv_ruleState_Impl = null;
try {
// InternalMiniFSM.g:340:51: (iv_ruleState_Impl= ruleState_Impl EOF )
// InternalMiniFSM.g:341:2: iv_ruleState_Impl= ruleState_Impl EOF
{
newCompositeNode(grammarAccess.getState_ImplRule());
pushFollow(FOLLOW_1);
iv_ruleState_Impl=ruleState_Impl();
state._fsp--;
current =iv_ruleState_Impl;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleState_Impl"
// $ANTLR start "ruleState_Impl"
// InternalMiniFSM.g:347:1: ruleState_Impl returns [EObject current=null] : ( () otherlv_1= 'State' ( (lv_name_2_0= ruleEString ) ) ( (lv_block_3_0= ruleBlock ) )? ) ;
public final EObject ruleState_Impl() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_block_3_0 = null;
enterRule();
try {
// InternalMiniFSM.g:353:2: ( ( () otherlv_1= 'State' ( (lv_name_2_0= ruleEString ) ) ( (lv_block_3_0= ruleBlock ) )? ) )
// InternalMiniFSM.g:354:2: ( () otherlv_1= 'State' ( (lv_name_2_0= ruleEString ) ) ( (lv_block_3_0= ruleBlock ) )? )
{
// InternalMiniFSM.g:354:2: ( () otherlv_1= 'State' ( (lv_name_2_0= ruleEString ) ) ( (lv_block_3_0= ruleBlock ) )? )
// InternalMiniFSM.g:355:3: () otherlv_1= 'State' ( (lv_name_2_0= ruleEString ) ) ( (lv_block_3_0= ruleBlock ) )?
{
// InternalMiniFSM.g:355:3: ()
// InternalMiniFSM.g:356:4:
{
current = forceCreateModelElement(
grammarAccess.getState_ImplAccess().getStateAction_0(),
current);
}
otherlv_1=(Token)match(input,15,FOLLOW_5);
newLeafNode(otherlv_1, grammarAccess.getState_ImplAccess().getStateKeyword_1());
// InternalMiniFSM.g:366:3: ( (lv_name_2_0= ruleEString ) )
// InternalMiniFSM.g:367:4: (lv_name_2_0= ruleEString )
{
// InternalMiniFSM.g:367:4: (lv_name_2_0= ruleEString )
// InternalMiniFSM.g:368:5: lv_name_2_0= ruleEString
{
newCompositeNode(grammarAccess.getState_ImplAccess().getNameEStringParserRuleCall_2_0());
pushFollow(FOLLOW_8);
lv_name_2_0=ruleEString();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getState_ImplRule());
}
set(
current,
"name",
lv_name_2_0,
"fr.inria.diverse.MiniFSM.EString");
afterParserOrEnumRuleCall();
}
}
// InternalMiniFSM.g:385:3: ( (lv_block_3_0= ruleBlock ) )?
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==12) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// InternalMiniFSM.g:386:4: (lv_block_3_0= ruleBlock )
{
// InternalMiniFSM.g:386:4: (lv_block_3_0= ruleBlock )
// InternalMiniFSM.g:387:5: lv_block_3_0= ruleBlock
{
newCompositeNode(grammarAccess.getState_ImplAccess().getBlockBlockParserRuleCall_3_0());
pushFollow(FOLLOW_2);
lv_block_3_0=ruleBlock();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getState_ImplRule());
}
set(
current,
"block",
lv_block_3_0,
"fr.inria.diverse.MiniFSM.Block");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleState_Impl"
// $ANTLR start "entryRuleTransition"
// InternalMiniFSM.g:408:1: entryRuleTransition returns [EObject current=null] : iv_ruleTransition= ruleTransition EOF ;
public final EObject entryRuleTransition() throws RecognitionException {
EObject current = null;
EObject iv_ruleTransition = null;
try {
// InternalMiniFSM.g:408:51: (iv_ruleTransition= ruleTransition EOF )
// InternalMiniFSM.g:409:2: iv_ruleTransition= ruleTransition EOF
{
newCompositeNode(grammarAccess.getTransitionRule());
pushFollow(FOLLOW_1);
iv_ruleTransition=ruleTransition();
state._fsp--;
current =iv_ruleTransition;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTransition"
// $ANTLR start "ruleTransition"
// InternalMiniFSM.g:415:1: ruleTransition returns [EObject current=null] : ( ( ( ruleEString ) ) otherlv_1= '->' ( ( ruleEString ) ) (otherlv_3= '[' ( (lv_expression_4_0= ruleBooleanExpression ) ) otherlv_5= ']' )? ) ;
public final EObject ruleTransition() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_expression_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:421:2: ( ( ( ( ruleEString ) ) otherlv_1= '->' ( ( ruleEString ) ) (otherlv_3= '[' ( (lv_expression_4_0= ruleBooleanExpression ) ) otherlv_5= ']' )? ) )
// InternalMiniFSM.g:422:2: ( ( ( ruleEString ) ) otherlv_1= '->' ( ( ruleEString ) ) (otherlv_3= '[' ( (lv_expression_4_0= ruleBooleanExpression ) ) otherlv_5= ']' )? )
{
// InternalMiniFSM.g:422:2: ( ( ( ruleEString ) ) otherlv_1= '->' ( ( ruleEString ) ) (otherlv_3= '[' ( (lv_expression_4_0= ruleBooleanExpression ) ) otherlv_5= ']' )? )
// InternalMiniFSM.g:423:3: ( ( ruleEString ) ) otherlv_1= '->' ( ( ruleEString ) ) (otherlv_3= '[' ( (lv_expression_4_0= ruleBooleanExpression ) ) otherlv_5= ']' )?
{
// InternalMiniFSM.g:423:3: ( ( ruleEString ) )
// InternalMiniFSM.g:424:4: ( ruleEString )
{
// InternalMiniFSM.g:424:4: ( ruleEString )
// InternalMiniFSM.g:425:5: ruleEString
{
if (current==null) {
current = createModelElement(grammarAccess.getTransitionRule());
}
newCompositeNode(grammarAccess.getTransitionAccess().getInputStateCrossReference_0_0());
pushFollow(FOLLOW_9);
ruleEString();
state._fsp--;
afterParserOrEnumRuleCall();
}
}
otherlv_1=(Token)match(input,16,FOLLOW_5);
newLeafNode(otherlv_1, grammarAccess.getTransitionAccess().getHyphenMinusGreaterThanSignKeyword_1());
// InternalMiniFSM.g:443:3: ( ( ruleEString ) )
// InternalMiniFSM.g:444:4: ( ruleEString )
{
// InternalMiniFSM.g:444:4: ( ruleEString )
// InternalMiniFSM.g:445:5: ruleEString
{
if (current==null) {
current = createModelElement(grammarAccess.getTransitionRule());
}
newCompositeNode(grammarAccess.getTransitionAccess().getOutputStateCrossReference_2_0());
pushFollow(FOLLOW_10);
ruleEString();
state._fsp--;
afterParserOrEnumRuleCall();
}
}
// InternalMiniFSM.g:459:3: (otherlv_3= '[' ( (lv_expression_4_0= ruleBooleanExpression ) ) otherlv_5= ']' )?
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==17) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// InternalMiniFSM.g:460:4: otherlv_3= '[' ( (lv_expression_4_0= ruleBooleanExpression ) ) otherlv_5= ']'
{
otherlv_3=(Token)match(input,17,FOLLOW_11);
newLeafNode(otherlv_3, grammarAccess.getTransitionAccess().getLeftSquareBracketKeyword_3_0());
// InternalMiniFSM.g:464:4: ( (lv_expression_4_0= ruleBooleanExpression ) )
// InternalMiniFSM.g:465:5: (lv_expression_4_0= ruleBooleanExpression )
{
// InternalMiniFSM.g:465:5: (lv_expression_4_0= ruleBooleanExpression )
// InternalMiniFSM.g:466:6: lv_expression_4_0= ruleBooleanExpression
{
newCompositeNode(grammarAccess.getTransitionAccess().getExpressionBooleanExpressionParserRuleCall_3_1_0());
pushFollow(FOLLOW_12);
lv_expression_4_0=ruleBooleanExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getTransitionRule());
}
set(
current,
"expression",
lv_expression_4_0,
"fr.inria.diverse.MiniFSM.BooleanExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_5=(Token)match(input,18,FOLLOW_2);
newLeafNode(otherlv_5, grammarAccess.getTransitionAccess().getRightSquareBracketKeyword_3_2());
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTransition"
// $ANTLR start "entryRuleContext"
// InternalMiniFSM.g:492:1: entryRuleContext returns [EObject current=null] : iv_ruleContext= ruleContext EOF ;
public final EObject entryRuleContext() throws RecognitionException {
EObject current = null;
EObject iv_ruleContext = null;
try {
// InternalMiniFSM.g:492:48: (iv_ruleContext= ruleContext EOF )
// InternalMiniFSM.g:493:2: iv_ruleContext= ruleContext EOF
{
newCompositeNode(grammarAccess.getContextRule());
pushFollow(FOLLOW_1);
iv_ruleContext=ruleContext();
state._fsp--;
current =iv_ruleContext;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleContext"
// $ANTLR start "ruleContext"
// InternalMiniFSM.g:499:1: ruleContext returns [EObject current=null] : ( () otherlv_1= 'Context' otherlv_2= '{' ( ( (lv_variables_3_0= ruleVariable ) ) ( (lv_variables_4_0= ruleVariable ) )* )? otherlv_5= '}' ) ;
public final EObject ruleContext() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_5=null;
EObject lv_variables_3_0 = null;
EObject lv_variables_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:505:2: ( ( () otherlv_1= 'Context' otherlv_2= '{' ( ( (lv_variables_3_0= ruleVariable ) ) ( (lv_variables_4_0= ruleVariable ) )* )? otherlv_5= '}' ) )
// InternalMiniFSM.g:506:2: ( () otherlv_1= 'Context' otherlv_2= '{' ( ( (lv_variables_3_0= ruleVariable ) ) ( (lv_variables_4_0= ruleVariable ) )* )? otherlv_5= '}' )
{
// InternalMiniFSM.g:506:2: ( () otherlv_1= 'Context' otherlv_2= '{' ( ( (lv_variables_3_0= ruleVariable ) ) ( (lv_variables_4_0= ruleVariable ) )* )? otherlv_5= '}' )
// InternalMiniFSM.g:507:3: () otherlv_1= 'Context' otherlv_2= '{' ( ( (lv_variables_3_0= ruleVariable ) ) ( (lv_variables_4_0= ruleVariable ) )* )? otherlv_5= '}'
{
// InternalMiniFSM.g:507:3: ()
// InternalMiniFSM.g:508:4:
{
current = forceCreateModelElement(
grammarAccess.getContextAccess().getContextAction_0(),
current);
}
otherlv_1=(Token)match(input,19,FOLLOW_3);
newLeafNode(otherlv_1, grammarAccess.getContextAccess().getContextKeyword_1());
otherlv_2=(Token)match(input,12,FOLLOW_13);
newLeafNode(otherlv_2, grammarAccess.getContextAccess().getLeftCurlyBracketKeyword_2());
// InternalMiniFSM.g:522:3: ( ( (lv_variables_3_0= ruleVariable ) ) ( (lv_variables_4_0= ruleVariable ) )* )?
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==32||LA12_0==44) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// InternalMiniFSM.g:523:4: ( (lv_variables_3_0= ruleVariable ) ) ( (lv_variables_4_0= ruleVariable ) )*
{
// InternalMiniFSM.g:523:4: ( (lv_variables_3_0= ruleVariable ) )
// InternalMiniFSM.g:524:5: (lv_variables_3_0= ruleVariable )
{
// InternalMiniFSM.g:524:5: (lv_variables_3_0= ruleVariable )
// InternalMiniFSM.g:525:6: lv_variables_3_0= ruleVariable
{
newCompositeNode(grammarAccess.getContextAccess().getVariablesVariableParserRuleCall_3_0_0());
pushFollow(FOLLOW_13);
lv_variables_3_0=ruleVariable();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getContextRule());
}
add(
current,
"variables",
lv_variables_3_0,
"fr.inria.diverse.MiniFSM.Variable");
afterParserOrEnumRuleCall();
}
}
// InternalMiniFSM.g:542:4: ( (lv_variables_4_0= ruleVariable ) )*
loop11:
do {
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==32||LA11_0==44) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// InternalMiniFSM.g:543:5: (lv_variables_4_0= ruleVariable )
{
// InternalMiniFSM.g:543:5: (lv_variables_4_0= ruleVariable )
// InternalMiniFSM.g:544:6: lv_variables_4_0= ruleVariable
{
newCompositeNode(grammarAccess.getContextAccess().getVariablesVariableParserRuleCall_3_1_0());
pushFollow(FOLLOW_13);
lv_variables_4_0=ruleVariable();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getContextRule());
}
add(
current,
"variables",
lv_variables_4_0,
"fr.inria.diverse.MiniFSM.Variable");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop11;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,14,FOLLOW_2);
newLeafNode(otherlv_5, grammarAccess.getContextAccess().getRightCurlyBracketKeyword_4());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleContext"
// $ANTLR start "entryRuleBlock"
// InternalMiniFSM.g:570:1: entryRuleBlock returns [EObject current=null] : iv_ruleBlock= ruleBlock EOF ;
public final EObject entryRuleBlock() throws RecognitionException {
EObject current = null;
EObject iv_ruleBlock = null;
try {
// InternalMiniFSM.g:570:46: (iv_ruleBlock= ruleBlock EOF )
// InternalMiniFSM.g:571:2: iv_ruleBlock= ruleBlock EOF
{
newCompositeNode(grammarAccess.getBlockRule());
pushFollow(FOLLOW_1);
iv_ruleBlock=ruleBlock();
state._fsp--;
current =iv_ruleBlock;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBlock"
// $ANTLR start "ruleBlock"
// InternalMiniFSM.g:577:1: ruleBlock returns [EObject current=null] : ( () otherlv_1= '{' ( ( (lv_statement_2_0= ruleStatement ) ) ( (lv_statement_3_0= ruleStatement ) )* )? otherlv_4= '}' ) ;
public final EObject ruleBlock() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_4=null;
EObject lv_statement_2_0 = null;
EObject lv_statement_3_0 = null;
enterRule();
try {
// InternalMiniFSM.g:583:2: ( ( () otherlv_1= '{' ( ( (lv_statement_2_0= ruleStatement ) ) ( (lv_statement_3_0= ruleStatement ) )* )? otherlv_4= '}' ) )
// InternalMiniFSM.g:584:2: ( () otherlv_1= '{' ( ( (lv_statement_2_0= ruleStatement ) ) ( (lv_statement_3_0= ruleStatement ) )* )? otherlv_4= '}' )
{
// InternalMiniFSM.g:584:2: ( () otherlv_1= '{' ( ( (lv_statement_2_0= ruleStatement ) ) ( (lv_statement_3_0= ruleStatement ) )* )? otherlv_4= '}' )
// InternalMiniFSM.g:585:3: () otherlv_1= '{' ( ( (lv_statement_2_0= ruleStatement ) ) ( (lv_statement_3_0= ruleStatement ) )* )? otherlv_4= '}'
{
// InternalMiniFSM.g:585:3: ()
// InternalMiniFSM.g:586:4:
{
current = forceCreateModelElement(
grammarAccess.getBlockAccess().getBlockAction_0(),
current);
}
otherlv_1=(Token)match(input,12,FOLLOW_14);
newLeafNode(otherlv_1, grammarAccess.getBlockAccess().getLeftCurlyBracketKeyword_1());
// InternalMiniFSM.g:596:3: ( ( (lv_statement_2_0= ruleStatement ) ) ( (lv_statement_3_0= ruleStatement ) )* )?
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==21||(LA14_0>=25 && LA14_0<=27)) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// InternalMiniFSM.g:597:4: ( (lv_statement_2_0= ruleStatement ) ) ( (lv_statement_3_0= ruleStatement ) )*
{
// InternalMiniFSM.g:597:4: ( (lv_statement_2_0= ruleStatement ) )
// InternalMiniFSM.g:598:5: (lv_statement_2_0= ruleStatement )
{
// InternalMiniFSM.g:598:5: (lv_statement_2_0= ruleStatement )
// InternalMiniFSM.g:599:6: lv_statement_2_0= ruleStatement
{
newCompositeNode(grammarAccess.getBlockAccess().getStatementStatementParserRuleCall_2_0_0());
pushFollow(FOLLOW_14);
lv_statement_2_0=ruleStatement();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBlockRule());
}
add(
current,
"statement",
lv_statement_2_0,
"fr.inria.diverse.MiniFSM.Statement");
afterParserOrEnumRuleCall();
}
}
// InternalMiniFSM.g:616:4: ( (lv_statement_3_0= ruleStatement ) )*
loop13:
do {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==21||(LA13_0>=25 && LA13_0<=27)) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// InternalMiniFSM.g:617:5: (lv_statement_3_0= ruleStatement )
{
// InternalMiniFSM.g:617:5: (lv_statement_3_0= ruleStatement )
// InternalMiniFSM.g:618:6: lv_statement_3_0= ruleStatement
{
newCompositeNode(grammarAccess.getBlockAccess().getStatementStatementParserRuleCall_2_1_0());
pushFollow(FOLLOW_14);
lv_statement_3_0=ruleStatement();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBlockRule());
}
add(
current,
"statement",
lv_statement_3_0,
"fr.inria.diverse.MiniFSM.Statement");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop13;
}
} while (true);
}
break;
}
otherlv_4=(Token)match(input,14,FOLLOW_2);
newLeafNode(otherlv_4, grammarAccess.getBlockAccess().getRightCurlyBracketKeyword_3());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBlock"
// $ANTLR start "entryRuleFinalState"
// InternalMiniFSM.g:644:1: entryRuleFinalState returns [EObject current=null] : iv_ruleFinalState= ruleFinalState EOF ;
public final EObject entryRuleFinalState() throws RecognitionException {
EObject current = null;
EObject iv_ruleFinalState = null;
try {
// InternalMiniFSM.g:644:51: (iv_ruleFinalState= ruleFinalState EOF )
// InternalMiniFSM.g:645:2: iv_ruleFinalState= ruleFinalState EOF
{
newCompositeNode(grammarAccess.getFinalStateRule());
pushFollow(FOLLOW_1);
iv_ruleFinalState=ruleFinalState();
state._fsp--;
current =iv_ruleFinalState;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFinalState"
// $ANTLR start "ruleFinalState"
// InternalMiniFSM.g:651:1: ruleFinalState returns [EObject current=null] : ( () otherlv_1= 'FinalState' ( (lv_name_2_0= ruleEString ) ) ( (lv_block_3_0= ruleBlock ) )? ) ;
public final EObject ruleFinalState() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
EObject lv_block_3_0 = null;
enterRule();
try {
// InternalMiniFSM.g:657:2: ( ( () otherlv_1= 'FinalState' ( (lv_name_2_0= ruleEString ) ) ( (lv_block_3_0= ruleBlock ) )? ) )
// InternalMiniFSM.g:658:2: ( () otherlv_1= 'FinalState' ( (lv_name_2_0= ruleEString ) ) ( (lv_block_3_0= ruleBlock ) )? )
{
// InternalMiniFSM.g:658:2: ( () otherlv_1= 'FinalState' ( (lv_name_2_0= ruleEString ) ) ( (lv_block_3_0= ruleBlock ) )? )
// InternalMiniFSM.g:659:3: () otherlv_1= 'FinalState' ( (lv_name_2_0= ruleEString ) ) ( (lv_block_3_0= ruleBlock ) )?
{
// InternalMiniFSM.g:659:3: ()
// InternalMiniFSM.g:660:4:
{
current = forceCreateModelElement(
grammarAccess.getFinalStateAccess().getFinalStateAction_0(),
current);
}
otherlv_1=(Token)match(input,20,FOLLOW_5);
newLeafNode(otherlv_1, grammarAccess.getFinalStateAccess().getFinalStateKeyword_1());
// InternalMiniFSM.g:670:3: ( (lv_name_2_0= ruleEString ) )
// InternalMiniFSM.g:671:4: (lv_name_2_0= ruleEString )
{
// InternalMiniFSM.g:671:4: (lv_name_2_0= ruleEString )
// InternalMiniFSM.g:672:5: lv_name_2_0= ruleEString
{
newCompositeNode(grammarAccess.getFinalStateAccess().getNameEStringParserRuleCall_2_0());
pushFollow(FOLLOW_8);
lv_name_2_0=ruleEString();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFinalStateRule());
}
set(
current,
"name",
lv_name_2_0,
"fr.inria.diverse.MiniFSM.EString");
afterParserOrEnumRuleCall();
}
}
// InternalMiniFSM.g:689:3: ( (lv_block_3_0= ruleBlock ) )?
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==12) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// InternalMiniFSM.g:690:4: (lv_block_3_0= ruleBlock )
{
// InternalMiniFSM.g:690:4: (lv_block_3_0= ruleBlock )
// InternalMiniFSM.g:691:5: lv_block_3_0= ruleBlock
{
newCompositeNode(grammarAccess.getFinalStateAccess().getBlockBlockParserRuleCall_3_0());
pushFollow(FOLLOW_2);
lv_block_3_0=ruleBlock();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFinalStateRule());
}
set(
current,
"block",
lv_block_3_0,
"fr.inria.diverse.MiniFSM.Block");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFinalState"
// $ANTLR start "entryRuleBooleanAssignment"
// InternalMiniFSM.g:712:1: entryRuleBooleanAssignment returns [EObject current=null] : iv_ruleBooleanAssignment= ruleBooleanAssignment EOF ;
public final EObject entryRuleBooleanAssignment() throws RecognitionException {
EObject current = null;
EObject iv_ruleBooleanAssignment = null;
try {
// InternalMiniFSM.g:712:58: (iv_ruleBooleanAssignment= ruleBooleanAssignment EOF )
// InternalMiniFSM.g:713:2: iv_ruleBooleanAssignment= ruleBooleanAssignment EOF
{
newCompositeNode(grammarAccess.getBooleanAssignmentRule());
pushFollow(FOLLOW_1);
iv_ruleBooleanAssignment=ruleBooleanAssignment();
state._fsp--;
current =iv_ruleBooleanAssignment;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanAssignment"
// $ANTLR start "ruleBooleanAssignment"
// InternalMiniFSM.g:719:1: ruleBooleanAssignment returns [EObject current=null] : (otherlv_0= 'AssignBool' otherlv_1= '(' ( (lv_variable_2_0= ruleBooleanVariableRef ) ) otherlv_3= ',' ( (lv_value_4_0= ruleBooleanExpression ) ) otherlv_5= ')' ) ;
public final EObject ruleBooleanAssignment() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_variable_2_0 = null;
EObject lv_value_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:725:2: ( (otherlv_0= 'AssignBool' otherlv_1= '(' ( (lv_variable_2_0= ruleBooleanVariableRef ) ) otherlv_3= ',' ( (lv_value_4_0= ruleBooleanExpression ) ) otherlv_5= ')' ) )
// InternalMiniFSM.g:726:2: (otherlv_0= 'AssignBool' otherlv_1= '(' ( (lv_variable_2_0= ruleBooleanVariableRef ) ) otherlv_3= ',' ( (lv_value_4_0= ruleBooleanExpression ) ) otherlv_5= ')' )
{
// InternalMiniFSM.g:726:2: (otherlv_0= 'AssignBool' otherlv_1= '(' ( (lv_variable_2_0= ruleBooleanVariableRef ) ) otherlv_3= ',' ( (lv_value_4_0= ruleBooleanExpression ) ) otherlv_5= ')' )
// InternalMiniFSM.g:727:3: otherlv_0= 'AssignBool' otherlv_1= '(' ( (lv_variable_2_0= ruleBooleanVariableRef ) ) otherlv_3= ',' ( (lv_value_4_0= ruleBooleanExpression ) ) otherlv_5= ')'
{
otherlv_0=(Token)match(input,21,FOLLOW_15);
newLeafNode(otherlv_0, grammarAccess.getBooleanAssignmentAccess().getAssignBoolKeyword_0());
otherlv_1=(Token)match(input,22,FOLLOW_5);
newLeafNode(otherlv_1, grammarAccess.getBooleanAssignmentAccess().getLeftParenthesisKeyword_1());
// InternalMiniFSM.g:735:3: ( (lv_variable_2_0= ruleBooleanVariableRef ) )
// InternalMiniFSM.g:736:4: (lv_variable_2_0= ruleBooleanVariableRef )
{
// InternalMiniFSM.g:736:4: (lv_variable_2_0= ruleBooleanVariableRef )
// InternalMiniFSM.g:737:5: lv_variable_2_0= ruleBooleanVariableRef
{
newCompositeNode(grammarAccess.getBooleanAssignmentAccess().getVariableBooleanVariableRefParserRuleCall_2_0());
pushFollow(FOLLOW_16);
lv_variable_2_0=ruleBooleanVariableRef();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBooleanAssignmentRule());
}
set(
current,
"variable",
lv_variable_2_0,
"fr.inria.diverse.MiniFSM.BooleanVariableRef");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,23,FOLLOW_11);
newLeafNode(otherlv_3, grammarAccess.getBooleanAssignmentAccess().getCommaKeyword_3());
// InternalMiniFSM.g:758:3: ( (lv_value_4_0= ruleBooleanExpression ) )
// InternalMiniFSM.g:759:4: (lv_value_4_0= ruleBooleanExpression )
{
// InternalMiniFSM.g:759:4: (lv_value_4_0= ruleBooleanExpression )
// InternalMiniFSM.g:760:5: lv_value_4_0= ruleBooleanExpression
{
newCompositeNode(grammarAccess.getBooleanAssignmentAccess().getValueBooleanExpressionParserRuleCall_4_0());
pushFollow(FOLLOW_17);
lv_value_4_0=ruleBooleanExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBooleanAssignmentRule());
}
set(
current,
"value",
lv_value_4_0,
"fr.inria.diverse.MiniFSM.BooleanExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_5=(Token)match(input,24,FOLLOW_2);
newLeafNode(otherlv_5, grammarAccess.getBooleanAssignmentAccess().getRightParenthesisKeyword_5());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBooleanAssignment"
// $ANTLR start "entryRuleIntAssignment"
// InternalMiniFSM.g:785:1: entryRuleIntAssignment returns [EObject current=null] : iv_ruleIntAssignment= ruleIntAssignment EOF ;
public final EObject entryRuleIntAssignment() throws RecognitionException {
EObject current = null;
EObject iv_ruleIntAssignment = null;
try {
// InternalMiniFSM.g:785:54: (iv_ruleIntAssignment= ruleIntAssignment EOF )
// InternalMiniFSM.g:786:2: iv_ruleIntAssignment= ruleIntAssignment EOF
{
newCompositeNode(grammarAccess.getIntAssignmentRule());
pushFollow(FOLLOW_1);
iv_ruleIntAssignment=ruleIntAssignment();
state._fsp--;
current =iv_ruleIntAssignment;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIntAssignment"
// $ANTLR start "ruleIntAssignment"
// InternalMiniFSM.g:792:1: ruleIntAssignment returns [EObject current=null] : (otherlv_0= 'AssignInt' otherlv_1= '(' ( (lv_variable_2_0= ruleIntVariableRef ) ) otherlv_3= ',' ( (lv_value_4_0= ruleIntExpression ) ) otherlv_5= ')' ) ;
public final EObject ruleIntAssignment() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_variable_2_0 = null;
EObject lv_value_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:798:2: ( (otherlv_0= 'AssignInt' otherlv_1= '(' ( (lv_variable_2_0= ruleIntVariableRef ) ) otherlv_3= ',' ( (lv_value_4_0= ruleIntExpression ) ) otherlv_5= ')' ) )
// InternalMiniFSM.g:799:2: (otherlv_0= 'AssignInt' otherlv_1= '(' ( (lv_variable_2_0= ruleIntVariableRef ) ) otherlv_3= ',' ( (lv_value_4_0= ruleIntExpression ) ) otherlv_5= ')' )
{
// InternalMiniFSM.g:799:2: (otherlv_0= 'AssignInt' otherlv_1= '(' ( (lv_variable_2_0= ruleIntVariableRef ) ) otherlv_3= ',' ( (lv_value_4_0= ruleIntExpression ) ) otherlv_5= ')' )
// InternalMiniFSM.g:800:3: otherlv_0= 'AssignInt' otherlv_1= '(' ( (lv_variable_2_0= ruleIntVariableRef ) ) otherlv_3= ',' ( (lv_value_4_0= ruleIntExpression ) ) otherlv_5= ')'
{
otherlv_0=(Token)match(input,25,FOLLOW_15);
newLeafNode(otherlv_0, grammarAccess.getIntAssignmentAccess().getAssignIntKeyword_0());
otherlv_1=(Token)match(input,22,FOLLOW_5);
newLeafNode(otherlv_1, grammarAccess.getIntAssignmentAccess().getLeftParenthesisKeyword_1());
// InternalMiniFSM.g:808:3: ( (lv_variable_2_0= ruleIntVariableRef ) )
// InternalMiniFSM.g:809:4: (lv_variable_2_0= ruleIntVariableRef )
{
// InternalMiniFSM.g:809:4: (lv_variable_2_0= ruleIntVariableRef )
// InternalMiniFSM.g:810:5: lv_variable_2_0= ruleIntVariableRef
{
newCompositeNode(grammarAccess.getIntAssignmentAccess().getVariableIntVariableRefParserRuleCall_2_0());
pushFollow(FOLLOW_16);
lv_variable_2_0=ruleIntVariableRef();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getIntAssignmentRule());
}
set(
current,
"variable",
lv_variable_2_0,
"fr.inria.diverse.MiniFSM.IntVariableRef");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,23,FOLLOW_18);
newLeafNode(otherlv_3, grammarAccess.getIntAssignmentAccess().getCommaKeyword_3());
// InternalMiniFSM.g:831:3: ( (lv_value_4_0= ruleIntExpression ) )
// InternalMiniFSM.g:832:4: (lv_value_4_0= ruleIntExpression )
{
// InternalMiniFSM.g:832:4: (lv_value_4_0= ruleIntExpression )
// InternalMiniFSM.g:833:5: lv_value_4_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getIntAssignmentAccess().getValueIntExpressionParserRuleCall_4_0());
pushFollow(FOLLOW_17);
lv_value_4_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getIntAssignmentRule());
}
set(
current,
"value",
lv_value_4_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_5=(Token)match(input,24,FOLLOW_2);
newLeafNode(otherlv_5, grammarAccess.getIntAssignmentAccess().getRightParenthesisKeyword_5());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIntAssignment"
// $ANTLR start "entryRulePrintVar"
// InternalMiniFSM.g:858:1: entryRulePrintVar returns [EObject current=null] : iv_rulePrintVar= rulePrintVar EOF ;
public final EObject entryRulePrintVar() throws RecognitionException {
EObject current = null;
EObject iv_rulePrintVar = null;
try {
// InternalMiniFSM.g:858:49: (iv_rulePrintVar= rulePrintVar EOF )
// InternalMiniFSM.g:859:2: iv_rulePrintVar= rulePrintVar EOF
{
newCompositeNode(grammarAccess.getPrintVarRule());
pushFollow(FOLLOW_1);
iv_rulePrintVar=rulePrintVar();
state._fsp--;
current =iv_rulePrintVar;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrintVar"
// $ANTLR start "rulePrintVar"
// InternalMiniFSM.g:865:1: rulePrintVar returns [EObject current=null] : (otherlv_0= 'PrintVar' otherlv_1= '(' ( (lv_value_2_0= ruleEString ) ) otherlv_3= ')' ) ;
public final EObject rulePrintVar() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
AntlrDatatypeRuleToken lv_value_2_0 = null;
enterRule();
try {
// InternalMiniFSM.g:871:2: ( (otherlv_0= 'PrintVar' otherlv_1= '(' ( (lv_value_2_0= ruleEString ) ) otherlv_3= ')' ) )
// InternalMiniFSM.g:872:2: (otherlv_0= 'PrintVar' otherlv_1= '(' ( (lv_value_2_0= ruleEString ) ) otherlv_3= ')' )
{
// InternalMiniFSM.g:872:2: (otherlv_0= 'PrintVar' otherlv_1= '(' ( (lv_value_2_0= ruleEString ) ) otherlv_3= ')' )
// InternalMiniFSM.g:873:3: otherlv_0= 'PrintVar' otherlv_1= '(' ( (lv_value_2_0= ruleEString ) ) otherlv_3= ')'
{
otherlv_0=(Token)match(input,26,FOLLOW_15);
newLeafNode(otherlv_0, grammarAccess.getPrintVarAccess().getPrintVarKeyword_0());
otherlv_1=(Token)match(input,22,FOLLOW_5);
newLeafNode(otherlv_1, grammarAccess.getPrintVarAccess().getLeftParenthesisKeyword_1());
// InternalMiniFSM.g:881:3: ( (lv_value_2_0= ruleEString ) )
// InternalMiniFSM.g:882:4: (lv_value_2_0= ruleEString )
{
// InternalMiniFSM.g:882:4: (lv_value_2_0= ruleEString )
// InternalMiniFSM.g:883:5: lv_value_2_0= ruleEString
{
newCompositeNode(grammarAccess.getPrintVarAccess().getValueEStringParserRuleCall_2_0());
pushFollow(FOLLOW_17);
lv_value_2_0=ruleEString();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrintVarRule());
}
set(
current,
"value",
lv_value_2_0,
"fr.inria.diverse.MiniFSM.EString");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,24,FOLLOW_2);
newLeafNode(otherlv_3, grammarAccess.getPrintVarAccess().getRightParenthesisKeyword_3());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrintVar"
// $ANTLR start "entryRulePrintStr"
// InternalMiniFSM.g:908:1: entryRulePrintStr returns [EObject current=null] : iv_rulePrintStr= rulePrintStr EOF ;
public final EObject entryRulePrintStr() throws RecognitionException {
EObject current = null;
EObject iv_rulePrintStr = null;
try {
// InternalMiniFSM.g:908:49: (iv_rulePrintStr= rulePrintStr EOF )
// InternalMiniFSM.g:909:2: iv_rulePrintStr= rulePrintStr EOF
{
newCompositeNode(grammarAccess.getPrintStrRule());
pushFollow(FOLLOW_1);
iv_rulePrintStr=rulePrintStr();
state._fsp--;
current =iv_rulePrintStr;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrintStr"
// $ANTLR start "rulePrintStr"
// InternalMiniFSM.g:915:1: rulePrintStr returns [EObject current=null] : (otherlv_0= 'PrintStr' otherlv_1= '(' ( (lv_value_2_0= ruleEString ) ) otherlv_3= ')' ) ;
public final EObject rulePrintStr() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
AntlrDatatypeRuleToken lv_value_2_0 = null;
enterRule();
try {
// InternalMiniFSM.g:921:2: ( (otherlv_0= 'PrintStr' otherlv_1= '(' ( (lv_value_2_0= ruleEString ) ) otherlv_3= ')' ) )
// InternalMiniFSM.g:922:2: (otherlv_0= 'PrintStr' otherlv_1= '(' ( (lv_value_2_0= ruleEString ) ) otherlv_3= ')' )
{
// InternalMiniFSM.g:922:2: (otherlv_0= 'PrintStr' otherlv_1= '(' ( (lv_value_2_0= ruleEString ) ) otherlv_3= ')' )
// InternalMiniFSM.g:923:3: otherlv_0= 'PrintStr' otherlv_1= '(' ( (lv_value_2_0= ruleEString ) ) otherlv_3= ')'
{
otherlv_0=(Token)match(input,27,FOLLOW_15);
newLeafNode(otherlv_0, grammarAccess.getPrintStrAccess().getPrintStrKeyword_0());
otherlv_1=(Token)match(input,22,FOLLOW_5);
newLeafNode(otherlv_1, grammarAccess.getPrintStrAccess().getLeftParenthesisKeyword_1());
// InternalMiniFSM.g:931:3: ( (lv_value_2_0= ruleEString ) )
// InternalMiniFSM.g:932:4: (lv_value_2_0= ruleEString )
{
// InternalMiniFSM.g:932:4: (lv_value_2_0= ruleEString )
// InternalMiniFSM.g:933:5: lv_value_2_0= ruleEString
{
newCompositeNode(grammarAccess.getPrintStrAccess().getValueEStringParserRuleCall_2_0());
pushFollow(FOLLOW_17);
lv_value_2_0=ruleEString();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrintStrRule());
}
set(
current,
"value",
lv_value_2_0,
"fr.inria.diverse.MiniFSM.EString");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,24,FOLLOW_2);
newLeafNode(otherlv_3, grammarAccess.getPrintStrAccess().getRightParenthesisKeyword_3());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrintStr"
// $ANTLR start "entryRuleBooleanExpression"
// InternalMiniFSM.g:958:1: entryRuleBooleanExpression returns [EObject current=null] : iv_ruleBooleanExpression= ruleBooleanExpression EOF ;
public final EObject entryRuleBooleanExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleBooleanExpression = null;
try {
// InternalMiniFSM.g:958:58: (iv_ruleBooleanExpression= ruleBooleanExpression EOF )
// InternalMiniFSM.g:959:2: iv_ruleBooleanExpression= ruleBooleanExpression EOF
{
newCompositeNode(grammarAccess.getBooleanExpressionRule());
pushFollow(FOLLOW_1);
iv_ruleBooleanExpression=ruleBooleanExpression();
state._fsp--;
current =iv_ruleBooleanExpression;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanExpression"
// $ANTLR start "ruleBooleanExpression"
// InternalMiniFSM.g:965:1: ruleBooleanExpression returns [EObject current=null] : this_AndOr_0= ruleAndOr ;
public final EObject ruleBooleanExpression() throws RecognitionException {
EObject current = null;
EObject this_AndOr_0 = null;
enterRule();
try {
// InternalMiniFSM.g:971:2: (this_AndOr_0= ruleAndOr )
// InternalMiniFSM.g:972:2: this_AndOr_0= ruleAndOr
{
newCompositeNode(grammarAccess.getBooleanExpressionAccess().getAndOrParserRuleCall());
pushFollow(FOLLOW_2);
this_AndOr_0=ruleAndOr();
state._fsp--;
current = this_AndOr_0;
afterParserOrEnumRuleCall();
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBooleanExpression"
// $ANTLR start "entryRuleAndOr"
// InternalMiniFSM.g:983:1: entryRuleAndOr returns [EObject current=null] : iv_ruleAndOr= ruleAndOr EOF ;
public final EObject entryRuleAndOr() throws RecognitionException {
EObject current = null;
EObject iv_ruleAndOr = null;
try {
// InternalMiniFSM.g:983:46: (iv_ruleAndOr= ruleAndOr EOF )
// InternalMiniFSM.g:984:2: iv_ruleAndOr= ruleAndOr EOF
{
newCompositeNode(grammarAccess.getAndOrRule());
pushFollow(FOLLOW_1);
iv_ruleAndOr=ruleAndOr();
state._fsp--;
current =iv_ruleAndOr;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAndOr"
// $ANTLR start "ruleAndOr"
// InternalMiniFSM.g:990:1: ruleAndOr returns [EObject current=null] : (this_TermBool_0= ruleTermBool ( ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndOr ) ) ) | ( () otherlv_5= 'AND' ( (lv_right_6_0= ruleAndOr ) ) ) )? ) ;
public final EObject ruleAndOr() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_5=null;
EObject this_TermBool_0 = null;
EObject lv_right_3_0 = null;
EObject lv_right_6_0 = null;
enterRule();
try {
// InternalMiniFSM.g:996:2: ( (this_TermBool_0= ruleTermBool ( ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndOr ) ) ) | ( () otherlv_5= 'AND' ( (lv_right_6_0= ruleAndOr ) ) ) )? ) )
// InternalMiniFSM.g:997:2: (this_TermBool_0= ruleTermBool ( ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndOr ) ) ) | ( () otherlv_5= 'AND' ( (lv_right_6_0= ruleAndOr ) ) ) )? )
{
// InternalMiniFSM.g:997:2: (this_TermBool_0= ruleTermBool ( ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndOr ) ) ) | ( () otherlv_5= 'AND' ( (lv_right_6_0= ruleAndOr ) ) ) )? )
// InternalMiniFSM.g:998:3: this_TermBool_0= ruleTermBool ( ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndOr ) ) ) | ( () otherlv_5= 'AND' ( (lv_right_6_0= ruleAndOr ) ) ) )?
{
newCompositeNode(grammarAccess.getAndOrAccess().getTermBoolParserRuleCall_0());
pushFollow(FOLLOW_19);
this_TermBool_0=ruleTermBool();
state._fsp--;
current = this_TermBool_0;
afterParserOrEnumRuleCall();
// InternalMiniFSM.g:1006:3: ( ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndOr ) ) ) | ( () otherlv_5= 'AND' ( (lv_right_6_0= ruleAndOr ) ) ) )?
int alt16=3;
int LA16_0 = input.LA(1);
if ( (LA16_0==28) ) {
alt16=1;
}
else if ( (LA16_0==29) ) {
alt16=2;
}
switch (alt16) {
case 1 :
// InternalMiniFSM.g:1007:4: ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndOr ) ) )
{
// InternalMiniFSM.g:1007:4: ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndOr ) ) )
// InternalMiniFSM.g:1008:5: () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndOr ) )
{
// InternalMiniFSM.g:1008:5: ()
// InternalMiniFSM.g:1009:6:
{
current = forceCreateModelElementAndSet(
grammarAccess.getAndOrAccess().getOrLeftAction_1_0_0(),
current);
}
otherlv_2=(Token)match(input,28,FOLLOW_11);
newLeafNode(otherlv_2, grammarAccess.getAndOrAccess().getORKeyword_1_0_1());
// InternalMiniFSM.g:1019:5: ( (lv_right_3_0= ruleAndOr ) )
// InternalMiniFSM.g:1020:6: (lv_right_3_0= ruleAndOr )
{
// InternalMiniFSM.g:1020:6: (lv_right_3_0= ruleAndOr )
// InternalMiniFSM.g:1021:7: lv_right_3_0= ruleAndOr
{
newCompositeNode(grammarAccess.getAndOrAccess().getRightAndOrParserRuleCall_1_0_2_0());
pushFollow(FOLLOW_2);
lv_right_3_0=ruleAndOr();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getAndOrRule());
}
set(
current,
"right",
lv_right_3_0,
"fr.inria.diverse.MiniFSM.AndOr");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalMiniFSM.g:1040:4: ( () otherlv_5= 'AND' ( (lv_right_6_0= ruleAndOr ) ) )
{
// InternalMiniFSM.g:1040:4: ( () otherlv_5= 'AND' ( (lv_right_6_0= ruleAndOr ) ) )
// InternalMiniFSM.g:1041:5: () otherlv_5= 'AND' ( (lv_right_6_0= ruleAndOr ) )
{
// InternalMiniFSM.g:1041:5: ()
// InternalMiniFSM.g:1042:6:
{
current = forceCreateModelElementAndSet(
grammarAccess.getAndOrAccess().getAndLeftAction_1_1_0(),
current);
}
otherlv_5=(Token)match(input,29,FOLLOW_11);
newLeafNode(otherlv_5, grammarAccess.getAndOrAccess().getANDKeyword_1_1_1());
// InternalMiniFSM.g:1052:5: ( (lv_right_6_0= ruleAndOr ) )
// InternalMiniFSM.g:1053:6: (lv_right_6_0= ruleAndOr )
{
// InternalMiniFSM.g:1053:6: (lv_right_6_0= ruleAndOr )
// InternalMiniFSM.g:1054:7: lv_right_6_0= ruleAndOr
{
newCompositeNode(grammarAccess.getAndOrAccess().getRightAndOrParserRuleCall_1_1_2_0());
pushFollow(FOLLOW_2);
lv_right_6_0=ruleAndOr();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getAndOrRule());
}
set(
current,
"right",
lv_right_6_0,
"fr.inria.diverse.MiniFSM.AndOr");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAndOr"
// $ANTLR start "entryRuleTermBool"
// InternalMiniFSM.g:1077:1: entryRuleTermBool returns [EObject current=null] : iv_ruleTermBool= ruleTermBool EOF ;
public final EObject entryRuleTermBool() throws RecognitionException {
EObject current = null;
EObject iv_ruleTermBool = null;
try {
// InternalMiniFSM.g:1077:49: (iv_ruleTermBool= ruleTermBool EOF )
// InternalMiniFSM.g:1078:2: iv_ruleTermBool= ruleTermBool EOF
{
newCompositeNode(grammarAccess.getTermBoolRule());
pushFollow(FOLLOW_1);
iv_ruleTermBool=ruleTermBool();
state._fsp--;
current =iv_ruleTermBool;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTermBool"
// $ANTLR start "ruleTermBool"
// InternalMiniFSM.g:1084:1: ruleTermBool returns [EObject current=null] : (this_Boolean_0= ruleBoolean | this_BooleanVariableRef_1= ruleBooleanVariableRef | this_IntComparison_2= ruleIntComparison | ( () otherlv_4= '!' ( (lv_expression_5_0= ruleTermBool ) ) ) ) ;
public final EObject ruleTermBool() throws RecognitionException {
EObject current = null;
Token otherlv_4=null;
EObject this_Boolean_0 = null;
EObject this_BooleanVariableRef_1 = null;
EObject this_IntComparison_2 = null;
EObject lv_expression_5_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1090:2: ( (this_Boolean_0= ruleBoolean | this_BooleanVariableRef_1= ruleBooleanVariableRef | this_IntComparison_2= ruleIntComparison | ( () otherlv_4= '!' ( (lv_expression_5_0= ruleTermBool ) ) ) ) )
// InternalMiniFSM.g:1091:2: (this_Boolean_0= ruleBoolean | this_BooleanVariableRef_1= ruleBooleanVariableRef | this_IntComparison_2= ruleIntComparison | ( () otherlv_4= '!' ( (lv_expression_5_0= ruleTermBool ) ) ) )
{
// InternalMiniFSM.g:1091:2: (this_Boolean_0= ruleBoolean | this_BooleanVariableRef_1= ruleBooleanVariableRef | this_IntComparison_2= ruleIntComparison | ( () otherlv_4= '!' ( (lv_expression_5_0= ruleTermBool ) ) ) )
int alt17=4;
switch ( input.LA(1) ) {
case 31:
{
alt17=1;
}
break;
case RULE_STRING:
case RULE_ID:
{
alt17=2;
}
break;
case 35:
case 36:
case 37:
case 38:
case 39:
{
alt17=3;
}
break;
case 30:
{
alt17=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 17, 0, input);
throw nvae;
}
switch (alt17) {
case 1 :
// InternalMiniFSM.g:1092:3: this_Boolean_0= ruleBoolean
{
newCompositeNode(grammarAccess.getTermBoolAccess().getBooleanParserRuleCall_0());
pushFollow(FOLLOW_2);
this_Boolean_0=ruleBoolean();
state._fsp--;
current = this_Boolean_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// InternalMiniFSM.g:1101:3: this_BooleanVariableRef_1= ruleBooleanVariableRef
{
newCompositeNode(grammarAccess.getTermBoolAccess().getBooleanVariableRefParserRuleCall_1());
pushFollow(FOLLOW_2);
this_BooleanVariableRef_1=ruleBooleanVariableRef();
state._fsp--;
current = this_BooleanVariableRef_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// InternalMiniFSM.g:1110:3: this_IntComparison_2= ruleIntComparison
{
newCompositeNode(grammarAccess.getTermBoolAccess().getIntComparisonParserRuleCall_2());
pushFollow(FOLLOW_2);
this_IntComparison_2=ruleIntComparison();
state._fsp--;
current = this_IntComparison_2;
afterParserOrEnumRuleCall();
}
break;
case 4 :
// InternalMiniFSM.g:1119:3: ( () otherlv_4= '!' ( (lv_expression_5_0= ruleTermBool ) ) )
{
// InternalMiniFSM.g:1119:3: ( () otherlv_4= '!' ( (lv_expression_5_0= ruleTermBool ) ) )
// InternalMiniFSM.g:1120:4: () otherlv_4= '!' ( (lv_expression_5_0= ruleTermBool ) )
{
// InternalMiniFSM.g:1120:4: ()
// InternalMiniFSM.g:1121:5:
{
current = forceCreateModelElement(
grammarAccess.getTermBoolAccess().getNotAction_3_0(),
current);
}
otherlv_4=(Token)match(input,30,FOLLOW_11);
newLeafNode(otherlv_4, grammarAccess.getTermBoolAccess().getExclamationMarkKeyword_3_1());
// InternalMiniFSM.g:1131:4: ( (lv_expression_5_0= ruleTermBool ) )
// InternalMiniFSM.g:1132:5: (lv_expression_5_0= ruleTermBool )
{
// InternalMiniFSM.g:1132:5: (lv_expression_5_0= ruleTermBool )
// InternalMiniFSM.g:1133:6: lv_expression_5_0= ruleTermBool
{
newCompositeNode(grammarAccess.getTermBoolAccess().getExpressionTermBoolParserRuleCall_3_2_0());
pushFollow(FOLLOW_2);
lv_expression_5_0=ruleTermBool();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getTermBoolRule());
}
set(
current,
"expression",
lv_expression_5_0,
"fr.inria.diverse.MiniFSM.TermBool");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTermBool"
// $ANTLR start "entryRuleBooleanVariableRef"
// InternalMiniFSM.g:1155:1: entryRuleBooleanVariableRef returns [EObject current=null] : iv_ruleBooleanVariableRef= ruleBooleanVariableRef EOF ;
public final EObject entryRuleBooleanVariableRef() throws RecognitionException {
EObject current = null;
EObject iv_ruleBooleanVariableRef = null;
try {
// InternalMiniFSM.g:1155:59: (iv_ruleBooleanVariableRef= ruleBooleanVariableRef EOF )
// InternalMiniFSM.g:1156:2: iv_ruleBooleanVariableRef= ruleBooleanVariableRef EOF
{
newCompositeNode(grammarAccess.getBooleanVariableRefRule());
pushFollow(FOLLOW_1);
iv_ruleBooleanVariableRef=ruleBooleanVariableRef();
state._fsp--;
current =iv_ruleBooleanVariableRef;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanVariableRef"
// $ANTLR start "ruleBooleanVariableRef"
// InternalMiniFSM.g:1162:1: ruleBooleanVariableRef returns [EObject current=null] : ( () ( (lv_name_1_0= ruleEString ) ) ) ;
public final EObject ruleBooleanVariableRef() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1168:2: ( ( () ( (lv_name_1_0= ruleEString ) ) ) )
// InternalMiniFSM.g:1169:2: ( () ( (lv_name_1_0= ruleEString ) ) )
{
// InternalMiniFSM.g:1169:2: ( () ( (lv_name_1_0= ruleEString ) ) )
// InternalMiniFSM.g:1170:3: () ( (lv_name_1_0= ruleEString ) )
{
// InternalMiniFSM.g:1170:3: ()
// InternalMiniFSM.g:1171:4:
{
current = forceCreateModelElement(
grammarAccess.getBooleanVariableRefAccess().getBooleanVariableRefAction_0(),
current);
}
// InternalMiniFSM.g:1177:3: ( (lv_name_1_0= ruleEString ) )
// InternalMiniFSM.g:1178:4: (lv_name_1_0= ruleEString )
{
// InternalMiniFSM.g:1178:4: (lv_name_1_0= ruleEString )
// InternalMiniFSM.g:1179:5: lv_name_1_0= ruleEString
{
newCompositeNode(grammarAccess.getBooleanVariableRefAccess().getNameEStringParserRuleCall_1_0());
pushFollow(FOLLOW_2);
lv_name_1_0=ruleEString();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBooleanVariableRefRule());
}
set(
current,
"name",
lv_name_1_0,
"fr.inria.diverse.MiniFSM.EString");
afterParserOrEnumRuleCall();
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBooleanVariableRef"
// $ANTLR start "entryRuleBoolean"
// InternalMiniFSM.g:1200:1: entryRuleBoolean returns [EObject current=null] : iv_ruleBoolean= ruleBoolean EOF ;
public final EObject entryRuleBoolean() throws RecognitionException {
EObject current = null;
EObject iv_ruleBoolean = null;
try {
// InternalMiniFSM.g:1200:48: (iv_ruleBoolean= ruleBoolean EOF )
// InternalMiniFSM.g:1201:2: iv_ruleBoolean= ruleBoolean EOF
{
newCompositeNode(grammarAccess.getBooleanRule());
pushFollow(FOLLOW_1);
iv_ruleBoolean=ruleBoolean();
state._fsp--;
current =iv_ruleBoolean;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBoolean"
// $ANTLR start "ruleBoolean"
// InternalMiniFSM.g:1207:1: ruleBoolean returns [EObject current=null] : ( ( (lv_value_0_0= 'value' ) ) otherlv_1= 'Boolean' ) ;
public final EObject ruleBoolean() throws RecognitionException {
EObject current = null;
Token lv_value_0_0=null;
Token otherlv_1=null;
enterRule();
try {
// InternalMiniFSM.g:1213:2: ( ( ( (lv_value_0_0= 'value' ) ) otherlv_1= 'Boolean' ) )
// InternalMiniFSM.g:1214:2: ( ( (lv_value_0_0= 'value' ) ) otherlv_1= 'Boolean' )
{
// InternalMiniFSM.g:1214:2: ( ( (lv_value_0_0= 'value' ) ) otherlv_1= 'Boolean' )
// InternalMiniFSM.g:1215:3: ( (lv_value_0_0= 'value' ) ) otherlv_1= 'Boolean'
{
// InternalMiniFSM.g:1215:3: ( (lv_value_0_0= 'value' ) )
// InternalMiniFSM.g:1216:4: (lv_value_0_0= 'value' )
{
// InternalMiniFSM.g:1216:4: (lv_value_0_0= 'value' )
// InternalMiniFSM.g:1217:5: lv_value_0_0= 'value'
{
lv_value_0_0=(Token)match(input,31,FOLLOW_20);
newLeafNode(lv_value_0_0, grammarAccess.getBooleanAccess().getValueValueKeyword_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getBooleanRule());
}
setWithLastConsumed(current, "value", true, "value");
}
}
otherlv_1=(Token)match(input,32,FOLLOW_2);
newLeafNode(otherlv_1, grammarAccess.getBooleanAccess().getBooleanKeyword_1());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBoolean"
// $ANTLR start "entryRuleEBoolean"
// InternalMiniFSM.g:1237:1: entryRuleEBoolean returns [String current=null] : iv_ruleEBoolean= ruleEBoolean EOF ;
public final String entryRuleEBoolean() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEBoolean = null;
try {
// InternalMiniFSM.g:1237:48: (iv_ruleEBoolean= ruleEBoolean EOF )
// InternalMiniFSM.g:1238:2: iv_ruleEBoolean= ruleEBoolean EOF
{
newCompositeNode(grammarAccess.getEBooleanRule());
pushFollow(FOLLOW_1);
iv_ruleEBoolean=ruleEBoolean();
state._fsp--;
current =iv_ruleEBoolean.getText();
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEBoolean"
// $ANTLR start "ruleEBoolean"
// InternalMiniFSM.g:1244: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 {
// InternalMiniFSM.g:1250:2: ( (kw= 'true' | kw= 'false' ) )
// InternalMiniFSM.g:1251:2: (kw= 'true' | kw= 'false' )
{
// InternalMiniFSM.g:1251:2: (kw= 'true' | kw= 'false' )
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==33) ) {
alt18=1;
}
else if ( (LA18_0==34) ) {
alt18=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 18, 0, input);
throw nvae;
}
switch (alt18) {
case 1 :
// InternalMiniFSM.g:1252:3: kw= 'true'
{
kw=(Token)match(input,33,FOLLOW_2);
current.merge(kw);
newLeafNode(kw, grammarAccess.getEBooleanAccess().getTrueKeyword_0());
}
break;
case 2 :
// InternalMiniFSM.g:1258:3: kw= 'false'
{
kw=(Token)match(input,34,FOLLOW_2);
current.merge(kw);
newLeafNode(kw, grammarAccess.getEBooleanAccess().getFalseKeyword_1());
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEBoolean"
// $ANTLR start "entryRuleIntComparison"
// InternalMiniFSM.g:1267:1: entryRuleIntComparison returns [EObject current=null] : iv_ruleIntComparison= ruleIntComparison EOF ;
public final EObject entryRuleIntComparison() throws RecognitionException {
EObject current = null;
EObject iv_ruleIntComparison = null;
try {
// InternalMiniFSM.g:1267:54: (iv_ruleIntComparison= ruleIntComparison EOF )
// InternalMiniFSM.g:1268:2: iv_ruleIntComparison= ruleIntComparison EOF
{
newCompositeNode(grammarAccess.getIntComparisonRule());
pushFollow(FOLLOW_1);
iv_ruleIntComparison=ruleIntComparison();
state._fsp--;
current =iv_ruleIntComparison;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIntComparison"
// $ANTLR start "ruleIntComparison"
// InternalMiniFSM.g:1274:1: ruleIntComparison returns [EObject current=null] : (this_Equal_0= ruleEqual | this_Greater_1= ruleGreater | this_GreaterOrEqual_2= ruleGreaterOrEqual | this_Less_3= ruleLess | this_LessOrEqual_4= ruleLessOrEqual ) ;
public final EObject ruleIntComparison() throws RecognitionException {
EObject current = null;
EObject this_Equal_0 = null;
EObject this_Greater_1 = null;
EObject this_GreaterOrEqual_2 = null;
EObject this_Less_3 = null;
EObject this_LessOrEqual_4 = null;
enterRule();
try {
// InternalMiniFSM.g:1280:2: ( (this_Equal_0= ruleEqual | this_Greater_1= ruleGreater | this_GreaterOrEqual_2= ruleGreaterOrEqual | this_Less_3= ruleLess | this_LessOrEqual_4= ruleLessOrEqual ) )
// InternalMiniFSM.g:1281:2: (this_Equal_0= ruleEqual | this_Greater_1= ruleGreater | this_GreaterOrEqual_2= ruleGreaterOrEqual | this_Less_3= ruleLess | this_LessOrEqual_4= ruleLessOrEqual )
{
// InternalMiniFSM.g:1281:2: (this_Equal_0= ruleEqual | this_Greater_1= ruleGreater | this_GreaterOrEqual_2= ruleGreaterOrEqual | this_Less_3= ruleLess | this_LessOrEqual_4= ruleLessOrEqual )
int alt19=5;
switch ( input.LA(1) ) {
case 35:
{
alt19=1;
}
break;
case 36:
{
alt19=2;
}
break;
case 37:
{
alt19=3;
}
break;
case 38:
{
alt19=4;
}
break;
case 39:
{
alt19=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1 :
// InternalMiniFSM.g:1282:3: this_Equal_0= ruleEqual
{
newCompositeNode(grammarAccess.getIntComparisonAccess().getEqualParserRuleCall_0());
pushFollow(FOLLOW_2);
this_Equal_0=ruleEqual();
state._fsp--;
current = this_Equal_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// InternalMiniFSM.g:1291:3: this_Greater_1= ruleGreater
{
newCompositeNode(grammarAccess.getIntComparisonAccess().getGreaterParserRuleCall_1());
pushFollow(FOLLOW_2);
this_Greater_1=ruleGreater();
state._fsp--;
current = this_Greater_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// InternalMiniFSM.g:1300:3: this_GreaterOrEqual_2= ruleGreaterOrEqual
{
newCompositeNode(grammarAccess.getIntComparisonAccess().getGreaterOrEqualParserRuleCall_2());
pushFollow(FOLLOW_2);
this_GreaterOrEqual_2=ruleGreaterOrEqual();
state._fsp--;
current = this_GreaterOrEqual_2;
afterParserOrEnumRuleCall();
}
break;
case 4 :
// InternalMiniFSM.g:1309:3: this_Less_3= ruleLess
{
newCompositeNode(grammarAccess.getIntComparisonAccess().getLessParserRuleCall_3());
pushFollow(FOLLOW_2);
this_Less_3=ruleLess();
state._fsp--;
current = this_Less_3;
afterParserOrEnumRuleCall();
}
break;
case 5 :
// InternalMiniFSM.g:1318:3: this_LessOrEqual_4= ruleLessOrEqual
{
newCompositeNode(grammarAccess.getIntComparisonAccess().getLessOrEqualParserRuleCall_4());
pushFollow(FOLLOW_2);
this_LessOrEqual_4=ruleLessOrEqual();
state._fsp--;
current = this_LessOrEqual_4;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIntComparison"
// $ANTLR start "entryRuleEqual"
// InternalMiniFSM.g:1330:1: entryRuleEqual returns [EObject current=null] : iv_ruleEqual= ruleEqual EOF ;
public final EObject entryRuleEqual() throws RecognitionException {
EObject current = null;
EObject iv_ruleEqual = null;
try {
// InternalMiniFSM.g:1330:46: (iv_ruleEqual= ruleEqual EOF )
// InternalMiniFSM.g:1331:2: iv_ruleEqual= ruleEqual EOF
{
newCompositeNode(grammarAccess.getEqualRule());
pushFollow(FOLLOW_1);
iv_ruleEqual=ruleEqual();
state._fsp--;
current =iv_ruleEqual;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEqual"
// $ANTLR start "ruleEqual"
// InternalMiniFSM.g:1337:1: ruleEqual returns [EObject current=null] : (otherlv_0= 'equal' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' ) ;
public final EObject ruleEqual() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_left_2_0 = null;
EObject lv_right_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1343:2: ( (otherlv_0= 'equal' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' ) )
// InternalMiniFSM.g:1344:2: (otherlv_0= 'equal' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' )
{
// InternalMiniFSM.g:1344:2: (otherlv_0= 'equal' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' )
// InternalMiniFSM.g:1345:3: otherlv_0= 'equal' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')'
{
otherlv_0=(Token)match(input,35,FOLLOW_15);
newLeafNode(otherlv_0, grammarAccess.getEqualAccess().getEqualKeyword_0());
otherlv_1=(Token)match(input,22,FOLLOW_18);
newLeafNode(otherlv_1, grammarAccess.getEqualAccess().getLeftParenthesisKeyword_1());
// InternalMiniFSM.g:1353:3: ( (lv_left_2_0= ruleIntExpression ) )
// InternalMiniFSM.g:1354:4: (lv_left_2_0= ruleIntExpression )
{
// InternalMiniFSM.g:1354:4: (lv_left_2_0= ruleIntExpression )
// InternalMiniFSM.g:1355:5: lv_left_2_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getEqualAccess().getLeftIntExpressionParserRuleCall_2_0());
pushFollow(FOLLOW_16);
lv_left_2_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getEqualRule());
}
set(
current,
"left",
lv_left_2_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,23,FOLLOW_18);
newLeafNode(otherlv_3, grammarAccess.getEqualAccess().getCommaKeyword_3());
// InternalMiniFSM.g:1376:3: ( (lv_right_4_0= ruleIntExpression ) )
// InternalMiniFSM.g:1377:4: (lv_right_4_0= ruleIntExpression )
{
// InternalMiniFSM.g:1377:4: (lv_right_4_0= ruleIntExpression )
// InternalMiniFSM.g:1378:5: lv_right_4_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getEqualAccess().getRightIntExpressionParserRuleCall_4_0());
pushFollow(FOLLOW_17);
lv_right_4_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getEqualRule());
}
set(
current,
"right",
lv_right_4_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_5=(Token)match(input,24,FOLLOW_2);
newLeafNode(otherlv_5, grammarAccess.getEqualAccess().getRightParenthesisKeyword_5());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEqual"
// $ANTLR start "entryRuleGreater"
// InternalMiniFSM.g:1403:1: entryRuleGreater returns [EObject current=null] : iv_ruleGreater= ruleGreater EOF ;
public final EObject entryRuleGreater() throws RecognitionException {
EObject current = null;
EObject iv_ruleGreater = null;
try {
// InternalMiniFSM.g:1403:48: (iv_ruleGreater= ruleGreater EOF )
// InternalMiniFSM.g:1404:2: iv_ruleGreater= ruleGreater EOF
{
newCompositeNode(grammarAccess.getGreaterRule());
pushFollow(FOLLOW_1);
iv_ruleGreater=ruleGreater();
state._fsp--;
current =iv_ruleGreater;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleGreater"
// $ANTLR start "ruleGreater"
// InternalMiniFSM.g:1410:1: ruleGreater returns [EObject current=null] : (otherlv_0= 'greater' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' ) ;
public final EObject ruleGreater() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_left_2_0 = null;
EObject lv_right_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1416:2: ( (otherlv_0= 'greater' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' ) )
// InternalMiniFSM.g:1417:2: (otherlv_0= 'greater' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' )
{
// InternalMiniFSM.g:1417:2: (otherlv_0= 'greater' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' )
// InternalMiniFSM.g:1418:3: otherlv_0= 'greater' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')'
{
otherlv_0=(Token)match(input,36,FOLLOW_15);
newLeafNode(otherlv_0, grammarAccess.getGreaterAccess().getGreaterKeyword_0());
otherlv_1=(Token)match(input,22,FOLLOW_18);
newLeafNode(otherlv_1, grammarAccess.getGreaterAccess().getLeftParenthesisKeyword_1());
// InternalMiniFSM.g:1426:3: ( (lv_left_2_0= ruleIntExpression ) )
// InternalMiniFSM.g:1427:4: (lv_left_2_0= ruleIntExpression )
{
// InternalMiniFSM.g:1427:4: (lv_left_2_0= ruleIntExpression )
// InternalMiniFSM.g:1428:5: lv_left_2_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getGreaterAccess().getLeftIntExpressionParserRuleCall_2_0());
pushFollow(FOLLOW_16);
lv_left_2_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getGreaterRule());
}
set(
current,
"left",
lv_left_2_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,23,FOLLOW_18);
newLeafNode(otherlv_3, grammarAccess.getGreaterAccess().getCommaKeyword_3());
// InternalMiniFSM.g:1449:3: ( (lv_right_4_0= ruleIntExpression ) )
// InternalMiniFSM.g:1450:4: (lv_right_4_0= ruleIntExpression )
{
// InternalMiniFSM.g:1450:4: (lv_right_4_0= ruleIntExpression )
// InternalMiniFSM.g:1451:5: lv_right_4_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getGreaterAccess().getRightIntExpressionParserRuleCall_4_0());
pushFollow(FOLLOW_17);
lv_right_4_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getGreaterRule());
}
set(
current,
"right",
lv_right_4_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_5=(Token)match(input,24,FOLLOW_2);
newLeafNode(otherlv_5, grammarAccess.getGreaterAccess().getRightParenthesisKeyword_5());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleGreater"
// $ANTLR start "entryRuleGreaterOrEqual"
// InternalMiniFSM.g:1476:1: entryRuleGreaterOrEqual returns [EObject current=null] : iv_ruleGreaterOrEqual= ruleGreaterOrEqual EOF ;
public final EObject entryRuleGreaterOrEqual() throws RecognitionException {
EObject current = null;
EObject iv_ruleGreaterOrEqual = null;
try {
// InternalMiniFSM.g:1476:55: (iv_ruleGreaterOrEqual= ruleGreaterOrEqual EOF )
// InternalMiniFSM.g:1477:2: iv_ruleGreaterOrEqual= ruleGreaterOrEqual EOF
{
newCompositeNode(grammarAccess.getGreaterOrEqualRule());
pushFollow(FOLLOW_1);
iv_ruleGreaterOrEqual=ruleGreaterOrEqual();
state._fsp--;
current =iv_ruleGreaterOrEqual;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleGreaterOrEqual"
// $ANTLR start "ruleGreaterOrEqual"
// InternalMiniFSM.g:1483:1: ruleGreaterOrEqual returns [EObject current=null] : (otherlv_0= 'greaterOrEqual' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' ) ;
public final EObject ruleGreaterOrEqual() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_left_2_0 = null;
EObject lv_right_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1489:2: ( (otherlv_0= 'greaterOrEqual' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' ) )
// InternalMiniFSM.g:1490:2: (otherlv_0= 'greaterOrEqual' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' )
{
// InternalMiniFSM.g:1490:2: (otherlv_0= 'greaterOrEqual' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' )
// InternalMiniFSM.g:1491:3: otherlv_0= 'greaterOrEqual' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')'
{
otherlv_0=(Token)match(input,37,FOLLOW_15);
newLeafNode(otherlv_0, grammarAccess.getGreaterOrEqualAccess().getGreaterOrEqualKeyword_0());
otherlv_1=(Token)match(input,22,FOLLOW_18);
newLeafNode(otherlv_1, grammarAccess.getGreaterOrEqualAccess().getLeftParenthesisKeyword_1());
// InternalMiniFSM.g:1499:3: ( (lv_left_2_0= ruleIntExpression ) )
// InternalMiniFSM.g:1500:4: (lv_left_2_0= ruleIntExpression )
{
// InternalMiniFSM.g:1500:4: (lv_left_2_0= ruleIntExpression )
// InternalMiniFSM.g:1501:5: lv_left_2_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getGreaterOrEqualAccess().getLeftIntExpressionParserRuleCall_2_0());
pushFollow(FOLLOW_16);
lv_left_2_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getGreaterOrEqualRule());
}
set(
current,
"left",
lv_left_2_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,23,FOLLOW_18);
newLeafNode(otherlv_3, grammarAccess.getGreaterOrEqualAccess().getCommaKeyword_3());
// InternalMiniFSM.g:1522:3: ( (lv_right_4_0= ruleIntExpression ) )
// InternalMiniFSM.g:1523:4: (lv_right_4_0= ruleIntExpression )
{
// InternalMiniFSM.g:1523:4: (lv_right_4_0= ruleIntExpression )
// InternalMiniFSM.g:1524:5: lv_right_4_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getGreaterOrEqualAccess().getRightIntExpressionParserRuleCall_4_0());
pushFollow(FOLLOW_17);
lv_right_4_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getGreaterOrEqualRule());
}
set(
current,
"right",
lv_right_4_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_5=(Token)match(input,24,FOLLOW_2);
newLeafNode(otherlv_5, grammarAccess.getGreaterOrEqualAccess().getRightParenthesisKeyword_5());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleGreaterOrEqual"
// $ANTLR start "entryRuleLess"
// InternalMiniFSM.g:1549:1: entryRuleLess returns [EObject current=null] : iv_ruleLess= ruleLess EOF ;
public final EObject entryRuleLess() throws RecognitionException {
EObject current = null;
EObject iv_ruleLess = null;
try {
// InternalMiniFSM.g:1549:45: (iv_ruleLess= ruleLess EOF )
// InternalMiniFSM.g:1550:2: iv_ruleLess= ruleLess EOF
{
newCompositeNode(grammarAccess.getLessRule());
pushFollow(FOLLOW_1);
iv_ruleLess=ruleLess();
state._fsp--;
current =iv_ruleLess;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLess"
// $ANTLR start "ruleLess"
// InternalMiniFSM.g:1556:1: ruleLess returns [EObject current=null] : (otherlv_0= 'less' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' ) ;
public final EObject ruleLess() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_left_2_0 = null;
EObject lv_right_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1562:2: ( (otherlv_0= 'less' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' ) )
// InternalMiniFSM.g:1563:2: (otherlv_0= 'less' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' )
{
// InternalMiniFSM.g:1563:2: (otherlv_0= 'less' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' )
// InternalMiniFSM.g:1564:3: otherlv_0= 'less' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')'
{
otherlv_0=(Token)match(input,38,FOLLOW_15);
newLeafNode(otherlv_0, grammarAccess.getLessAccess().getLessKeyword_0());
otherlv_1=(Token)match(input,22,FOLLOW_18);
newLeafNode(otherlv_1, grammarAccess.getLessAccess().getLeftParenthesisKeyword_1());
// InternalMiniFSM.g:1572:3: ( (lv_left_2_0= ruleIntExpression ) )
// InternalMiniFSM.g:1573:4: (lv_left_2_0= ruleIntExpression )
{
// InternalMiniFSM.g:1573:4: (lv_left_2_0= ruleIntExpression )
// InternalMiniFSM.g:1574:5: lv_left_2_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getLessAccess().getLeftIntExpressionParserRuleCall_2_0());
pushFollow(FOLLOW_16);
lv_left_2_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getLessRule());
}
set(
current,
"left",
lv_left_2_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,23,FOLLOW_18);
newLeafNode(otherlv_3, grammarAccess.getLessAccess().getCommaKeyword_3());
// InternalMiniFSM.g:1595:3: ( (lv_right_4_0= ruleIntExpression ) )
// InternalMiniFSM.g:1596:4: (lv_right_4_0= ruleIntExpression )
{
// InternalMiniFSM.g:1596:4: (lv_right_4_0= ruleIntExpression )
// InternalMiniFSM.g:1597:5: lv_right_4_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getLessAccess().getRightIntExpressionParserRuleCall_4_0());
pushFollow(FOLLOW_17);
lv_right_4_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getLessRule());
}
set(
current,
"right",
lv_right_4_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_5=(Token)match(input,24,FOLLOW_2);
newLeafNode(otherlv_5, grammarAccess.getLessAccess().getRightParenthesisKeyword_5());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLess"
// $ANTLR start "entryRuleLessOrEqual"
// InternalMiniFSM.g:1622:1: entryRuleLessOrEqual returns [EObject current=null] : iv_ruleLessOrEqual= ruleLessOrEqual EOF ;
public final EObject entryRuleLessOrEqual() throws RecognitionException {
EObject current = null;
EObject iv_ruleLessOrEqual = null;
try {
// InternalMiniFSM.g:1622:52: (iv_ruleLessOrEqual= ruleLessOrEqual EOF )
// InternalMiniFSM.g:1623:2: iv_ruleLessOrEqual= ruleLessOrEqual EOF
{
newCompositeNode(grammarAccess.getLessOrEqualRule());
pushFollow(FOLLOW_1);
iv_ruleLessOrEqual=ruleLessOrEqual();
state._fsp--;
current =iv_ruleLessOrEqual;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLessOrEqual"
// $ANTLR start "ruleLessOrEqual"
// InternalMiniFSM.g:1629:1: ruleLessOrEqual returns [EObject current=null] : (otherlv_0= 'lessOrEqual' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' ) ;
public final EObject ruleLessOrEqual() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_left_2_0 = null;
EObject lv_right_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1635:2: ( (otherlv_0= 'lessOrEqual' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' ) )
// InternalMiniFSM.g:1636:2: (otherlv_0= 'lessOrEqual' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' )
{
// InternalMiniFSM.g:1636:2: (otherlv_0= 'lessOrEqual' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')' )
// InternalMiniFSM.g:1637:3: otherlv_0= 'lessOrEqual' otherlv_1= '(' ( (lv_left_2_0= ruleIntExpression ) ) otherlv_3= ',' ( (lv_right_4_0= ruleIntExpression ) ) otherlv_5= ')'
{
otherlv_0=(Token)match(input,39,FOLLOW_15);
newLeafNode(otherlv_0, grammarAccess.getLessOrEqualAccess().getLessOrEqualKeyword_0());
otherlv_1=(Token)match(input,22,FOLLOW_18);
newLeafNode(otherlv_1, grammarAccess.getLessOrEqualAccess().getLeftParenthesisKeyword_1());
// InternalMiniFSM.g:1645:3: ( (lv_left_2_0= ruleIntExpression ) )
// InternalMiniFSM.g:1646:4: (lv_left_2_0= ruleIntExpression )
{
// InternalMiniFSM.g:1646:4: (lv_left_2_0= ruleIntExpression )
// InternalMiniFSM.g:1647:5: lv_left_2_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getLessOrEqualAccess().getLeftIntExpressionParserRuleCall_2_0());
pushFollow(FOLLOW_16);
lv_left_2_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getLessOrEqualRule());
}
set(
current,
"left",
lv_left_2_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,23,FOLLOW_18);
newLeafNode(otherlv_3, grammarAccess.getLessOrEqualAccess().getCommaKeyword_3());
// InternalMiniFSM.g:1668:3: ( (lv_right_4_0= ruleIntExpression ) )
// InternalMiniFSM.g:1669:4: (lv_right_4_0= ruleIntExpression )
{
// InternalMiniFSM.g:1669:4: (lv_right_4_0= ruleIntExpression )
// InternalMiniFSM.g:1670:5: lv_right_4_0= ruleIntExpression
{
newCompositeNode(grammarAccess.getLessOrEqualAccess().getRightIntExpressionParserRuleCall_4_0());
pushFollow(FOLLOW_17);
lv_right_4_0=ruleIntExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getLessOrEqualRule());
}
set(
current,
"right",
lv_right_4_0,
"fr.inria.diverse.MiniFSM.IntExpression");
afterParserOrEnumRuleCall();
}
}
otherlv_5=(Token)match(input,24,FOLLOW_2);
newLeafNode(otherlv_5, grammarAccess.getLessOrEqualAccess().getRightParenthesisKeyword_5());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLessOrEqual"
// $ANTLR start "entryRuleIntExpression"
// InternalMiniFSM.g:1695:1: entryRuleIntExpression returns [EObject current=null] : iv_ruleIntExpression= ruleIntExpression EOF ;
public final EObject entryRuleIntExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleIntExpression = null;
try {
// InternalMiniFSM.g:1695:54: (iv_ruleIntExpression= ruleIntExpression EOF )
// InternalMiniFSM.g:1696:2: iv_ruleIntExpression= ruleIntExpression EOF
{
newCompositeNode(grammarAccess.getIntExpressionRule());
pushFollow(FOLLOW_1);
iv_ruleIntExpression=ruleIntExpression();
state._fsp--;
current =iv_ruleIntExpression;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIntExpression"
// $ANTLR start "ruleIntExpression"
// InternalMiniFSM.g:1702:1: ruleIntExpression returns [EObject current=null] : this_PlusMinus_0= rulePlusMinus ;
public final EObject ruleIntExpression() throws RecognitionException {
EObject current = null;
EObject this_PlusMinus_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1708:2: (this_PlusMinus_0= rulePlusMinus )
// InternalMiniFSM.g:1709:2: this_PlusMinus_0= rulePlusMinus
{
newCompositeNode(grammarAccess.getIntExpressionAccess().getPlusMinusParserRuleCall());
pushFollow(FOLLOW_2);
this_PlusMinus_0=rulePlusMinus();
state._fsp--;
current = this_PlusMinus_0;
afterParserOrEnumRuleCall();
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIntExpression"
// $ANTLR start "entryRulePlusMinus"
// InternalMiniFSM.g:1720:1: entryRulePlusMinus returns [EObject current=null] : iv_rulePlusMinus= rulePlusMinus EOF ;
public final EObject entryRulePlusMinus() throws RecognitionException {
EObject current = null;
EObject iv_rulePlusMinus = null;
try {
// InternalMiniFSM.g:1720:50: (iv_rulePlusMinus= rulePlusMinus EOF )
// InternalMiniFSM.g:1721:2: iv_rulePlusMinus= rulePlusMinus EOF
{
newCompositeNode(grammarAccess.getPlusMinusRule());
pushFollow(FOLLOW_1);
iv_rulePlusMinus=rulePlusMinus();
state._fsp--;
current =iv_rulePlusMinus;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePlusMinus"
// $ANTLR start "rulePlusMinus"
// InternalMiniFSM.g:1727:1: rulePlusMinus returns [EObject current=null] : (this_MultDiv_0= ruleMultDiv ( ( () otherlv_2= '+' ( (lv_right_3_0= ruleMultDiv ) ) ) | ( () otherlv_5= '-' ( (lv_right_6_0= ruleMultDiv ) ) ) )? ) ;
public final EObject rulePlusMinus() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_5=null;
EObject this_MultDiv_0 = null;
EObject lv_right_3_0 = null;
EObject lv_right_6_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1733:2: ( (this_MultDiv_0= ruleMultDiv ( ( () otherlv_2= '+' ( (lv_right_3_0= ruleMultDiv ) ) ) | ( () otherlv_5= '-' ( (lv_right_6_0= ruleMultDiv ) ) ) )? ) )
// InternalMiniFSM.g:1734:2: (this_MultDiv_0= ruleMultDiv ( ( () otherlv_2= '+' ( (lv_right_3_0= ruleMultDiv ) ) ) | ( () otherlv_5= '-' ( (lv_right_6_0= ruleMultDiv ) ) ) )? )
{
// InternalMiniFSM.g:1734:2: (this_MultDiv_0= ruleMultDiv ( ( () otherlv_2= '+' ( (lv_right_3_0= ruleMultDiv ) ) ) | ( () otherlv_5= '-' ( (lv_right_6_0= ruleMultDiv ) ) ) )? )
// InternalMiniFSM.g:1735:3: this_MultDiv_0= ruleMultDiv ( ( () otherlv_2= '+' ( (lv_right_3_0= ruleMultDiv ) ) ) | ( () otherlv_5= '-' ( (lv_right_6_0= ruleMultDiv ) ) ) )?
{
newCompositeNode(grammarAccess.getPlusMinusAccess().getMultDivParserRuleCall_0());
pushFollow(FOLLOW_21);
this_MultDiv_0=ruleMultDiv();
state._fsp--;
current = this_MultDiv_0;
afterParserOrEnumRuleCall();
// InternalMiniFSM.g:1743:3: ( ( () otherlv_2= '+' ( (lv_right_3_0= ruleMultDiv ) ) ) | ( () otherlv_5= '-' ( (lv_right_6_0= ruleMultDiv ) ) ) )?
int alt20=3;
int LA20_0 = input.LA(1);
if ( (LA20_0==40) ) {
alt20=1;
}
else if ( (LA20_0==41) ) {
alt20=2;
}
switch (alt20) {
case 1 :
// InternalMiniFSM.g:1744:4: ( () otherlv_2= '+' ( (lv_right_3_0= ruleMultDiv ) ) )
{
// InternalMiniFSM.g:1744:4: ( () otherlv_2= '+' ( (lv_right_3_0= ruleMultDiv ) ) )
// InternalMiniFSM.g:1745:5: () otherlv_2= '+' ( (lv_right_3_0= ruleMultDiv ) )
{
// InternalMiniFSM.g:1745:5: ()
// InternalMiniFSM.g:1746:6:
{
current = forceCreateModelElementAndSet(
grammarAccess.getPlusMinusAccess().getPlusLeftAction_1_0_0(),
current);
}
otherlv_2=(Token)match(input,40,FOLLOW_18);
newLeafNode(otherlv_2, grammarAccess.getPlusMinusAccess().getPlusSignKeyword_1_0_1());
// InternalMiniFSM.g:1756:5: ( (lv_right_3_0= ruleMultDiv ) )
// InternalMiniFSM.g:1757:6: (lv_right_3_0= ruleMultDiv )
{
// InternalMiniFSM.g:1757:6: (lv_right_3_0= ruleMultDiv )
// InternalMiniFSM.g:1758:7: lv_right_3_0= ruleMultDiv
{
newCompositeNode(grammarAccess.getPlusMinusAccess().getRightMultDivParserRuleCall_1_0_2_0());
pushFollow(FOLLOW_2);
lv_right_3_0=ruleMultDiv();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getPlusMinusRule());
}
set(
current,
"right",
lv_right_3_0,
"fr.inria.diverse.MiniFSM.MultDiv");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalMiniFSM.g:1777:4: ( () otherlv_5= '-' ( (lv_right_6_0= ruleMultDiv ) ) )
{
// InternalMiniFSM.g:1777:4: ( () otherlv_5= '-' ( (lv_right_6_0= ruleMultDiv ) ) )
// InternalMiniFSM.g:1778:5: () otherlv_5= '-' ( (lv_right_6_0= ruleMultDiv ) )
{
// InternalMiniFSM.g:1778:5: ()
// InternalMiniFSM.g:1779:6:
{
current = forceCreateModelElementAndSet(
grammarAccess.getPlusMinusAccess().getMinusLeftAction_1_1_0(),
current);
}
otherlv_5=(Token)match(input,41,FOLLOW_18);
newLeafNode(otherlv_5, grammarAccess.getPlusMinusAccess().getHyphenMinusKeyword_1_1_1());
// InternalMiniFSM.g:1789:5: ( (lv_right_6_0= ruleMultDiv ) )
// InternalMiniFSM.g:1790:6: (lv_right_6_0= ruleMultDiv )
{
// InternalMiniFSM.g:1790:6: (lv_right_6_0= ruleMultDiv )
// InternalMiniFSM.g:1791:7: lv_right_6_0= ruleMultDiv
{
newCompositeNode(grammarAccess.getPlusMinusAccess().getRightMultDivParserRuleCall_1_1_2_0());
pushFollow(FOLLOW_2);
lv_right_6_0=ruleMultDiv();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getPlusMinusRule());
}
set(
current,
"right",
lv_right_6_0,
"fr.inria.diverse.MiniFSM.MultDiv");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePlusMinus"
// $ANTLR start "entryRuleMultDiv"
// InternalMiniFSM.g:1814:1: entryRuleMultDiv returns [EObject current=null] : iv_ruleMultDiv= ruleMultDiv EOF ;
public final EObject entryRuleMultDiv() throws RecognitionException {
EObject current = null;
EObject iv_ruleMultDiv = null;
try {
// InternalMiniFSM.g:1814:48: (iv_ruleMultDiv= ruleMultDiv EOF )
// InternalMiniFSM.g:1815:2: iv_ruleMultDiv= ruleMultDiv EOF
{
newCompositeNode(grammarAccess.getMultDivRule());
pushFollow(FOLLOW_1);
iv_ruleMultDiv=ruleMultDiv();
state._fsp--;
current =iv_ruleMultDiv;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMultDiv"
// $ANTLR start "ruleMultDiv"
// InternalMiniFSM.g:1821:1: ruleMultDiv returns [EObject current=null] : (this_TermInt_0= ruleTermInt ( ( () otherlv_2= '*' ( (lv_right_3_0= ruleTermInt ) ) ) | ( () otherlv_5= '/' ( (lv_right_6_0= ruleTermInt ) ) ) )? ) ;
public final EObject ruleMultDiv() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_5=null;
EObject this_TermInt_0 = null;
EObject lv_right_3_0 = null;
EObject lv_right_6_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1827:2: ( (this_TermInt_0= ruleTermInt ( ( () otherlv_2= '*' ( (lv_right_3_0= ruleTermInt ) ) ) | ( () otherlv_5= '/' ( (lv_right_6_0= ruleTermInt ) ) ) )? ) )
// InternalMiniFSM.g:1828:2: (this_TermInt_0= ruleTermInt ( ( () otherlv_2= '*' ( (lv_right_3_0= ruleTermInt ) ) ) | ( () otherlv_5= '/' ( (lv_right_6_0= ruleTermInt ) ) ) )? )
{
// InternalMiniFSM.g:1828:2: (this_TermInt_0= ruleTermInt ( ( () otherlv_2= '*' ( (lv_right_3_0= ruleTermInt ) ) ) | ( () otherlv_5= '/' ( (lv_right_6_0= ruleTermInt ) ) ) )? )
// InternalMiniFSM.g:1829:3: this_TermInt_0= ruleTermInt ( ( () otherlv_2= '*' ( (lv_right_3_0= ruleTermInt ) ) ) | ( () otherlv_5= '/' ( (lv_right_6_0= ruleTermInt ) ) ) )?
{
newCompositeNode(grammarAccess.getMultDivAccess().getTermIntParserRuleCall_0());
pushFollow(FOLLOW_22);
this_TermInt_0=ruleTermInt();
state._fsp--;
current = this_TermInt_0;
afterParserOrEnumRuleCall();
// InternalMiniFSM.g:1837:3: ( ( () otherlv_2= '*' ( (lv_right_3_0= ruleTermInt ) ) ) | ( () otherlv_5= '/' ( (lv_right_6_0= ruleTermInt ) ) ) )?
int alt21=3;
int LA21_0 = input.LA(1);
if ( (LA21_0==42) ) {
alt21=1;
}
else if ( (LA21_0==43) ) {
alt21=2;
}
switch (alt21) {
case 1 :
// InternalMiniFSM.g:1838:4: ( () otherlv_2= '*' ( (lv_right_3_0= ruleTermInt ) ) )
{
// InternalMiniFSM.g:1838:4: ( () otherlv_2= '*' ( (lv_right_3_0= ruleTermInt ) ) )
// InternalMiniFSM.g:1839:5: () otherlv_2= '*' ( (lv_right_3_0= ruleTermInt ) )
{
// InternalMiniFSM.g:1839:5: ()
// InternalMiniFSM.g:1840:6:
{
current = forceCreateModelElementAndSet(
grammarAccess.getMultDivAccess().getMultiplyLeftAction_1_0_0(),
current);
}
otherlv_2=(Token)match(input,42,FOLLOW_18);
newLeafNode(otherlv_2, grammarAccess.getMultDivAccess().getAsteriskKeyword_1_0_1());
// InternalMiniFSM.g:1850:5: ( (lv_right_3_0= ruleTermInt ) )
// InternalMiniFSM.g:1851:6: (lv_right_3_0= ruleTermInt )
{
// InternalMiniFSM.g:1851:6: (lv_right_3_0= ruleTermInt )
// InternalMiniFSM.g:1852:7: lv_right_3_0= ruleTermInt
{
newCompositeNode(grammarAccess.getMultDivAccess().getRightTermIntParserRuleCall_1_0_2_0());
pushFollow(FOLLOW_2);
lv_right_3_0=ruleTermInt();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getMultDivRule());
}
set(
current,
"right",
lv_right_3_0,
"fr.inria.diverse.MiniFSM.TermInt");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalMiniFSM.g:1871:4: ( () otherlv_5= '/' ( (lv_right_6_0= ruleTermInt ) ) )
{
// InternalMiniFSM.g:1871:4: ( () otherlv_5= '/' ( (lv_right_6_0= ruleTermInt ) ) )
// InternalMiniFSM.g:1872:5: () otherlv_5= '/' ( (lv_right_6_0= ruleTermInt ) )
{
// InternalMiniFSM.g:1872:5: ()
// InternalMiniFSM.g:1873:6:
{
current = forceCreateModelElementAndSet(
grammarAccess.getMultDivAccess().getDivideLeftAction_1_1_0(),
current);
}
otherlv_5=(Token)match(input,43,FOLLOW_18);
newLeafNode(otherlv_5, grammarAccess.getMultDivAccess().getSolidusKeyword_1_1_1());
// InternalMiniFSM.g:1883:5: ( (lv_right_6_0= ruleTermInt ) )
// InternalMiniFSM.g:1884:6: (lv_right_6_0= ruleTermInt )
{
// InternalMiniFSM.g:1884:6: (lv_right_6_0= ruleTermInt )
// InternalMiniFSM.g:1885:7: lv_right_6_0= ruleTermInt
{
newCompositeNode(grammarAccess.getMultDivAccess().getRightTermIntParserRuleCall_1_1_2_0());
pushFollow(FOLLOW_2);
lv_right_6_0=ruleTermInt();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getMultDivRule());
}
set(
current,
"right",
lv_right_6_0,
"fr.inria.diverse.MiniFSM.TermInt");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMultDiv"
// $ANTLR start "entryRuleTermInt"
// InternalMiniFSM.g:1908:1: entryRuleTermInt returns [EObject current=null] : iv_ruleTermInt= ruleTermInt EOF ;
public final EObject entryRuleTermInt() throws RecognitionException {
EObject current = null;
EObject iv_ruleTermInt = null;
try {
// InternalMiniFSM.g:1908:48: (iv_ruleTermInt= ruleTermInt EOF )
// InternalMiniFSM.g:1909:2: iv_ruleTermInt= ruleTermInt EOF
{
newCompositeNode(grammarAccess.getTermIntRule());
pushFollow(FOLLOW_1);
iv_ruleTermInt=ruleTermInt();
state._fsp--;
current =iv_ruleTermInt;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTermInt"
// $ANTLR start "ruleTermInt"
// InternalMiniFSM.g:1915:1: ruleTermInt returns [EObject current=null] : (this_Integer_0= ruleInteger | this_IntVariableRef_1= ruleIntVariableRef | (otherlv_2= '(' this_PlusMinus_3= rulePlusMinus otherlv_4= ')' ) ) ;
public final EObject ruleTermInt() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject this_Integer_0 = null;
EObject this_IntVariableRef_1 = null;
EObject this_PlusMinus_3 = null;
enterRule();
try {
// InternalMiniFSM.g:1921:2: ( (this_Integer_0= ruleInteger | this_IntVariableRef_1= ruleIntVariableRef | (otherlv_2= '(' this_PlusMinus_3= rulePlusMinus otherlv_4= ')' ) ) )
// InternalMiniFSM.g:1922:2: (this_Integer_0= ruleInteger | this_IntVariableRef_1= ruleIntVariableRef | (otherlv_2= '(' this_PlusMinus_3= rulePlusMinus otherlv_4= ')' ) )
{
// InternalMiniFSM.g:1922:2: (this_Integer_0= ruleInteger | this_IntVariableRef_1= ruleIntVariableRef | (otherlv_2= '(' this_PlusMinus_3= rulePlusMinus otherlv_4= ')' ) )
int alt22=3;
switch ( input.LA(1) ) {
case RULE_INT:
case 41:
{
alt22=1;
}
break;
case RULE_STRING:
case RULE_ID:
{
alt22=2;
}
break;
case 22:
{
alt22=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 22, 0, input);
throw nvae;
}
switch (alt22) {
case 1 :
// InternalMiniFSM.g:1923:3: this_Integer_0= ruleInteger
{
newCompositeNode(grammarAccess.getTermIntAccess().getIntegerParserRuleCall_0());
pushFollow(FOLLOW_2);
this_Integer_0=ruleInteger();
state._fsp--;
current = this_Integer_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// InternalMiniFSM.g:1932:3: this_IntVariableRef_1= ruleIntVariableRef
{
newCompositeNode(grammarAccess.getTermIntAccess().getIntVariableRefParserRuleCall_1());
pushFollow(FOLLOW_2);
this_IntVariableRef_1=ruleIntVariableRef();
state._fsp--;
current = this_IntVariableRef_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// InternalMiniFSM.g:1941:3: (otherlv_2= '(' this_PlusMinus_3= rulePlusMinus otherlv_4= ')' )
{
// InternalMiniFSM.g:1941:3: (otherlv_2= '(' this_PlusMinus_3= rulePlusMinus otherlv_4= ')' )
// InternalMiniFSM.g:1942:4: otherlv_2= '(' this_PlusMinus_3= rulePlusMinus otherlv_4= ')'
{
otherlv_2=(Token)match(input,22,FOLLOW_18);
newLeafNode(otherlv_2, grammarAccess.getTermIntAccess().getLeftParenthesisKeyword_2_0());
newCompositeNode(grammarAccess.getTermIntAccess().getPlusMinusParserRuleCall_2_1());
pushFollow(FOLLOW_17);
this_PlusMinus_3=rulePlusMinus();
state._fsp--;
current = this_PlusMinus_3;
afterParserOrEnumRuleCall();
otherlv_4=(Token)match(input,24,FOLLOW_2);
newLeafNode(otherlv_4, grammarAccess.getTermIntAccess().getRightParenthesisKeyword_2_2());
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTermInt"
// $ANTLR start "entryRuleInteger"
// InternalMiniFSM.g:1963:1: entryRuleInteger returns [EObject current=null] : iv_ruleInteger= ruleInteger EOF ;
public final EObject entryRuleInteger() throws RecognitionException {
EObject current = null;
EObject iv_ruleInteger = null;
try {
// InternalMiniFSM.g:1963:48: (iv_ruleInteger= ruleInteger EOF )
// InternalMiniFSM.g:1964:2: iv_ruleInteger= ruleInteger EOF
{
newCompositeNode(grammarAccess.getIntegerRule());
pushFollow(FOLLOW_1);
iv_ruleInteger=ruleInteger();
state._fsp--;
current =iv_ruleInteger;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInteger"
// $ANTLR start "ruleInteger"
// InternalMiniFSM.g:1970:1: ruleInteger returns [EObject current=null] : ( (lv_value_0_0= ruleEInt ) ) ;
public final EObject ruleInteger() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_value_0_0 = null;
enterRule();
try {
// InternalMiniFSM.g:1976:2: ( ( (lv_value_0_0= ruleEInt ) ) )
// InternalMiniFSM.g:1977:2: ( (lv_value_0_0= ruleEInt ) )
{
// InternalMiniFSM.g:1977:2: ( (lv_value_0_0= ruleEInt ) )
// InternalMiniFSM.g:1978:3: (lv_value_0_0= ruleEInt )
{
// InternalMiniFSM.g:1978:3: (lv_value_0_0= ruleEInt )
// InternalMiniFSM.g:1979:4: lv_value_0_0= ruleEInt
{
newCompositeNode(grammarAccess.getIntegerAccess().getValueEIntParserRuleCall_0());
pushFollow(FOLLOW_2);
lv_value_0_0=ruleEInt();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getIntegerRule());
}
set(
current,
"value",
lv_value_0_0,
"fr.inria.diverse.MiniFSM.EInt");
afterParserOrEnumRuleCall();
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInteger"
// $ANTLR start "entryRuleIntVariableRef"
// InternalMiniFSM.g:1999:1: entryRuleIntVariableRef returns [EObject current=null] : iv_ruleIntVariableRef= ruleIntVariableRef EOF ;
public final EObject entryRuleIntVariableRef() throws RecognitionException {
EObject current = null;
EObject iv_ruleIntVariableRef = null;
try {
// InternalMiniFSM.g:1999:55: (iv_ruleIntVariableRef= ruleIntVariableRef EOF )
// InternalMiniFSM.g:2000:2: iv_ruleIntVariableRef= ruleIntVariableRef EOF
{
newCompositeNode(grammarAccess.getIntVariableRefRule());
pushFollow(FOLLOW_1);
iv_ruleIntVariableRef=ruleIntVariableRef();
state._fsp--;
current =iv_ruleIntVariableRef;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIntVariableRef"
// $ANTLR start "ruleIntVariableRef"
// InternalMiniFSM.g:2006:1: ruleIntVariableRef returns [EObject current=null] : ( () ( (lv_name_1_0= ruleEString ) ) ) ;
public final EObject ruleIntVariableRef() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
enterRule();
try {
// InternalMiniFSM.g:2012:2: ( ( () ( (lv_name_1_0= ruleEString ) ) ) )
// InternalMiniFSM.g:2013:2: ( () ( (lv_name_1_0= ruleEString ) ) )
{
// InternalMiniFSM.g:2013:2: ( () ( (lv_name_1_0= ruleEString ) ) )
// InternalMiniFSM.g:2014:3: () ( (lv_name_1_0= ruleEString ) )
{
// InternalMiniFSM.g:2014:3: ()
// InternalMiniFSM.g:2015:4:
{
current = forceCreateModelElement(
grammarAccess.getIntVariableRefAccess().getIntVariableRefAction_0(),
current);
}
// InternalMiniFSM.g:2021:3: ( (lv_name_1_0= ruleEString ) )
// InternalMiniFSM.g:2022:4: (lv_name_1_0= ruleEString )
{
// InternalMiniFSM.g:2022:4: (lv_name_1_0= ruleEString )
// InternalMiniFSM.g:2023:5: lv_name_1_0= ruleEString
{
newCompositeNode(grammarAccess.getIntVariableRefAccess().getNameEStringParserRuleCall_1_0());
pushFollow(FOLLOW_2);
lv_name_1_0=ruleEString();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getIntVariableRefRule());
}
set(
current,
"name",
lv_name_1_0,
"fr.inria.diverse.MiniFSM.EString");
afterParserOrEnumRuleCall();
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIntVariableRef"
// $ANTLR start "entryRuleEInt"
// InternalMiniFSM.g:2044:1: entryRuleEInt returns [String current=null] : iv_ruleEInt= ruleEInt EOF ;
public final String entryRuleEInt() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEInt = null;
try {
// InternalMiniFSM.g:2044:44: (iv_ruleEInt= ruleEInt EOF )
// InternalMiniFSM.g:2045:2: iv_ruleEInt= ruleEInt EOF
{
newCompositeNode(grammarAccess.getEIntRule());
pushFollow(FOLLOW_1);
iv_ruleEInt=ruleEInt();
state._fsp--;
current =iv_ruleEInt.getText();
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEInt"
// $ANTLR start "ruleEInt"
// InternalMiniFSM.g:2051:1: ruleEInt returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '-' )? this_INT_1= RULE_INT ) ;
public final AntlrDatatypeRuleToken ruleEInt() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
Token this_INT_1=null;
enterRule();
try {
// InternalMiniFSM.g:2057:2: ( ( (kw= '-' )? this_INT_1= RULE_INT ) )
// InternalMiniFSM.g:2058:2: ( (kw= '-' )? this_INT_1= RULE_INT )
{
// InternalMiniFSM.g:2058:2: ( (kw= '-' )? this_INT_1= RULE_INT )
// InternalMiniFSM.g:2059:3: (kw= '-' )? this_INT_1= RULE_INT
{
// InternalMiniFSM.g:2059:3: (kw= '-' )?
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==41) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// InternalMiniFSM.g:2060:4: kw= '-'
{
kw=(Token)match(input,41,FOLLOW_23);
current.merge(kw);
newLeafNode(kw, grammarAccess.getEIntAccess().getHyphenMinusKeyword_0());
}
break;
}
this_INT_1=(Token)match(input,RULE_INT,FOLLOW_2);
current.merge(this_INT_1);
newLeafNode(this_INT_1, grammarAccess.getEIntAccess().getINTTerminalRuleCall_1());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEInt"
// $ANTLR start "entryRuleIntegerVar"
// InternalMiniFSM.g:2077:1: entryRuleIntegerVar returns [EObject current=null] : iv_ruleIntegerVar= ruleIntegerVar EOF ;
public final EObject entryRuleIntegerVar() throws RecognitionException {
EObject current = null;
EObject iv_ruleIntegerVar = null;
try {
// InternalMiniFSM.g:2077:51: (iv_ruleIntegerVar= ruleIntegerVar EOF )
// InternalMiniFSM.g:2078:2: iv_ruleIntegerVar= ruleIntegerVar EOF
{
newCompositeNode(grammarAccess.getIntegerVarRule());
pushFollow(FOLLOW_1);
iv_ruleIntegerVar=ruleIntegerVar();
state._fsp--;
current =iv_ruleIntegerVar;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIntegerVar"
// $ANTLR start "ruleIntegerVar"
// InternalMiniFSM.g:2084:1: ruleIntegerVar returns [EObject current=null] : ( () otherlv_1= 'Integer' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleEInt ) ) )? ) ;
public final EObject ruleIntegerVar() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
AntlrDatatypeRuleToken lv_value_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:2090:2: ( ( () otherlv_1= 'Integer' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleEInt ) ) )? ) )
// InternalMiniFSM.g:2091:2: ( () otherlv_1= 'Integer' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleEInt ) ) )? )
{
// InternalMiniFSM.g:2091:2: ( () otherlv_1= 'Integer' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleEInt ) ) )? )
// InternalMiniFSM.g:2092:3: () otherlv_1= 'Integer' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleEInt ) ) )?
{
// InternalMiniFSM.g:2092:3: ()
// InternalMiniFSM.g:2093:4:
{
current = forceCreateModelElement(
grammarAccess.getIntegerVarAccess().getIntegerVarAction_0(),
current);
}
otherlv_1=(Token)match(input,44,FOLLOW_5);
newLeafNode(otherlv_1, grammarAccess.getIntegerVarAccess().getIntegerKeyword_1());
// InternalMiniFSM.g:2103:3: ( (lv_name_2_0= ruleEString ) )
// InternalMiniFSM.g:2104:4: (lv_name_2_0= ruleEString )
{
// InternalMiniFSM.g:2104:4: (lv_name_2_0= ruleEString )
// InternalMiniFSM.g:2105:5: lv_name_2_0= ruleEString
{
newCompositeNode(grammarAccess.getIntegerVarAccess().getNameEStringParserRuleCall_2_0());
pushFollow(FOLLOW_24);
lv_name_2_0=ruleEString();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getIntegerVarRule());
}
set(
current,
"name",
lv_name_2_0,
"fr.inria.diverse.MiniFSM.EString");
afterParserOrEnumRuleCall();
}
}
// InternalMiniFSM.g:2122:3: (otherlv_3= '=' ( (lv_value_4_0= ruleEInt ) ) )?
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==45) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// InternalMiniFSM.g:2123:4: otherlv_3= '=' ( (lv_value_4_0= ruleEInt ) )
{
otherlv_3=(Token)match(input,45,FOLLOW_25);
newLeafNode(otherlv_3, grammarAccess.getIntegerVarAccess().getEqualsSignKeyword_3_0());
// InternalMiniFSM.g:2127:4: ( (lv_value_4_0= ruleEInt ) )
// InternalMiniFSM.g:2128:5: (lv_value_4_0= ruleEInt )
{
// InternalMiniFSM.g:2128:5: (lv_value_4_0= ruleEInt )
// InternalMiniFSM.g:2129:6: lv_value_4_0= ruleEInt
{
newCompositeNode(grammarAccess.getIntegerVarAccess().getValueEIntParserRuleCall_3_1_0());
pushFollow(FOLLOW_2);
lv_value_4_0=ruleEInt();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getIntegerVarRule());
}
set(
current,
"value",
lv_value_4_0,
"fr.inria.diverse.MiniFSM.EInt");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIntegerVar"
// $ANTLR start "entryRuleEString"
// InternalMiniFSM.g:2151:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ;
public final String entryRuleEString() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEString = null;
try {
// InternalMiniFSM.g:2151:47: (iv_ruleEString= ruleEString EOF )
// InternalMiniFSM.g:2152:2: iv_ruleEString= ruleEString EOF
{
newCompositeNode(grammarAccess.getEStringRule());
pushFollow(FOLLOW_1);
iv_ruleEString=ruleEString();
state._fsp--;
current =iv_ruleEString.getText();
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEString"
// $ANTLR start "ruleEString"
// InternalMiniFSM.g:2158:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ;
public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_STRING_0=null;
Token this_ID_1=null;
enterRule();
try {
// InternalMiniFSM.g:2164:2: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) )
// InternalMiniFSM.g:2165:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
{
// InternalMiniFSM.g:2165:2: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==RULE_STRING) ) {
alt25=1;
}
else if ( (LA25_0==RULE_ID) ) {
alt25=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 25, 0, input);
throw nvae;
}
switch (alt25) {
case 1 :
// InternalMiniFSM.g:2166:3: this_STRING_0= RULE_STRING
{
this_STRING_0=(Token)match(input,RULE_STRING,FOLLOW_2);
current.merge(this_STRING_0);
newLeafNode(this_STRING_0, grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0());
}
break;
case 2 :
// InternalMiniFSM.g:2174:3: this_ID_1= RULE_ID
{
this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2);
current.merge(this_ID_1);
newLeafNode(this_ID_1, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1());
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEString"
// $ANTLR start "entryRuleBooleanVar"
// InternalMiniFSM.g:2185:1: entryRuleBooleanVar returns [EObject current=null] : iv_ruleBooleanVar= ruleBooleanVar EOF ;
public final EObject entryRuleBooleanVar() throws RecognitionException {
EObject current = null;
EObject iv_ruleBooleanVar = null;
try {
// InternalMiniFSM.g:2185:51: (iv_ruleBooleanVar= ruleBooleanVar EOF )
// InternalMiniFSM.g:2186:2: iv_ruleBooleanVar= ruleBooleanVar EOF
{
newCompositeNode(grammarAccess.getBooleanVarRule());
pushFollow(FOLLOW_1);
iv_ruleBooleanVar=ruleBooleanVar();
state._fsp--;
current =iv_ruleBooleanVar;
match(input,EOF,FOLLOW_2);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBooleanVar"
// $ANTLR start "ruleBooleanVar"
// InternalMiniFSM.g:2192:1: ruleBooleanVar returns [EObject current=null] : ( () otherlv_1= 'Boolean' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleEBoolean ) ) )? ) ;
public final EObject ruleBooleanVar() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
AntlrDatatypeRuleToken lv_value_4_0 = null;
enterRule();
try {
// InternalMiniFSM.g:2198:2: ( ( () otherlv_1= 'Boolean' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleEBoolean ) ) )? ) )
// InternalMiniFSM.g:2199:2: ( () otherlv_1= 'Boolean' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleEBoolean ) ) )? )
{
// InternalMiniFSM.g:2199:2: ( () otherlv_1= 'Boolean' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleEBoolean ) ) )? )
// InternalMiniFSM.g:2200:3: () otherlv_1= 'Boolean' ( (lv_name_2_0= ruleEString ) ) (otherlv_3= '=' ( (lv_value_4_0= ruleEBoolean ) ) )?
{
// InternalMiniFSM.g:2200:3: ()
// InternalMiniFSM.g:2201:4:
{
current = forceCreateModelElement(
grammarAccess.getBooleanVarAccess().getBooleanVarAction_0(),
current);
}
otherlv_1=(Token)match(input,32,FOLLOW_5);
newLeafNode(otherlv_1, grammarAccess.getBooleanVarAccess().getBooleanKeyword_1());
// InternalMiniFSM.g:2211:3: ( (lv_name_2_0= ruleEString ) )
// InternalMiniFSM.g:2212:4: (lv_name_2_0= ruleEString )
{
// InternalMiniFSM.g:2212:4: (lv_name_2_0= ruleEString )
// InternalMiniFSM.g:2213:5: lv_name_2_0= ruleEString
{
newCompositeNode(grammarAccess.getBooleanVarAccess().getNameEStringParserRuleCall_2_0());
pushFollow(FOLLOW_24);
lv_name_2_0=ruleEString();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBooleanVarRule());
}
set(
current,
"name",
lv_name_2_0,
"fr.inria.diverse.MiniFSM.EString");
afterParserOrEnumRuleCall();
}
}
// InternalMiniFSM.g:2230:3: (otherlv_3= '=' ( (lv_value_4_0= ruleEBoolean ) ) )?
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==45) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// InternalMiniFSM.g:2231:4: otherlv_3= '=' ( (lv_value_4_0= ruleEBoolean ) )
{
otherlv_3=(Token)match(input,45,FOLLOW_26);
newLeafNode(otherlv_3, grammarAccess.getBooleanVarAccess().getEqualsSignKeyword_3_0());
// InternalMiniFSM.g:2235:4: ( (lv_value_4_0= ruleEBoolean ) )
// InternalMiniFSM.g:2236:5: (lv_value_4_0= ruleEBoolean )
{
// InternalMiniFSM.g:2236:5: (lv_value_4_0= ruleEBoolean )
// InternalMiniFSM.g:2237:6: lv_value_4_0= ruleEBoolean
{
newCompositeNode(grammarAccess.getBooleanVarAccess().getValueEBooleanParserRuleCall_3_1_0());
pushFollow(FOLLOW_2);
lv_value_4_0=ruleEBoolean();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBooleanVarRule());
}
set(
current,
"value",
lv_value_4_0,
"fr.inria.diverse.MiniFSM.EBoolean");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBooleanVar"
// Delegated rules
public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x000000000010A000L});
public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000060L});
public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000084060L});
public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000004000L});
public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000001002L});
public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000010000L});
public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000020002L});
public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x000000F8C0000060L});
public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000100100004000L});
public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x000000000E204000L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000400000L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000020000400070L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000030000002L});
public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000030000000002L});
public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x00000C0000000002L});
public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000200000000002L});
public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000020000000010L});
public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000600000000L});
}