/*******************************************************************************
* Copyright (c) 2010-2015 Henshin developers. All rights reserved.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* TU Berlin, University of Luxembourg, SES S.A.
*******************************************************************************/
package lu.uni.snt.whileDSL.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 lu.uni.snt.whileDSL.services.WHILEGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalWHILEParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'while'", "'('", "')'", "'{'", "'}'", "'='", "';'", "'def'", "'/#'", "'#/'", "'&&'", "'||'", "'=='", "'!'", "'input'"
};
public static final int RULE_ID=4;
public static final int T__25=25;
public static final int T__24=24;
public static final int T__23=23;
public static final int T__22=22;
public static final int RULE_ANY_OTHER=10;
public static final int T__21=21;
public static final int T__20=20;
public static final int RULE_SL_COMMENT=8;
public static final int EOF=-1;
public static final int RULE_ML_COMMENT=7;
public static final int T__19=19;
public static final int RULE_STRING=5;
public static final int T__16=16;
public static final int T__15=15;
public static final int T__18=18;
public static final int T__17=17;
public static final int T__12=12;
public static final int T__11=11;
public static final int T__14=14;
public static final int T__13=13;
public static final int RULE_INT=6;
public static final int RULE_WS=9;
// delegates
// delegators
public InternalWHILEParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalWHILEParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalWHILEParser.tokenNames; }
public String getGrammarFileName() { return "../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g"; }
private WHILEGrammarAccess grammarAccess;
public InternalWHILEParser(TokenStream input, WHILEGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "WProgram";
}
@Override
protected WHILEGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleWProgram"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:67:1: entryRuleWProgram returns [EObject current=null] : iv_ruleWProgram= ruleWProgram EOF ;
public final EObject entryRuleWProgram() throws RecognitionException {
EObject current = null;
EObject iv_ruleWProgram = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:68:2: (iv_ruleWProgram= ruleWProgram EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:69:2: iv_ruleWProgram= ruleWProgram EOF
{
newCompositeNode(grammarAccess.getWProgramRule());
pushFollow(FOLLOW_ruleWProgram_in_entryRuleWProgram75);
iv_ruleWProgram=ruleWProgram();
state._fsp--;
current =iv_ruleWProgram;
match(input,EOF,FOLLOW_EOF_in_entryRuleWProgram85);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleWProgram"
// $ANTLR start "ruleWProgram"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:76:1: ruleWProgram returns [EObject current=null] : ( (lv_fst_0_0= ruleFgmnt_LST_Elem ) ) ;
public final EObject ruleWProgram() throws RecognitionException {
EObject current = null;
EObject lv_fst_0_0 = null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:79:28: ( ( (lv_fst_0_0= ruleFgmnt_LST_Elem ) ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:80:1: ( (lv_fst_0_0= ruleFgmnt_LST_Elem ) )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:80:1: ( (lv_fst_0_0= ruleFgmnt_LST_Elem ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:81:1: (lv_fst_0_0= ruleFgmnt_LST_Elem )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:81:1: (lv_fst_0_0= ruleFgmnt_LST_Elem )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:82:3: lv_fst_0_0= ruleFgmnt_LST_Elem
{
newCompositeNode(grammarAccess.getWProgramAccess().getFstFgmnt_LST_ElemParserRuleCall_0());
pushFollow(FOLLOW_ruleFgmnt_LST_Elem_in_ruleWProgram130);
lv_fst_0_0=ruleFgmnt_LST_Elem();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getWProgramRule());
}
set(
current,
"fst",
lv_fst_0_0,
"Fgmnt_LST_Elem");
afterParserOrEnumRuleCall();
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleWProgram"
// $ANTLR start "entryRuleFgmnt_LST_Elem"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:106:1: entryRuleFgmnt_LST_Elem returns [EObject current=null] : iv_ruleFgmnt_LST_Elem= ruleFgmnt_LST_Elem EOF ;
public final EObject entryRuleFgmnt_LST_Elem() throws RecognitionException {
EObject current = null;
EObject iv_ruleFgmnt_LST_Elem = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:107:2: (iv_ruleFgmnt_LST_Elem= ruleFgmnt_LST_Elem EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:108:2: iv_ruleFgmnt_LST_Elem= ruleFgmnt_LST_Elem EOF
{
newCompositeNode(grammarAccess.getFgmnt_LST_ElemRule());
pushFollow(FOLLOW_ruleFgmnt_LST_Elem_in_entryRuleFgmnt_LST_Elem165);
iv_ruleFgmnt_LST_Elem=ruleFgmnt_LST_Elem();
state._fsp--;
current =iv_ruleFgmnt_LST_Elem;
match(input,EOF,FOLLOW_EOF_in_entryRuleFgmnt_LST_Elem175);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFgmnt_LST_Elem"
// $ANTLR start "ruleFgmnt_LST_Elem"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:115:1: ruleFgmnt_LST_Elem returns [EObject current=null] : ( (this_While_0= ruleWhile | this_Var_Def_1= ruleVar_Def | this_Fn_Call_2= ruleFn_Call | this_Fn_Def_3= ruleFn_Def | this_Comment_4= ruleComment ) ( (lv_next_5_0= ruleFgmnt_LST_Elem ) )? ) ;
public final EObject ruleFgmnt_LST_Elem() throws RecognitionException {
EObject current = null;
EObject this_While_0 = null;
EObject this_Var_Def_1 = null;
EObject this_Fn_Call_2 = null;
EObject this_Fn_Def_3 = null;
EObject this_Comment_4 = null;
EObject lv_next_5_0 = null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:118:28: ( ( (this_While_0= ruleWhile | this_Var_Def_1= ruleVar_Def | this_Fn_Call_2= ruleFn_Call | this_Fn_Def_3= ruleFn_Def | this_Comment_4= ruleComment ) ( (lv_next_5_0= ruleFgmnt_LST_Elem ) )? ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:119:1: ( (this_While_0= ruleWhile | this_Var_Def_1= ruleVar_Def | this_Fn_Call_2= ruleFn_Call | this_Fn_Def_3= ruleFn_Def | this_Comment_4= ruleComment ) ( (lv_next_5_0= ruleFgmnt_LST_Elem ) )? )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:119:1: ( (this_While_0= ruleWhile | this_Var_Def_1= ruleVar_Def | this_Fn_Call_2= ruleFn_Call | this_Fn_Def_3= ruleFn_Def | this_Comment_4= ruleComment ) ( (lv_next_5_0= ruleFgmnt_LST_Elem ) )? )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:119:2: (this_While_0= ruleWhile | this_Var_Def_1= ruleVar_Def | this_Fn_Call_2= ruleFn_Call | this_Fn_Def_3= ruleFn_Def | this_Comment_4= ruleComment ) ( (lv_next_5_0= ruleFgmnt_LST_Elem ) )?
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:119:2: (this_While_0= ruleWhile | this_Var_Def_1= ruleVar_Def | this_Fn_Call_2= ruleFn_Call | this_Fn_Def_3= ruleFn_Def | this_Comment_4= ruleComment )
int alt1=5;
switch ( input.LA(1) ) {
case 11:
{
alt1=1;
}
break;
case RULE_ID:
{
int LA1_2 = input.LA(2);
if ( (LA1_2==12) ) {
alt1=3;
}
else if ( (LA1_2==16) ) {
alt1=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 1, 2, input);
throw nvae;
}
}
break;
case 18:
{
alt1=4;
}
break;
case 19:
{
alt1=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:120:5: this_While_0= ruleWhile
{
newCompositeNode(grammarAccess.getFgmnt_LST_ElemAccess().getWhileParserRuleCall_0_0());
pushFollow(FOLLOW_ruleWhile_in_ruleFgmnt_LST_Elem223);
this_While_0=ruleWhile();
state._fsp--;
current = this_While_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:130:5: this_Var_Def_1= ruleVar_Def
{
newCompositeNode(grammarAccess.getFgmnt_LST_ElemAccess().getVar_DefParserRuleCall_0_1());
pushFollow(FOLLOW_ruleVar_Def_in_ruleFgmnt_LST_Elem250);
this_Var_Def_1=ruleVar_Def();
state._fsp--;
current = this_Var_Def_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:140:5: this_Fn_Call_2= ruleFn_Call
{
newCompositeNode(grammarAccess.getFgmnt_LST_ElemAccess().getFn_CallParserRuleCall_0_2());
pushFollow(FOLLOW_ruleFn_Call_in_ruleFgmnt_LST_Elem277);
this_Fn_Call_2=ruleFn_Call();
state._fsp--;
current = this_Fn_Call_2;
afterParserOrEnumRuleCall();
}
break;
case 4 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:150:5: this_Fn_Def_3= ruleFn_Def
{
newCompositeNode(grammarAccess.getFgmnt_LST_ElemAccess().getFn_DefParserRuleCall_0_3());
pushFollow(FOLLOW_ruleFn_Def_in_ruleFgmnt_LST_Elem304);
this_Fn_Def_3=ruleFn_Def();
state._fsp--;
current = this_Fn_Def_3;
afterParserOrEnumRuleCall();
}
break;
case 5 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:160:5: this_Comment_4= ruleComment
{
newCompositeNode(grammarAccess.getFgmnt_LST_ElemAccess().getCommentParserRuleCall_0_4());
pushFollow(FOLLOW_ruleComment_in_ruleFgmnt_LST_Elem331);
this_Comment_4=ruleComment();
state._fsp--;
current = this_Comment_4;
afterParserOrEnumRuleCall();
}
break;
}
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:168:2: ( (lv_next_5_0= ruleFgmnt_LST_Elem ) )?
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==RULE_ID||LA2_0==11||(LA2_0>=18 && LA2_0<=19)) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:169:1: (lv_next_5_0= ruleFgmnt_LST_Elem )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:169:1: (lv_next_5_0= ruleFgmnt_LST_Elem )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:170:3: lv_next_5_0= ruleFgmnt_LST_Elem
{
newCompositeNode(grammarAccess.getFgmnt_LST_ElemAccess().getNextFgmnt_LST_ElemParserRuleCall_1_0());
pushFollow(FOLLOW_ruleFgmnt_LST_Elem_in_ruleFgmnt_LST_Elem352);
lv_next_5_0=ruleFgmnt_LST_Elem();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFgmnt_LST_ElemRule());
}
set(
current,
"next",
lv_next_5_0,
"Fgmnt_LST_Elem");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFgmnt_LST_Elem"
// $ANTLR start "entryRuleWhile"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:194:1: entryRuleWhile returns [EObject current=null] : iv_ruleWhile= ruleWhile EOF ;
public final EObject entryRuleWhile() throws RecognitionException {
EObject current = null;
EObject iv_ruleWhile = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:195:2: (iv_ruleWhile= ruleWhile EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:196:2: iv_ruleWhile= ruleWhile EOF
{
newCompositeNode(grammarAccess.getWhileRule());
pushFollow(FOLLOW_ruleWhile_in_entryRuleWhile389);
iv_ruleWhile=ruleWhile();
state._fsp--;
current =iv_ruleWhile;
match(input,EOF,FOLLOW_EOF_in_entryRuleWhile399);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleWhile"
// $ANTLR start "ruleWhile"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:203:1: ruleWhile returns [EObject current=null] : (otherlv_0= 'while' otherlv_1= '(' ( (lv_expr_2_0= ruleExpr ) ) otherlv_3= ')' otherlv_4= '{' ( (lv_fgmnt_5_0= ruleFgmnt_LST_Elem ) ) otherlv_6= '}' ) ;
public final EObject ruleWhile() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_expr_2_0 = null;
EObject lv_fgmnt_5_0 = null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:206:28: ( (otherlv_0= 'while' otherlv_1= '(' ( (lv_expr_2_0= ruleExpr ) ) otherlv_3= ')' otherlv_4= '{' ( (lv_fgmnt_5_0= ruleFgmnt_LST_Elem ) ) otherlv_6= '}' ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:207:1: (otherlv_0= 'while' otherlv_1= '(' ( (lv_expr_2_0= ruleExpr ) ) otherlv_3= ')' otherlv_4= '{' ( (lv_fgmnt_5_0= ruleFgmnt_LST_Elem ) ) otherlv_6= '}' )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:207:1: (otherlv_0= 'while' otherlv_1= '(' ( (lv_expr_2_0= ruleExpr ) ) otherlv_3= ')' otherlv_4= '{' ( (lv_fgmnt_5_0= ruleFgmnt_LST_Elem ) ) otherlv_6= '}' )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:207:3: otherlv_0= 'while' otherlv_1= '(' ( (lv_expr_2_0= ruleExpr ) ) otherlv_3= ')' otherlv_4= '{' ( (lv_fgmnt_5_0= ruleFgmnt_LST_Elem ) ) otherlv_6= '}'
{
otherlv_0=(Token)match(input,11,FOLLOW_11_in_ruleWhile436);
newLeafNode(otherlv_0, grammarAccess.getWhileAccess().getWhileKeyword_0());
otherlv_1=(Token)match(input,12,FOLLOW_12_in_ruleWhile448);
newLeafNode(otherlv_1, grammarAccess.getWhileAccess().getLeftParenthesisKeyword_1());
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:215:1: ( (lv_expr_2_0= ruleExpr ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:216:1: (lv_expr_2_0= ruleExpr )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:216:1: (lv_expr_2_0= ruleExpr )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:217:3: lv_expr_2_0= ruleExpr
{
newCompositeNode(grammarAccess.getWhileAccess().getExprExprParserRuleCall_2_0());
pushFollow(FOLLOW_ruleExpr_in_ruleWhile469);
lv_expr_2_0=ruleExpr();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getWhileRule());
}
set(
current,
"expr",
lv_expr_2_0,
"Expr");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleWhile481);
newLeafNode(otherlv_3, grammarAccess.getWhileAccess().getRightParenthesisKeyword_3());
otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleWhile493);
newLeafNode(otherlv_4, grammarAccess.getWhileAccess().getLeftCurlyBracketKeyword_4());
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:241:1: ( (lv_fgmnt_5_0= ruleFgmnt_LST_Elem ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:242:1: (lv_fgmnt_5_0= ruleFgmnt_LST_Elem )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:242:1: (lv_fgmnt_5_0= ruleFgmnt_LST_Elem )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:243:3: lv_fgmnt_5_0= ruleFgmnt_LST_Elem
{
newCompositeNode(grammarAccess.getWhileAccess().getFgmntFgmnt_LST_ElemParserRuleCall_5_0());
pushFollow(FOLLOW_ruleFgmnt_LST_Elem_in_ruleWhile514);
lv_fgmnt_5_0=ruleFgmnt_LST_Elem();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getWhileRule());
}
set(
current,
"fgmnt",
lv_fgmnt_5_0,
"Fgmnt_LST_Elem");
afterParserOrEnumRuleCall();
}
}
otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleWhile526);
newLeafNode(otherlv_6, grammarAccess.getWhileAccess().getRightCurlyBracketKeyword_6());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleWhile"
// $ANTLR start "entryRuleVar_Def"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:271:1: entryRuleVar_Def returns [EObject current=null] : iv_ruleVar_Def= ruleVar_Def EOF ;
public final EObject entryRuleVar_Def() throws RecognitionException {
EObject current = null;
EObject iv_ruleVar_Def = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:272:2: (iv_ruleVar_Def= ruleVar_Def EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:273:2: iv_ruleVar_Def= ruleVar_Def EOF
{
newCompositeNode(grammarAccess.getVar_DefRule());
pushFollow(FOLLOW_ruleVar_Def_in_entryRuleVar_Def562);
iv_ruleVar_Def=ruleVar_Def();
state._fsp--;
current =iv_ruleVar_Def;
match(input,EOF,FOLLOW_EOF_in_entryRuleVar_Def572);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleVar_Def"
// $ANTLR start "ruleVar_Def"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:280:1: ruleVar_Def returns [EObject current=null] : ( ( (lv_left_0_0= ruleVar ) ) otherlv_1= '=' ( (lv_right_2_0= ruleExpr ) ) otherlv_3= ';' ) ;
public final EObject ruleVar_Def() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_left_0_0 = null;
EObject lv_right_2_0 = null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:283:28: ( ( ( (lv_left_0_0= ruleVar ) ) otherlv_1= '=' ( (lv_right_2_0= ruleExpr ) ) otherlv_3= ';' ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:284:1: ( ( (lv_left_0_0= ruleVar ) ) otherlv_1= '=' ( (lv_right_2_0= ruleExpr ) ) otherlv_3= ';' )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:284:1: ( ( (lv_left_0_0= ruleVar ) ) otherlv_1= '=' ( (lv_right_2_0= ruleExpr ) ) otherlv_3= ';' )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:284:2: ( (lv_left_0_0= ruleVar ) ) otherlv_1= '=' ( (lv_right_2_0= ruleExpr ) ) otherlv_3= ';'
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:284:2: ( (lv_left_0_0= ruleVar ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:285:1: (lv_left_0_0= ruleVar )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:285:1: (lv_left_0_0= ruleVar )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:286:3: lv_left_0_0= ruleVar
{
newCompositeNode(grammarAccess.getVar_DefAccess().getLeftVarParserRuleCall_0_0());
pushFollow(FOLLOW_ruleVar_in_ruleVar_Def618);
lv_left_0_0=ruleVar();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getVar_DefRule());
}
set(
current,
"left",
lv_left_0_0,
"Var");
afterParserOrEnumRuleCall();
}
}
otherlv_1=(Token)match(input,16,FOLLOW_16_in_ruleVar_Def630);
newLeafNode(otherlv_1, grammarAccess.getVar_DefAccess().getEqualsSignKeyword_1());
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:306:1: ( (lv_right_2_0= ruleExpr ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:307:1: (lv_right_2_0= ruleExpr )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:307:1: (lv_right_2_0= ruleExpr )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:308:3: lv_right_2_0= ruleExpr
{
newCompositeNode(grammarAccess.getVar_DefAccess().getRightExprParserRuleCall_2_0());
pushFollow(FOLLOW_ruleExpr_in_ruleVar_Def651);
lv_right_2_0=ruleExpr();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getVar_DefRule());
}
set(
current,
"right",
lv_right_2_0,
"Expr");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,17,FOLLOW_17_in_ruleVar_Def663);
newLeafNode(otherlv_3, grammarAccess.getVar_DefAccess().getSemicolonKeyword_3());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleVar_Def"
// $ANTLR start "entryRuleFn_Call"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:336:1: entryRuleFn_Call returns [EObject current=null] : iv_ruleFn_Call= ruleFn_Call EOF ;
public final EObject entryRuleFn_Call() throws RecognitionException {
EObject current = null;
EObject iv_ruleFn_Call = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:337:2: (iv_ruleFn_Call= ruleFn_Call EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:338:2: iv_ruleFn_Call= ruleFn_Call EOF
{
newCompositeNode(grammarAccess.getFn_CallRule());
pushFollow(FOLLOW_ruleFn_Call_in_entryRuleFn_Call699);
iv_ruleFn_Call=ruleFn_Call();
state._fsp--;
current =iv_ruleFn_Call;
match(input,EOF,FOLLOW_EOF_in_entryRuleFn_Call709);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFn_Call"
// $ANTLR start "ruleFn_Call"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:345:1: ruleFn_Call returns [EObject current=null] : ( ( (lv_nameF_0_0= RULE_ID ) ) otherlv_1= '(' otherlv_2= ')' otherlv_3= ';' ) ;
public final EObject ruleFn_Call() throws RecognitionException {
EObject current = null;
Token lv_nameF_0_0=null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_3=null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:348:28: ( ( ( (lv_nameF_0_0= RULE_ID ) ) otherlv_1= '(' otherlv_2= ')' otherlv_3= ';' ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:349:1: ( ( (lv_nameF_0_0= RULE_ID ) ) otherlv_1= '(' otherlv_2= ')' otherlv_3= ';' )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:349:1: ( ( (lv_nameF_0_0= RULE_ID ) ) otherlv_1= '(' otherlv_2= ')' otherlv_3= ';' )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:349:2: ( (lv_nameF_0_0= RULE_ID ) ) otherlv_1= '(' otherlv_2= ')' otherlv_3= ';'
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:349:2: ( (lv_nameF_0_0= RULE_ID ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:350:1: (lv_nameF_0_0= RULE_ID )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:350:1: (lv_nameF_0_0= RULE_ID )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:351:3: lv_nameF_0_0= RULE_ID
{
lv_nameF_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFn_Call751);
newLeafNode(lv_nameF_0_0, grammarAccess.getFn_CallAccess().getNameFIDTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getFn_CallRule());
}
setWithLastConsumed(
current,
"nameF",
lv_nameF_0_0,
"ID");
}
}
otherlv_1=(Token)match(input,12,FOLLOW_12_in_ruleFn_Call768);
newLeafNode(otherlv_1, grammarAccess.getFn_CallAccess().getLeftParenthesisKeyword_1());
otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleFn_Call780);
newLeafNode(otherlv_2, grammarAccess.getFn_CallAccess().getRightParenthesisKeyword_2());
otherlv_3=(Token)match(input,17,FOLLOW_17_in_ruleFn_Call792);
newLeafNode(otherlv_3, grammarAccess.getFn_CallAccess().getSemicolonKeyword_3());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFn_Call"
// $ANTLR start "entryRuleFn_Def"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:387:1: entryRuleFn_Def returns [EObject current=null] : iv_ruleFn_Def= ruleFn_Def EOF ;
public final EObject entryRuleFn_Def() throws RecognitionException {
EObject current = null;
EObject iv_ruleFn_Def = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:388:2: (iv_ruleFn_Def= ruleFn_Def EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:389:2: iv_ruleFn_Def= ruleFn_Def EOF
{
newCompositeNode(grammarAccess.getFn_DefRule());
pushFollow(FOLLOW_ruleFn_Def_in_entryRuleFn_Def828);
iv_ruleFn_Def=ruleFn_Def();
state._fsp--;
current =iv_ruleFn_Def;
match(input,EOF,FOLLOW_EOF_in_entryRuleFn_Def838);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFn_Def"
// $ANTLR start "ruleFn_Def"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:396:1: ruleFn_Def returns [EObject current=null] : (otherlv_0= 'def' ( (lv_nameF_1_0= RULE_ID ) ) otherlv_2= '(' otherlv_3= ')' otherlv_4= '{' ( (lv_body_5_0= ruleFgmnt_LST_Elem ) ) otherlv_6= '}' otherlv_7= ';' ) ;
public final EObject ruleFn_Def() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_nameF_1_0=null;
Token otherlv_2=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_7=null;
EObject lv_body_5_0 = null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:399:28: ( (otherlv_0= 'def' ( (lv_nameF_1_0= RULE_ID ) ) otherlv_2= '(' otherlv_3= ')' otherlv_4= '{' ( (lv_body_5_0= ruleFgmnt_LST_Elem ) ) otherlv_6= '}' otherlv_7= ';' ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:400:1: (otherlv_0= 'def' ( (lv_nameF_1_0= RULE_ID ) ) otherlv_2= '(' otherlv_3= ')' otherlv_4= '{' ( (lv_body_5_0= ruleFgmnt_LST_Elem ) ) otherlv_6= '}' otherlv_7= ';' )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:400:1: (otherlv_0= 'def' ( (lv_nameF_1_0= RULE_ID ) ) otherlv_2= '(' otherlv_3= ')' otherlv_4= '{' ( (lv_body_5_0= ruleFgmnt_LST_Elem ) ) otherlv_6= '}' otherlv_7= ';' )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:400:3: otherlv_0= 'def' ( (lv_nameF_1_0= RULE_ID ) ) otherlv_2= '(' otherlv_3= ')' otherlv_4= '{' ( (lv_body_5_0= ruleFgmnt_LST_Elem ) ) otherlv_6= '}' otherlv_7= ';'
{
otherlv_0=(Token)match(input,18,FOLLOW_18_in_ruleFn_Def875);
newLeafNode(otherlv_0, grammarAccess.getFn_DefAccess().getDefKeyword_0());
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:404:1: ( (lv_nameF_1_0= RULE_ID ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:405:1: (lv_nameF_1_0= RULE_ID )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:405:1: (lv_nameF_1_0= RULE_ID )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:406:3: lv_nameF_1_0= RULE_ID
{
lv_nameF_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFn_Def892);
newLeafNode(lv_nameF_1_0, grammarAccess.getFn_DefAccess().getNameFIDTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getFn_DefRule());
}
setWithLastConsumed(
current,
"nameF",
lv_nameF_1_0,
"ID");
}
}
otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleFn_Def909);
newLeafNode(otherlv_2, grammarAccess.getFn_DefAccess().getLeftParenthesisKeyword_2());
otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleFn_Def921);
newLeafNode(otherlv_3, grammarAccess.getFn_DefAccess().getRightParenthesisKeyword_3());
otherlv_4=(Token)match(input,14,FOLLOW_14_in_ruleFn_Def933);
newLeafNode(otherlv_4, grammarAccess.getFn_DefAccess().getLeftCurlyBracketKeyword_4());
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:434:1: ( (lv_body_5_0= ruleFgmnt_LST_Elem ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:435:1: (lv_body_5_0= ruleFgmnt_LST_Elem )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:435:1: (lv_body_5_0= ruleFgmnt_LST_Elem )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:436:3: lv_body_5_0= ruleFgmnt_LST_Elem
{
newCompositeNode(grammarAccess.getFn_DefAccess().getBodyFgmnt_LST_ElemParserRuleCall_5_0());
pushFollow(FOLLOW_ruleFgmnt_LST_Elem_in_ruleFn_Def954);
lv_body_5_0=ruleFgmnt_LST_Elem();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFn_DefRule());
}
set(
current,
"body",
lv_body_5_0,
"Fgmnt_LST_Elem");
afterParserOrEnumRuleCall();
}
}
otherlv_6=(Token)match(input,15,FOLLOW_15_in_ruleFn_Def966);
newLeafNode(otherlv_6, grammarAccess.getFn_DefAccess().getRightCurlyBracketKeyword_6());
otherlv_7=(Token)match(input,17,FOLLOW_17_in_ruleFn_Def978);
newLeafNode(otherlv_7, grammarAccess.getFn_DefAccess().getSemicolonKeyword_7());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFn_Def"
// $ANTLR start "entryRuleComment"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:468:1: entryRuleComment returns [EObject current=null] : iv_ruleComment= ruleComment EOF ;
public final EObject entryRuleComment() throws RecognitionException {
EObject current = null;
EObject iv_ruleComment = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:469:2: (iv_ruleComment= ruleComment EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:470:2: iv_ruleComment= ruleComment EOF
{
newCompositeNode(grammarAccess.getCommentRule());
pushFollow(FOLLOW_ruleComment_in_entryRuleComment1014);
iv_ruleComment=ruleComment();
state._fsp--;
current =iv_ruleComment;
match(input,EOF,FOLLOW_EOF_in_entryRuleComment1024);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleComment"
// $ANTLR start "ruleComment"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:477:1: ruleComment returns [EObject current=null] : (otherlv_0= '/#' ( (lv_comment_1_0= RULE_STRING ) ) otherlv_2= '#/' ) ;
public final EObject ruleComment() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_comment_1_0=null;
Token otherlv_2=null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:480:28: ( (otherlv_0= '/#' ( (lv_comment_1_0= RULE_STRING ) ) otherlv_2= '#/' ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:481:1: (otherlv_0= '/#' ( (lv_comment_1_0= RULE_STRING ) ) otherlv_2= '#/' )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:481:1: (otherlv_0= '/#' ( (lv_comment_1_0= RULE_STRING ) ) otherlv_2= '#/' )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:481:3: otherlv_0= '/#' ( (lv_comment_1_0= RULE_STRING ) ) otherlv_2= '#/'
{
otherlv_0=(Token)match(input,19,FOLLOW_19_in_ruleComment1061);
newLeafNode(otherlv_0, grammarAccess.getCommentAccess().getSolidusNumberSignKeyword_0());
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:485:1: ( (lv_comment_1_0= RULE_STRING ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:486:1: (lv_comment_1_0= RULE_STRING )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:486:1: (lv_comment_1_0= RULE_STRING )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:487:3: lv_comment_1_0= RULE_STRING
{
lv_comment_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleComment1078);
newLeafNode(lv_comment_1_0, grammarAccess.getCommentAccess().getCommentSTRINGTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getCommentRule());
}
setWithLastConsumed(
current,
"comment",
lv_comment_1_0,
"STRING");
}
}
otherlv_2=(Token)match(input,20,FOLLOW_20_in_ruleComment1095);
newLeafNode(otherlv_2, grammarAccess.getCommentAccess().getNumberSignSolidusKeyword_2());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleComment"
// $ANTLR start "entryRuleExpr"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:515:1: entryRuleExpr returns [EObject current=null] : iv_ruleExpr= ruleExpr EOF ;
public final EObject entryRuleExpr() throws RecognitionException {
EObject current = null;
EObject iv_ruleExpr = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:516:2: (iv_ruleExpr= ruleExpr EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:517:2: iv_ruleExpr= ruleExpr EOF
{
newCompositeNode(grammarAccess.getExprRule());
pushFollow(FOLLOW_ruleExpr_in_entryRuleExpr1131);
iv_ruleExpr=ruleExpr();
state._fsp--;
current =iv_ruleExpr;
match(input,EOF,FOLLOW_EOF_in_entryRuleExpr1141);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExpr"
// $ANTLR start "ruleExpr"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:524:1: ruleExpr returns [EObject current=null] : ( (lv_type_0_0= ruleExpr_T ) ) ;
public final EObject ruleExpr() throws RecognitionException {
EObject current = null;
EObject lv_type_0_0 = null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:527:28: ( ( (lv_type_0_0= ruleExpr_T ) ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:528:1: ( (lv_type_0_0= ruleExpr_T ) )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:528:1: ( (lv_type_0_0= ruleExpr_T ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:529:1: (lv_type_0_0= ruleExpr_T )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:529:1: (lv_type_0_0= ruleExpr_T )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:530:3: lv_type_0_0= ruleExpr_T
{
newCompositeNode(grammarAccess.getExprAccess().getTypeExpr_TParserRuleCall_0());
pushFollow(FOLLOW_ruleExpr_T_in_ruleExpr1186);
lv_type_0_0=ruleExpr_T();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExprRule());
}
set(
current,
"type",
lv_type_0_0,
"Expr_T");
afterParserOrEnumRuleCall();
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExpr"
// $ANTLR start "entryRuleExpr_T"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:554:1: entryRuleExpr_T returns [EObject current=null] : iv_ruleExpr_T= ruleExpr_T EOF ;
public final EObject entryRuleExpr_T() throws RecognitionException {
EObject current = null;
EObject iv_ruleExpr_T = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:555:2: (iv_ruleExpr_T= ruleExpr_T EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:556:2: iv_ruleExpr_T= ruleExpr_T EOF
{
newCompositeNode(grammarAccess.getExpr_TRule());
pushFollow(FOLLOW_ruleExpr_T_in_entryRuleExpr_T1221);
iv_ruleExpr_T=ruleExpr_T();
state._fsp--;
current =iv_ruleExpr_T;
match(input,EOF,FOLLOW_EOF_in_entryRuleExpr_T1231);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExpr_T"
// $ANTLR start "ruleExpr_T"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:563:1: ruleExpr_T returns [EObject current=null] : (this_Unary_0= ruleUnary | this_Binary_1= ruleBinary ) ;
public final EObject ruleExpr_T() throws RecognitionException {
EObject current = null;
EObject this_Unary_0 = null;
EObject this_Binary_1 = null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:566:28: ( (this_Unary_0= ruleUnary | this_Binary_1= ruleBinary ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:567:1: (this_Unary_0= ruleUnary | this_Binary_1= ruleBinary )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:567:1: (this_Unary_0= ruleUnary | this_Binary_1= ruleBinary )
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==RULE_ID||(LA3_0>=24 && LA3_0<=25)) ) {
alt3=1;
}
else if ( (LA3_0==12) ) {
alt3=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 3, 0, input);
throw nvae;
}
switch (alt3) {
case 1 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:568:5: this_Unary_0= ruleUnary
{
newCompositeNode(grammarAccess.getExpr_TAccess().getUnaryParserRuleCall_0());
pushFollow(FOLLOW_ruleUnary_in_ruleExpr_T1278);
this_Unary_0=ruleUnary();
state._fsp--;
current = this_Unary_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:578:5: this_Binary_1= ruleBinary
{
newCompositeNode(grammarAccess.getExpr_TAccess().getBinaryParserRuleCall_1());
pushFollow(FOLLOW_ruleBinary_in_ruleExpr_T1305);
this_Binary_1=ruleBinary();
state._fsp--;
current = this_Binary_1;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExpr_T"
// $ANTLR start "entryRuleUnary"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:594:1: entryRuleUnary returns [EObject current=null] : iv_ruleUnary= ruleUnary EOF ;
public final EObject entryRuleUnary() throws RecognitionException {
EObject current = null;
EObject iv_ruleUnary = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:595:2: (iv_ruleUnary= ruleUnary EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:596:2: iv_ruleUnary= ruleUnary EOF
{
newCompositeNode(grammarAccess.getUnaryRule());
pushFollow(FOLLOW_ruleUnary_in_entryRuleUnary1340);
iv_ruleUnary=ruleUnary();
state._fsp--;
current =iv_ruleUnary;
match(input,EOF,FOLLOW_EOF_in_entryRuleUnary1350);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnary"
// $ANTLR start "ruleUnary"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:603:1: ruleUnary returns [EObject current=null] : (this_Neg_0= ruleNeg | this_Var_1= ruleVar | this_Input_2= ruleInput ) ;
public final EObject ruleUnary() throws RecognitionException {
EObject current = null;
EObject this_Neg_0 = null;
EObject this_Var_1 = null;
EObject this_Input_2 = null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:606:28: ( (this_Neg_0= ruleNeg | this_Var_1= ruleVar | this_Input_2= ruleInput ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:607:1: (this_Neg_0= ruleNeg | this_Var_1= ruleVar | this_Input_2= ruleInput )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:607:1: (this_Neg_0= ruleNeg | this_Var_1= ruleVar | this_Input_2= ruleInput )
int alt4=3;
switch ( input.LA(1) ) {
case 24:
{
alt4=1;
}
break;
case RULE_ID:
{
alt4=2;
}
break;
case 25:
{
alt4=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 4, 0, input);
throw nvae;
}
switch (alt4) {
case 1 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:608:5: this_Neg_0= ruleNeg
{
newCompositeNode(grammarAccess.getUnaryAccess().getNegParserRuleCall_0());
pushFollow(FOLLOW_ruleNeg_in_ruleUnary1397);
this_Neg_0=ruleNeg();
state._fsp--;
current = this_Neg_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:618:5: this_Var_1= ruleVar
{
newCompositeNode(grammarAccess.getUnaryAccess().getVarParserRuleCall_1());
pushFollow(FOLLOW_ruleVar_in_ruleUnary1424);
this_Var_1=ruleVar();
state._fsp--;
current = this_Var_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:628:5: this_Input_2= ruleInput
{
newCompositeNode(grammarAccess.getUnaryAccess().getInputParserRuleCall_2());
pushFollow(FOLLOW_ruleInput_in_ruleUnary1451);
this_Input_2=ruleInput();
state._fsp--;
current = this_Input_2;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUnary"
// $ANTLR start "entryRuleBinary"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:644:1: entryRuleBinary returns [EObject current=null] : iv_ruleBinary= ruleBinary EOF ;
public final EObject entryRuleBinary() throws RecognitionException {
EObject current = null;
EObject iv_ruleBinary = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:645:2: (iv_ruleBinary= ruleBinary EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:646:2: iv_ruleBinary= ruleBinary EOF
{
newCompositeNode(grammarAccess.getBinaryRule());
pushFollow(FOLLOW_ruleBinary_in_entryRuleBinary1486);
iv_ruleBinary=ruleBinary();
state._fsp--;
current =iv_ruleBinary;
match(input,EOF,FOLLOW_EOF_in_entryRuleBinary1496);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBinary"
// $ANTLR start "ruleBinary"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:653:1: ruleBinary returns [EObject current=null] : (otherlv_0= '(' ( (lv_fst_1_0= ruleExpr ) ) ( ( (lv_operator_2_1= '&&' | lv_operator_2_2= '||' | lv_operator_2_3= '==' ) ) ) ( (lv_snd_3_0= ruleExpr ) ) otherlv_4= ')' ) ;
public final EObject ruleBinary() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_operator_2_1=null;
Token lv_operator_2_2=null;
Token lv_operator_2_3=null;
Token otherlv_4=null;
EObject lv_fst_1_0 = null;
EObject lv_snd_3_0 = null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:656:28: ( (otherlv_0= '(' ( (lv_fst_1_0= ruleExpr ) ) ( ( (lv_operator_2_1= '&&' | lv_operator_2_2= '||' | lv_operator_2_3= '==' ) ) ) ( (lv_snd_3_0= ruleExpr ) ) otherlv_4= ')' ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:657:1: (otherlv_0= '(' ( (lv_fst_1_0= ruleExpr ) ) ( ( (lv_operator_2_1= '&&' | lv_operator_2_2= '||' | lv_operator_2_3= '==' ) ) ) ( (lv_snd_3_0= ruleExpr ) ) otherlv_4= ')' )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:657:1: (otherlv_0= '(' ( (lv_fst_1_0= ruleExpr ) ) ( ( (lv_operator_2_1= '&&' | lv_operator_2_2= '||' | lv_operator_2_3= '==' ) ) ) ( (lv_snd_3_0= ruleExpr ) ) otherlv_4= ')' )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:657:3: otherlv_0= '(' ( (lv_fst_1_0= ruleExpr ) ) ( ( (lv_operator_2_1= '&&' | lv_operator_2_2= '||' | lv_operator_2_3= '==' ) ) ) ( (lv_snd_3_0= ruleExpr ) ) otherlv_4= ')'
{
otherlv_0=(Token)match(input,12,FOLLOW_12_in_ruleBinary1533);
newLeafNode(otherlv_0, grammarAccess.getBinaryAccess().getLeftParenthesisKeyword_0());
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:661:1: ( (lv_fst_1_0= ruleExpr ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:662:1: (lv_fst_1_0= ruleExpr )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:662:1: (lv_fst_1_0= ruleExpr )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:663:3: lv_fst_1_0= ruleExpr
{
newCompositeNode(grammarAccess.getBinaryAccess().getFstExprParserRuleCall_1_0());
pushFollow(FOLLOW_ruleExpr_in_ruleBinary1554);
lv_fst_1_0=ruleExpr();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBinaryRule());
}
set(
current,
"fst",
lv_fst_1_0,
"Expr");
afterParserOrEnumRuleCall();
}
}
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:679:2: ( ( (lv_operator_2_1= '&&' | lv_operator_2_2= '||' | lv_operator_2_3= '==' ) ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:680:1: ( (lv_operator_2_1= '&&' | lv_operator_2_2= '||' | lv_operator_2_3= '==' ) )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:680:1: ( (lv_operator_2_1= '&&' | lv_operator_2_2= '||' | lv_operator_2_3= '==' ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:681:1: (lv_operator_2_1= '&&' | lv_operator_2_2= '||' | lv_operator_2_3= '==' )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:681:1: (lv_operator_2_1= '&&' | lv_operator_2_2= '||' | lv_operator_2_3= '==' )
int alt5=3;
switch ( input.LA(1) ) {
case 21:
{
alt5=1;
}
break;
case 22:
{
alt5=2;
}
break;
case 23:
{
alt5=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:682:3: lv_operator_2_1= '&&'
{
lv_operator_2_1=(Token)match(input,21,FOLLOW_21_in_ruleBinary1574);
newLeafNode(lv_operator_2_1, grammarAccess.getBinaryAccess().getOperatorAmpersandAmpersandKeyword_2_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getBinaryRule());
}
setWithLastConsumed(current, "operator", lv_operator_2_1, null);
}
break;
case 2 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:694:8: lv_operator_2_2= '||'
{
lv_operator_2_2=(Token)match(input,22,FOLLOW_22_in_ruleBinary1603);
newLeafNode(lv_operator_2_2, grammarAccess.getBinaryAccess().getOperatorVerticalLineVerticalLineKeyword_2_0_1());
if (current==null) {
current = createModelElement(grammarAccess.getBinaryRule());
}
setWithLastConsumed(current, "operator", lv_operator_2_2, null);
}
break;
case 3 :
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:706:8: lv_operator_2_3= '=='
{
lv_operator_2_3=(Token)match(input,23,FOLLOW_23_in_ruleBinary1632);
newLeafNode(lv_operator_2_3, grammarAccess.getBinaryAccess().getOperatorEqualsSignEqualsSignKeyword_2_0_2());
if (current==null) {
current = createModelElement(grammarAccess.getBinaryRule());
}
setWithLastConsumed(current, "operator", lv_operator_2_3, null);
}
break;
}
}
}
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:721:2: ( (lv_snd_3_0= ruleExpr ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:722:1: (lv_snd_3_0= ruleExpr )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:722:1: (lv_snd_3_0= ruleExpr )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:723:3: lv_snd_3_0= ruleExpr
{
newCompositeNode(grammarAccess.getBinaryAccess().getSndExprParserRuleCall_3_0());
pushFollow(FOLLOW_ruleExpr_in_ruleBinary1669);
lv_snd_3_0=ruleExpr();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBinaryRule());
}
set(
current,
"snd",
lv_snd_3_0,
"Expr");
afterParserOrEnumRuleCall();
}
}
otherlv_4=(Token)match(input,13,FOLLOW_13_in_ruleBinary1681);
newLeafNode(otherlv_4, grammarAccess.getBinaryAccess().getRightParenthesisKeyword_4());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBinary"
// $ANTLR start "entryRuleNeg"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:751:1: entryRuleNeg returns [EObject current=null] : iv_ruleNeg= ruleNeg EOF ;
public final EObject entryRuleNeg() throws RecognitionException {
EObject current = null;
EObject iv_ruleNeg = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:752:2: (iv_ruleNeg= ruleNeg EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:753:2: iv_ruleNeg= ruleNeg EOF
{
newCompositeNode(grammarAccess.getNegRule());
pushFollow(FOLLOW_ruleNeg_in_entryRuleNeg1717);
iv_ruleNeg=ruleNeg();
state._fsp--;
current =iv_ruleNeg;
match(input,EOF,FOLLOW_EOF_in_entryRuleNeg1727);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNeg"
// $ANTLR start "ruleNeg"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:760:1: ruleNeg returns [EObject current=null] : (otherlv_0= '!' ( (lv_expr_1_0= ruleExpr ) ) ) ;
public final EObject ruleNeg() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_expr_1_0 = null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:763:28: ( (otherlv_0= '!' ( (lv_expr_1_0= ruleExpr ) ) ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:764:1: (otherlv_0= '!' ( (lv_expr_1_0= ruleExpr ) ) )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:764:1: (otherlv_0= '!' ( (lv_expr_1_0= ruleExpr ) ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:764:3: otherlv_0= '!' ( (lv_expr_1_0= ruleExpr ) )
{
otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleNeg1764);
newLeafNode(otherlv_0, grammarAccess.getNegAccess().getExclamationMarkKeyword_0());
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:768:1: ( (lv_expr_1_0= ruleExpr ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:769:1: (lv_expr_1_0= ruleExpr )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:769:1: (lv_expr_1_0= ruleExpr )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:770:3: lv_expr_1_0= ruleExpr
{
newCompositeNode(grammarAccess.getNegAccess().getExprExprParserRuleCall_1_0());
pushFollow(FOLLOW_ruleExpr_in_ruleNeg1785);
lv_expr_1_0=ruleExpr();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getNegRule());
}
set(
current,
"expr",
lv_expr_1_0,
"Expr");
afterParserOrEnumRuleCall();
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNeg"
// $ANTLR start "entryRuleVar"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:794:1: entryRuleVar returns [EObject current=null] : iv_ruleVar= ruleVar EOF ;
public final EObject entryRuleVar() throws RecognitionException {
EObject current = null;
EObject iv_ruleVar = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:795:2: (iv_ruleVar= ruleVar EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:796:2: iv_ruleVar= ruleVar EOF
{
newCompositeNode(grammarAccess.getVarRule());
pushFollow(FOLLOW_ruleVar_in_entryRuleVar1821);
iv_ruleVar=ruleVar();
state._fsp--;
current =iv_ruleVar;
match(input,EOF,FOLLOW_EOF_in_entryRuleVar1831);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleVar"
// $ANTLR start "ruleVar"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:803:1: ruleVar returns [EObject current=null] : ( (lv_label_0_0= RULE_ID ) ) ;
public final EObject ruleVar() throws RecognitionException {
EObject current = null;
Token lv_label_0_0=null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:806:28: ( ( (lv_label_0_0= RULE_ID ) ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:807:1: ( (lv_label_0_0= RULE_ID ) )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:807:1: ( (lv_label_0_0= RULE_ID ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:808:1: (lv_label_0_0= RULE_ID )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:808:1: (lv_label_0_0= RULE_ID )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:809:3: lv_label_0_0= RULE_ID
{
lv_label_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleVar1872);
newLeafNode(lv_label_0_0, grammarAccess.getVarAccess().getLabelIDTerminalRuleCall_0());
if (current==null) {
current = createModelElement(grammarAccess.getVarRule());
}
setWithLastConsumed(
current,
"label",
lv_label_0_0,
"ID");
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleVar"
// $ANTLR start "entryRuleInput"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:833:1: entryRuleInput returns [EObject current=null] : iv_ruleInput= ruleInput EOF ;
public final EObject entryRuleInput() throws RecognitionException {
EObject current = null;
EObject iv_ruleInput = null;
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:834:2: (iv_ruleInput= ruleInput EOF )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:835:2: iv_ruleInput= ruleInput EOF
{
newCompositeNode(grammarAccess.getInputRule());
pushFollow(FOLLOW_ruleInput_in_entryRuleInput1912);
iv_ruleInput=ruleInput();
state._fsp--;
current =iv_ruleInput;
match(input,EOF,FOLLOW_EOF_in_entryRuleInput1922);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInput"
// $ANTLR start "ruleInput"
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:842:1: ruleInput returns [EObject current=null] : ( () otherlv_1= 'input' otherlv_2= '(' otherlv_3= ')' ) ;
public final EObject ruleInput() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_3=null;
enterRule();
try {
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:845:28: ( ( () otherlv_1= 'input' otherlv_2= '(' otherlv_3= ')' ) )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:846:1: ( () otherlv_1= 'input' otherlv_2= '(' otherlv_3= ')' )
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:846:1: ( () otherlv_1= 'input' otherlv_2= '(' otherlv_3= ')' )
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:846:2: () otherlv_1= 'input' otherlv_2= '(' otherlv_3= ')'
{
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:846:2: ()
// ../lu.uni.snt.whileDSL/src-gen/lu/uni/snt/whileDSL/parser/antlr/internal/InternalWHILE.g:847:5:
{
current = forceCreateModelElement(
grammarAccess.getInputAccess().getInputAction_0(),
current);
}
otherlv_1=(Token)match(input,25,FOLLOW_25_in_ruleInput1968);
newLeafNode(otherlv_1, grammarAccess.getInputAccess().getInputKeyword_1());
otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleInput1980);
newLeafNode(otherlv_2, grammarAccess.getInputAccess().getLeftParenthesisKeyword_2());
otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleInput1992);
newLeafNode(otherlv_3, grammarAccess.getInputAccess().getRightParenthesisKeyword_3());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInput"
// Delegated rules
public static final BitSet FOLLOW_ruleWProgram_in_entryRuleWProgram75 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleWProgram85 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFgmnt_LST_Elem_in_ruleWProgram130 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFgmnt_LST_Elem_in_entryRuleFgmnt_LST_Elem165 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleFgmnt_LST_Elem175 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleWhile_in_ruleFgmnt_LST_Elem223 = new BitSet(new long[]{0x00000000000C0812L});
public static final BitSet FOLLOW_ruleVar_Def_in_ruleFgmnt_LST_Elem250 = new BitSet(new long[]{0x00000000000C0812L});
public static final BitSet FOLLOW_ruleFn_Call_in_ruleFgmnt_LST_Elem277 = new BitSet(new long[]{0x00000000000C0812L});
public static final BitSet FOLLOW_ruleFn_Def_in_ruleFgmnt_LST_Elem304 = new BitSet(new long[]{0x00000000000C0812L});
public static final BitSet FOLLOW_ruleComment_in_ruleFgmnt_LST_Elem331 = new BitSet(new long[]{0x00000000000C0812L});
public static final BitSet FOLLOW_ruleFgmnt_LST_Elem_in_ruleFgmnt_LST_Elem352 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleWhile_in_entryRuleWhile389 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleWhile399 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_11_in_ruleWhile436 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleWhile448 = new BitSet(new long[]{0x0000000003001010L});
public static final BitSet FOLLOW_ruleExpr_in_ruleWhile469 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_13_in_ruleWhile481 = new BitSet(new long[]{0x0000000000004000L});
public static final BitSet FOLLOW_14_in_ruleWhile493 = new BitSet(new long[]{0x00000000000C0810L});
public static final BitSet FOLLOW_ruleFgmnt_LST_Elem_in_ruleWhile514 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleWhile526 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleVar_Def_in_entryRuleVar_Def562 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleVar_Def572 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleVar_in_ruleVar_Def618 = new BitSet(new long[]{0x0000000000010000L});
public static final BitSet FOLLOW_16_in_ruleVar_Def630 = new BitSet(new long[]{0x0000000003001010L});
public static final BitSet FOLLOW_ruleExpr_in_ruleVar_Def651 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_17_in_ruleVar_Def663 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFn_Call_in_entryRuleFn_Call699 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleFn_Call709 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleFn_Call751 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleFn_Call768 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_13_in_ruleFn_Call780 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_17_in_ruleFn_Call792 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFn_Def_in_entryRuleFn_Def828 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleFn_Def838 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_18_in_ruleFn_Def875 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleFn_Def892 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleFn_Def909 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_13_in_ruleFn_Def921 = new BitSet(new long[]{0x0000000000004000L});
public static final BitSet FOLLOW_14_in_ruleFn_Def933 = new BitSet(new long[]{0x00000000000C0810L});
public static final BitSet FOLLOW_ruleFgmnt_LST_Elem_in_ruleFn_Def954 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleFn_Def966 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_17_in_ruleFn_Def978 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleComment_in_entryRuleComment1014 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleComment1024 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_19_in_ruleComment1061 = new BitSet(new long[]{0x0000000000000020L});
public static final BitSet FOLLOW_RULE_STRING_in_ruleComment1078 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_20_in_ruleComment1095 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpr_in_entryRuleExpr1131 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpr1141 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpr_T_in_ruleExpr1186 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpr_T_in_entryRuleExpr_T1221 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpr_T1231 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleUnary_in_ruleExpr_T1278 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBinary_in_ruleExpr_T1305 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleUnary_in_entryRuleUnary1340 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleUnary1350 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleNeg_in_ruleUnary1397 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleVar_in_ruleUnary1424 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleInput_in_ruleUnary1451 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBinary_in_entryRuleBinary1486 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBinary1496 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_12_in_ruleBinary1533 = new BitSet(new long[]{0x0000000003001010L});
public static final BitSet FOLLOW_ruleExpr_in_ruleBinary1554 = new BitSet(new long[]{0x0000000000E00000L});
public static final BitSet FOLLOW_21_in_ruleBinary1574 = new BitSet(new long[]{0x0000000003001010L});
public static final BitSet FOLLOW_22_in_ruleBinary1603 = new BitSet(new long[]{0x0000000003001010L});
public static final BitSet FOLLOW_23_in_ruleBinary1632 = new BitSet(new long[]{0x0000000003001010L});
public static final BitSet FOLLOW_ruleExpr_in_ruleBinary1669 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_13_in_ruleBinary1681 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleNeg_in_entryRuleNeg1717 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleNeg1727 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_24_in_ruleNeg1764 = new BitSet(new long[]{0x0000000003001010L});
public static final BitSet FOLLOW_ruleExpr_in_ruleNeg1785 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleVar_in_entryRuleVar1821 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleVar1831 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleVar1872 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleInput_in_entryRuleInput1912 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleInput1922 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_25_in_ruleInput1968 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleInput1980 = new BitSet(new long[]{0x0000000000002000L});
public static final BitSet FOLLOW_13_in_ruleInput1992 = new BitSet(new long[]{0x0000000000000002L});
}