package org.example.expressions.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 org.example.expressions.services.ExpressionsGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalExpressionsParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'='", "'||'", "'&&'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'*'", "'/'", "'('", "')'", "'!'", "'true'", "'false'"
};
public static final int RULE_ID=4;
public static final int T__28=28;
public static final int T__27=27;
public static final int T__26=26;
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=6;
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=5;
public static final int RULE_WS=9;
// delegates
// delegators
public InternalExpressionsParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalExpressionsParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalExpressionsParser.tokenNames; }
public String getGrammarFileName() { return "../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g"; }
private ExpressionsGrammarAccess grammarAccess;
public InternalExpressionsParser(TokenStream input, ExpressionsGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "ExpressionsModel";
}
@Override
protected ExpressionsGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleExpressionsModel"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:67:1: entryRuleExpressionsModel returns [EObject current=null] : iv_ruleExpressionsModel= ruleExpressionsModel EOF ;
public final EObject entryRuleExpressionsModel() throws RecognitionException {
EObject current = null;
EObject iv_ruleExpressionsModel = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:68:2: (iv_ruleExpressionsModel= ruleExpressionsModel EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:69:2: iv_ruleExpressionsModel= ruleExpressionsModel EOF
{
newCompositeNode(grammarAccess.getExpressionsModelRule());
pushFollow(FOLLOW_ruleExpressionsModel_in_entryRuleExpressionsModel75);
iv_ruleExpressionsModel=ruleExpressionsModel();
state._fsp--;
current =iv_ruleExpressionsModel;
match(input,EOF,FOLLOW_EOF_in_entryRuleExpressionsModel85);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExpressionsModel"
// $ANTLR start "ruleExpressionsModel"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:76:1: ruleExpressionsModel returns [EObject current=null] : ( (lv_elements_0_0= ruleAbstractElement ) )* ;
public final EObject ruleExpressionsModel() throws RecognitionException {
EObject current = null;
EObject lv_elements_0_0 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:79:28: ( ( (lv_elements_0_0= ruleAbstractElement ) )* )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:80:1: ( (lv_elements_0_0= ruleAbstractElement ) )*
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:80:1: ( (lv_elements_0_0= ruleAbstractElement ) )*
loop1:
do {
int alt1=2;
int LA1_0 = input.LA(1);
if ( ((LA1_0>=RULE_ID && LA1_0<=RULE_STRING)||LA1_0==24||(LA1_0>=26 && LA1_0<=28)) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:81:1: (lv_elements_0_0= ruleAbstractElement )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:81:1: (lv_elements_0_0= ruleAbstractElement )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:82:3: lv_elements_0_0= ruleAbstractElement
{
newCompositeNode(grammarAccess.getExpressionsModelAccess().getElementsAbstractElementParserRuleCall_0());
pushFollow(FOLLOW_ruleAbstractElement_in_ruleExpressionsModel130);
lv_elements_0_0=ruleAbstractElement();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpressionsModelRule());
}
add(
current,
"elements",
lv_elements_0_0,
"AbstractElement");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop1;
}
} while (true);
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExpressionsModel"
// $ANTLR start "entryRuleAbstractElement"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:106:1: entryRuleAbstractElement returns [EObject current=null] : iv_ruleAbstractElement= ruleAbstractElement EOF ;
public final EObject entryRuleAbstractElement() throws RecognitionException {
EObject current = null;
EObject iv_ruleAbstractElement = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:107:2: (iv_ruleAbstractElement= ruleAbstractElement EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:108:2: iv_ruleAbstractElement= ruleAbstractElement EOF
{
newCompositeNode(grammarAccess.getAbstractElementRule());
pushFollow(FOLLOW_ruleAbstractElement_in_entryRuleAbstractElement166);
iv_ruleAbstractElement=ruleAbstractElement();
state._fsp--;
current =iv_ruleAbstractElement;
match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractElement176);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAbstractElement"
// $ANTLR start "ruleAbstractElement"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:115:1: ruleAbstractElement returns [EObject current=null] : (this_Variable_0= ruleVariable | this_Expression_1= ruleExpression ) ;
public final EObject ruleAbstractElement() throws RecognitionException {
EObject current = null;
EObject this_Variable_0 = null;
EObject this_Expression_1 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:118:28: ( (this_Variable_0= ruleVariable | this_Expression_1= ruleExpression ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:119:1: (this_Variable_0= ruleVariable | this_Expression_1= ruleExpression )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:119:1: (this_Variable_0= ruleVariable | this_Expression_1= ruleExpression )
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==RULE_ID) ) {
int LA2_1 = input.LA(2);
if ( (LA2_1==11) ) {
alt2=1;
}
else if ( (LA2_1==EOF||(LA2_1>=RULE_ID && LA2_1<=RULE_STRING)||(LA2_1>=12 && LA2_1<=24)||(LA2_1>=26 && LA2_1<=28)) ) {
alt2=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 2, 1, input);
throw nvae;
}
}
else if ( ((LA2_0>=RULE_INT && LA2_0<=RULE_STRING)||LA2_0==24||(LA2_0>=26 && LA2_0<=28)) ) {
alt2=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 2, 0, input);
throw nvae;
}
switch (alt2) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:120:5: this_Variable_0= ruleVariable
{
newCompositeNode(grammarAccess.getAbstractElementAccess().getVariableParserRuleCall_0());
pushFollow(FOLLOW_ruleVariable_in_ruleAbstractElement223);
this_Variable_0=ruleVariable();
state._fsp--;
current = this_Variable_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:130:5: this_Expression_1= ruleExpression
{
newCompositeNode(grammarAccess.getAbstractElementAccess().getExpressionParserRuleCall_1());
pushFollow(FOLLOW_ruleExpression_in_ruleAbstractElement250);
this_Expression_1=ruleExpression();
state._fsp--;
current = this_Expression_1;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAbstractElement"
// $ANTLR start "entryRuleVariable"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:146:1: entryRuleVariable returns [EObject current=null] : iv_ruleVariable= ruleVariable EOF ;
public final EObject entryRuleVariable() throws RecognitionException {
EObject current = null;
EObject iv_ruleVariable = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:147:2: (iv_ruleVariable= ruleVariable EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:148:2: iv_ruleVariable= ruleVariable EOF
{
newCompositeNode(grammarAccess.getVariableRule());
pushFollow(FOLLOW_ruleVariable_in_entryRuleVariable285);
iv_ruleVariable=ruleVariable();
state._fsp--;
current =iv_ruleVariable;
match(input,EOF,FOLLOW_EOF_in_entryRuleVariable295);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleVariable"
// $ANTLR start "ruleVariable"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:155:1: ruleVariable returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_expression_2_0= ruleExpression ) ) ) ;
public final EObject ruleVariable() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
Token otherlv_1=null;
EObject lv_expression_2_0 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:158:28: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_expression_2_0= ruleExpression ) ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:159:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_expression_2_0= ruleExpression ) ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:159:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_expression_2_0= ruleExpression ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:159:2: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_expression_2_0= ruleExpression ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:159:2: ( (lv_name_0_0= RULE_ID ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:160:1: (lv_name_0_0= RULE_ID )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:160:1: (lv_name_0_0= RULE_ID )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:161:3: lv_name_0_0= RULE_ID
{
lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleVariable337);
newLeafNode(lv_name_0_0, grammarAccess.getVariableAccess().getNameIDTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getVariableRule());
}
setWithLastConsumed(
current,
"name",
lv_name_0_0,
"ID");
}
}
otherlv_1=(Token)match(input,11,FOLLOW_11_in_ruleVariable354);
newLeafNode(otherlv_1, grammarAccess.getVariableAccess().getEqualsSignKeyword_1());
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:181:1: ( (lv_expression_2_0= ruleExpression ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:182:1: (lv_expression_2_0= ruleExpression )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:182:1: (lv_expression_2_0= ruleExpression )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:183:3: lv_expression_2_0= ruleExpression
{
newCompositeNode(grammarAccess.getVariableAccess().getExpressionExpressionParserRuleCall_2_0());
pushFollow(FOLLOW_ruleExpression_in_ruleVariable375);
lv_expression_2_0=ruleExpression();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getVariableRule());
}
set(
current,
"expression",
lv_expression_2_0,
"Expression");
afterParserOrEnumRuleCall();
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleVariable"
// $ANTLR start "entryRuleExpression"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:207:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ;
public final EObject entryRuleExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleExpression = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:208:2: (iv_ruleExpression= ruleExpression EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:209:2: iv_ruleExpression= ruleExpression EOF
{
newCompositeNode(grammarAccess.getExpressionRule());
pushFollow(FOLLOW_ruleExpression_in_entryRuleExpression411);
iv_ruleExpression=ruleExpression();
state._fsp--;
current =iv_ruleExpression;
match(input,EOF,FOLLOW_EOF_in_entryRuleExpression421);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExpression"
// $ANTLR start "ruleExpression"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:216:1: ruleExpression returns [EObject current=null] : this_Or_0= ruleOr ;
public final EObject ruleExpression() throws RecognitionException {
EObject current = null;
EObject this_Or_0 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:219:28: (this_Or_0= ruleOr )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:221:5: this_Or_0= ruleOr
{
newCompositeNode(grammarAccess.getExpressionAccess().getOrParserRuleCall());
pushFollow(FOLLOW_ruleOr_in_ruleExpression467);
this_Or_0=ruleOr();
state._fsp--;
current = this_Or_0;
afterParserOrEnumRuleCall();
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExpression"
// $ANTLR start "entryRuleOr"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:237:1: entryRuleOr returns [EObject current=null] : iv_ruleOr= ruleOr EOF ;
public final EObject entryRuleOr() throws RecognitionException {
EObject current = null;
EObject iv_ruleOr = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:238:2: (iv_ruleOr= ruleOr EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:239:2: iv_ruleOr= ruleOr EOF
{
newCompositeNode(grammarAccess.getOrRule());
pushFollow(FOLLOW_ruleOr_in_entryRuleOr501);
iv_ruleOr=ruleOr();
state._fsp--;
current =iv_ruleOr;
match(input,EOF,FOLLOW_EOF_in_entryRuleOr511);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOr"
// $ANTLR start "ruleOr"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:246:1: ruleOr returns [EObject current=null] : (this_And_0= ruleAnd ( () otherlv_2= '||' ( (lv_right_3_0= ruleAnd ) ) )* ) ;
public final EObject ruleOr() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
EObject this_And_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:249:28: ( (this_And_0= ruleAnd ( () otherlv_2= '||' ( (lv_right_3_0= ruleAnd ) ) )* ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:250:1: (this_And_0= ruleAnd ( () otherlv_2= '||' ( (lv_right_3_0= ruleAnd ) ) )* )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:250:1: (this_And_0= ruleAnd ( () otherlv_2= '||' ( (lv_right_3_0= ruleAnd ) ) )* )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:251:5: this_And_0= ruleAnd ( () otherlv_2= '||' ( (lv_right_3_0= ruleAnd ) ) )*
{
newCompositeNode(grammarAccess.getOrAccess().getAndParserRuleCall_0());
pushFollow(FOLLOW_ruleAnd_in_ruleOr558);
this_And_0=ruleAnd();
state._fsp--;
current = this_And_0;
afterParserOrEnumRuleCall();
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:259:1: ( () otherlv_2= '||' ( (lv_right_3_0= ruleAnd ) ) )*
loop3:
do {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==12) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:259:2: () otherlv_2= '||' ( (lv_right_3_0= ruleAnd ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:259:2: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:260:5:
{
current = forceCreateModelElementAndSet(
grammarAccess.getOrAccess().getOrLeftAction_1_0(),
current);
}
otherlv_2=(Token)match(input,12,FOLLOW_12_in_ruleOr579);
newLeafNode(otherlv_2, grammarAccess.getOrAccess().getVerticalLineVerticalLineKeyword_1_1());
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:269:1: ( (lv_right_3_0= ruleAnd ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:270:1: (lv_right_3_0= ruleAnd )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:270:1: (lv_right_3_0= ruleAnd )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:271:3: lv_right_3_0= ruleAnd
{
newCompositeNode(grammarAccess.getOrAccess().getRightAndParserRuleCall_1_2_0());
pushFollow(FOLLOW_ruleAnd_in_ruleOr600);
lv_right_3_0=ruleAnd();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getOrRule());
}
set(
current,
"right",
lv_right_3_0,
"And");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop3;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOr"
// $ANTLR start "entryRuleAnd"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:295:1: entryRuleAnd returns [EObject current=null] : iv_ruleAnd= ruleAnd EOF ;
public final EObject entryRuleAnd() throws RecognitionException {
EObject current = null;
EObject iv_ruleAnd = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:296:2: (iv_ruleAnd= ruleAnd EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:297:2: iv_ruleAnd= ruleAnd EOF
{
newCompositeNode(grammarAccess.getAndRule());
pushFollow(FOLLOW_ruleAnd_in_entryRuleAnd638);
iv_ruleAnd=ruleAnd();
state._fsp--;
current =iv_ruleAnd;
match(input,EOF,FOLLOW_EOF_in_entryRuleAnd648);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAnd"
// $ANTLR start "ruleAnd"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:304:1: ruleAnd returns [EObject current=null] : (this_Equality_0= ruleEquality ( () otherlv_2= '&&' ( (lv_right_3_0= ruleEquality ) ) )* ) ;
public final EObject ruleAnd() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
EObject this_Equality_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:307:28: ( (this_Equality_0= ruleEquality ( () otherlv_2= '&&' ( (lv_right_3_0= ruleEquality ) ) )* ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:308:1: (this_Equality_0= ruleEquality ( () otherlv_2= '&&' ( (lv_right_3_0= ruleEquality ) ) )* )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:308:1: (this_Equality_0= ruleEquality ( () otherlv_2= '&&' ( (lv_right_3_0= ruleEquality ) ) )* )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:309:5: this_Equality_0= ruleEquality ( () otherlv_2= '&&' ( (lv_right_3_0= ruleEquality ) ) )*
{
newCompositeNode(grammarAccess.getAndAccess().getEqualityParserRuleCall_0());
pushFollow(FOLLOW_ruleEquality_in_ruleAnd695);
this_Equality_0=ruleEquality();
state._fsp--;
current = this_Equality_0;
afterParserOrEnumRuleCall();
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:317:1: ( () otherlv_2= '&&' ( (lv_right_3_0= ruleEquality ) ) )*
loop4:
do {
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==13) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:317:2: () otherlv_2= '&&' ( (lv_right_3_0= ruleEquality ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:317:2: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:318:5:
{
current = forceCreateModelElementAndSet(
grammarAccess.getAndAccess().getAndLeftAction_1_0(),
current);
}
otherlv_2=(Token)match(input,13,FOLLOW_13_in_ruleAnd716);
newLeafNode(otherlv_2, grammarAccess.getAndAccess().getAmpersandAmpersandKeyword_1_1());
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:327:1: ( (lv_right_3_0= ruleEquality ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:328:1: (lv_right_3_0= ruleEquality )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:328:1: (lv_right_3_0= ruleEquality )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:329:3: lv_right_3_0= ruleEquality
{
newCompositeNode(grammarAccess.getAndAccess().getRightEqualityParserRuleCall_1_2_0());
pushFollow(FOLLOW_ruleEquality_in_ruleAnd737);
lv_right_3_0=ruleEquality();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getAndRule());
}
set(
current,
"right",
lv_right_3_0,
"Equality");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop4;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAnd"
// $ANTLR start "entryRuleEquality"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:353:1: entryRuleEquality returns [EObject current=null] : iv_ruleEquality= ruleEquality EOF ;
public final EObject entryRuleEquality() throws RecognitionException {
EObject current = null;
EObject iv_ruleEquality = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:354:2: (iv_ruleEquality= ruleEquality EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:355:2: iv_ruleEquality= ruleEquality EOF
{
newCompositeNode(grammarAccess.getEqualityRule());
pushFollow(FOLLOW_ruleEquality_in_entryRuleEquality775);
iv_ruleEquality=ruleEquality();
state._fsp--;
current =iv_ruleEquality;
match(input,EOF,FOLLOW_EOF_in_entryRuleEquality785);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleEquality"
// $ANTLR start "ruleEquality"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:362:1: ruleEquality returns [EObject current=null] : (this_Comparison_0= ruleComparison ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparison ) ) )* ) ;
public final EObject ruleEquality() throws RecognitionException {
EObject current = null;
Token lv_op_2_1=null;
Token lv_op_2_2=null;
EObject this_Comparison_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:365:28: ( (this_Comparison_0= ruleComparison ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparison ) ) )* ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:366:1: (this_Comparison_0= ruleComparison ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparison ) ) )* )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:366:1: (this_Comparison_0= ruleComparison ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparison ) ) )* )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:367:5: this_Comparison_0= ruleComparison ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparison ) ) )*
{
newCompositeNode(grammarAccess.getEqualityAccess().getComparisonParserRuleCall_0());
pushFollow(FOLLOW_ruleComparison_in_ruleEquality832);
this_Comparison_0=ruleComparison();
state._fsp--;
current = this_Comparison_0;
afterParserOrEnumRuleCall();
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:375:1: ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparison ) ) )*
loop6:
do {
int alt6=2;
int LA6_0 = input.LA(1);
if ( ((LA6_0>=14 && LA6_0<=15)) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:375:2: () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparison ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:375:2: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:376:5:
{
current = forceCreateModelElementAndSet(
grammarAccess.getEqualityAccess().getEqualityLeftAction_1_0(),
current);
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:381:2: ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:382:1: ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:382:1: ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:383:1: (lv_op_2_1= '==' | lv_op_2_2= '!=' )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:383:1: (lv_op_2_1= '==' | lv_op_2_2= '!=' )
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==14) ) {
alt5=1;
}
else if ( (LA5_0==15) ) {
alt5=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:384:3: lv_op_2_1= '=='
{
lv_op_2_1=(Token)match(input,14,FOLLOW_14_in_ruleEquality861);
newLeafNode(lv_op_2_1, grammarAccess.getEqualityAccess().getOpEqualsSignEqualsSignKeyword_1_1_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getEqualityRule());
}
setWithLastConsumed(current, "op", lv_op_2_1, null);
}
break;
case 2 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:396:8: lv_op_2_2= '!='
{
lv_op_2_2=(Token)match(input,15,FOLLOW_15_in_ruleEquality890);
newLeafNode(lv_op_2_2, grammarAccess.getEqualityAccess().getOpExclamationMarkEqualsSignKeyword_1_1_0_1());
if (current==null) {
current = createModelElement(grammarAccess.getEqualityRule());
}
setWithLastConsumed(current, "op", lv_op_2_2, null);
}
break;
}
}
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:411:2: ( (lv_right_3_0= ruleComparison ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:412:1: (lv_right_3_0= ruleComparison )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:412:1: (lv_right_3_0= ruleComparison )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:413:3: lv_right_3_0= ruleComparison
{
newCompositeNode(grammarAccess.getEqualityAccess().getRightComparisonParserRuleCall_1_2_0());
pushFollow(FOLLOW_ruleComparison_in_ruleEquality927);
lv_right_3_0=ruleComparison();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getEqualityRule());
}
set(
current,
"right",
lv_right_3_0,
"Comparison");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop6;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleEquality"
// $ANTLR start "entryRuleComparison"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:437:1: entryRuleComparison returns [EObject current=null] : iv_ruleComparison= ruleComparison EOF ;
public final EObject entryRuleComparison() throws RecognitionException {
EObject current = null;
EObject iv_ruleComparison = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:438:2: (iv_ruleComparison= ruleComparison EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:439:2: iv_ruleComparison= ruleComparison EOF
{
newCompositeNode(grammarAccess.getComparisonRule());
pushFollow(FOLLOW_ruleComparison_in_entryRuleComparison965);
iv_ruleComparison=ruleComparison();
state._fsp--;
current =iv_ruleComparison;
match(input,EOF,FOLLOW_EOF_in_entryRuleComparison975);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleComparison"
// $ANTLR start "ruleComparison"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:446:1: ruleComparison returns [EObject current=null] : (this_PlusOrMinus_0= rulePlusOrMinus ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinus ) ) )* ) ;
public final EObject ruleComparison() throws RecognitionException {
EObject current = null;
Token lv_op_2_1=null;
Token lv_op_2_2=null;
Token lv_op_2_3=null;
Token lv_op_2_4=null;
EObject this_PlusOrMinus_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:449:28: ( (this_PlusOrMinus_0= rulePlusOrMinus ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinus ) ) )* ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:450:1: (this_PlusOrMinus_0= rulePlusOrMinus ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinus ) ) )* )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:450:1: (this_PlusOrMinus_0= rulePlusOrMinus ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinus ) ) )* )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:451:5: this_PlusOrMinus_0= rulePlusOrMinus ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinus ) ) )*
{
newCompositeNode(grammarAccess.getComparisonAccess().getPlusOrMinusParserRuleCall_0());
pushFollow(FOLLOW_rulePlusOrMinus_in_ruleComparison1022);
this_PlusOrMinus_0=rulePlusOrMinus();
state._fsp--;
current = this_PlusOrMinus_0;
afterParserOrEnumRuleCall();
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:459:1: ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinus ) ) )*
loop8:
do {
int alt8=2;
int LA8_0 = input.LA(1);
if ( ((LA8_0>=16 && LA8_0<=19)) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:459:2: () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinus ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:459:2: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:460:5:
{
current = forceCreateModelElementAndSet(
grammarAccess.getComparisonAccess().getComparisonLeftAction_1_0(),
current);
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:465:2: ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:466:1: ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:466:1: ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:467:1: (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:467:1: (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' )
int alt7=4;
switch ( input.LA(1) ) {
case 16:
{
alt7=1;
}
break;
case 17:
{
alt7=2;
}
break;
case 18:
{
alt7=3;
}
break;
case 19:
{
alt7=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 7, 0, input);
throw nvae;
}
switch (alt7) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:468:3: lv_op_2_1= '>='
{
lv_op_2_1=(Token)match(input,16,FOLLOW_16_in_ruleComparison1051);
newLeafNode(lv_op_2_1, grammarAccess.getComparisonAccess().getOpGreaterThanSignEqualsSignKeyword_1_1_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getComparisonRule());
}
setWithLastConsumed(current, "op", lv_op_2_1, null);
}
break;
case 2 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:480:8: lv_op_2_2= '<='
{
lv_op_2_2=(Token)match(input,17,FOLLOW_17_in_ruleComparison1080);
newLeafNode(lv_op_2_2, grammarAccess.getComparisonAccess().getOpLessThanSignEqualsSignKeyword_1_1_0_1());
if (current==null) {
current = createModelElement(grammarAccess.getComparisonRule());
}
setWithLastConsumed(current, "op", lv_op_2_2, null);
}
break;
case 3 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:492:8: lv_op_2_3= '>'
{
lv_op_2_3=(Token)match(input,18,FOLLOW_18_in_ruleComparison1109);
newLeafNode(lv_op_2_3, grammarAccess.getComparisonAccess().getOpGreaterThanSignKeyword_1_1_0_2());
if (current==null) {
current = createModelElement(grammarAccess.getComparisonRule());
}
setWithLastConsumed(current, "op", lv_op_2_3, null);
}
break;
case 4 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:504:8: lv_op_2_4= '<'
{
lv_op_2_4=(Token)match(input,19,FOLLOW_19_in_ruleComparison1138);
newLeafNode(lv_op_2_4, grammarAccess.getComparisonAccess().getOpLessThanSignKeyword_1_1_0_3());
if (current==null) {
current = createModelElement(grammarAccess.getComparisonRule());
}
setWithLastConsumed(current, "op", lv_op_2_4, null);
}
break;
}
}
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:519:2: ( (lv_right_3_0= rulePlusOrMinus ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:520:1: (lv_right_3_0= rulePlusOrMinus )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:520:1: (lv_right_3_0= rulePlusOrMinus )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:521:3: lv_right_3_0= rulePlusOrMinus
{
newCompositeNode(grammarAccess.getComparisonAccess().getRightPlusOrMinusParserRuleCall_1_2_0());
pushFollow(FOLLOW_rulePlusOrMinus_in_ruleComparison1175);
lv_right_3_0=rulePlusOrMinus();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getComparisonRule());
}
set(
current,
"right",
lv_right_3_0,
"PlusOrMinus");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop8;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleComparison"
// $ANTLR start "entryRulePlusOrMinus"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:545:1: entryRulePlusOrMinus returns [EObject current=null] : iv_rulePlusOrMinus= rulePlusOrMinus EOF ;
public final EObject entryRulePlusOrMinus() throws RecognitionException {
EObject current = null;
EObject iv_rulePlusOrMinus = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:546:2: (iv_rulePlusOrMinus= rulePlusOrMinus EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:547:2: iv_rulePlusOrMinus= rulePlusOrMinus EOF
{
newCompositeNode(grammarAccess.getPlusOrMinusRule());
pushFollow(FOLLOW_rulePlusOrMinus_in_entryRulePlusOrMinus1213);
iv_rulePlusOrMinus=rulePlusOrMinus();
state._fsp--;
current =iv_rulePlusOrMinus;
match(input,EOF,FOLLOW_EOF_in_entryRulePlusOrMinus1223);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePlusOrMinus"
// $ANTLR start "rulePlusOrMinus"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:554:1: rulePlusOrMinus returns [EObject current=null] : (this_MulOrDiv_0= ruleMulOrDiv ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDiv ) ) )* ) ;
public final EObject rulePlusOrMinus() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject this_MulOrDiv_0 = null;
EObject lv_right_5_0 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:557:28: ( (this_MulOrDiv_0= ruleMulOrDiv ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDiv ) ) )* ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:558:1: (this_MulOrDiv_0= ruleMulOrDiv ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDiv ) ) )* )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:558:1: (this_MulOrDiv_0= ruleMulOrDiv ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDiv ) ) )* )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:559:5: this_MulOrDiv_0= ruleMulOrDiv ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDiv ) ) )*
{
newCompositeNode(grammarAccess.getPlusOrMinusAccess().getMulOrDivParserRuleCall_0());
pushFollow(FOLLOW_ruleMulOrDiv_in_rulePlusOrMinus1270);
this_MulOrDiv_0=ruleMulOrDiv();
state._fsp--;
current = this_MulOrDiv_0;
afterParserOrEnumRuleCall();
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:567:1: ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDiv ) ) )*
loop10:
do {
int alt10=2;
int LA10_0 = input.LA(1);
if ( ((LA10_0>=20 && LA10_0<=21)) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:567:2: ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDiv ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:567:2: ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) )
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==20) ) {
alt9=1;
}
else if ( (LA9_0==21) ) {
alt9=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 9, 0, input);
throw nvae;
}
switch (alt9) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:567:3: ( () otherlv_2= '+' )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:567:3: ( () otherlv_2= '+' )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:567:4: () otherlv_2= '+'
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:567:4: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:568:5:
{
current = forceCreateModelElementAndSet(
grammarAccess.getPlusOrMinusAccess().getPlusLeftAction_1_0_0_0(),
current);
}
otherlv_2=(Token)match(input,20,FOLLOW_20_in_rulePlusOrMinus1293);
newLeafNode(otherlv_2, grammarAccess.getPlusOrMinusAccess().getPlusSignKeyword_1_0_0_1());
}
}
break;
case 2 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:578:6: ( () otherlv_4= '-' )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:578:6: ( () otherlv_4= '-' )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:578:7: () otherlv_4= '-'
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:578:7: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:579:5:
{
current = forceCreateModelElementAndSet(
grammarAccess.getPlusOrMinusAccess().getMinusLeftAction_1_0_1_0(),
current);
}
otherlv_4=(Token)match(input,21,FOLLOW_21_in_rulePlusOrMinus1322);
newLeafNode(otherlv_4, grammarAccess.getPlusOrMinusAccess().getHyphenMinusKeyword_1_0_1_1());
}
}
break;
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:588:3: ( (lv_right_5_0= ruleMulOrDiv ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:589:1: (lv_right_5_0= ruleMulOrDiv )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:589:1: (lv_right_5_0= ruleMulOrDiv )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:590:3: lv_right_5_0= ruleMulOrDiv
{
newCompositeNode(grammarAccess.getPlusOrMinusAccess().getRightMulOrDivParserRuleCall_1_1_0());
pushFollow(FOLLOW_ruleMulOrDiv_in_rulePlusOrMinus1345);
lv_right_5_0=ruleMulOrDiv();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getPlusOrMinusRule());
}
set(
current,
"right",
lv_right_5_0,
"MulOrDiv");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop10;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePlusOrMinus"
// $ANTLR start "entryRuleMulOrDiv"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:614:1: entryRuleMulOrDiv returns [EObject current=null] : iv_ruleMulOrDiv= ruleMulOrDiv EOF ;
public final EObject entryRuleMulOrDiv() throws RecognitionException {
EObject current = null;
EObject iv_ruleMulOrDiv = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:615:2: (iv_ruleMulOrDiv= ruleMulOrDiv EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:616:2: iv_ruleMulOrDiv= ruleMulOrDiv EOF
{
newCompositeNode(grammarAccess.getMulOrDivRule());
pushFollow(FOLLOW_ruleMulOrDiv_in_entryRuleMulOrDiv1383);
iv_ruleMulOrDiv=ruleMulOrDiv();
state._fsp--;
current =iv_ruleMulOrDiv;
match(input,EOF,FOLLOW_EOF_in_entryRuleMulOrDiv1393);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMulOrDiv"
// $ANTLR start "ruleMulOrDiv"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:623:1: ruleMulOrDiv returns [EObject current=null] : (this_Primary_0= rulePrimary ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimary ) ) )* ) ;
public final EObject ruleMulOrDiv() throws RecognitionException {
EObject current = null;
Token lv_op_2_1=null;
Token lv_op_2_2=null;
EObject this_Primary_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:626:28: ( (this_Primary_0= rulePrimary ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimary ) ) )* ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:627:1: (this_Primary_0= rulePrimary ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimary ) ) )* )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:627:1: (this_Primary_0= rulePrimary ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimary ) ) )* )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:628:5: this_Primary_0= rulePrimary ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimary ) ) )*
{
newCompositeNode(grammarAccess.getMulOrDivAccess().getPrimaryParserRuleCall_0());
pushFollow(FOLLOW_rulePrimary_in_ruleMulOrDiv1440);
this_Primary_0=rulePrimary();
state._fsp--;
current = this_Primary_0;
afterParserOrEnumRuleCall();
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:636:1: ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimary ) ) )*
loop12:
do {
int alt12=2;
int LA12_0 = input.LA(1);
if ( ((LA12_0>=22 && LA12_0<=23)) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:636:2: () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimary ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:636:2: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:637:5:
{
current = forceCreateModelElementAndSet(
grammarAccess.getMulOrDivAccess().getMulOrDivLeftAction_1_0(),
current);
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:642:2: ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:643:1: ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:643:1: ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:644:1: (lv_op_2_1= '*' | lv_op_2_2= '/' )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:644:1: (lv_op_2_1= '*' | lv_op_2_2= '/' )
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==22) ) {
alt11=1;
}
else if ( (LA11_0==23) ) {
alt11=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:645:3: lv_op_2_1= '*'
{
lv_op_2_1=(Token)match(input,22,FOLLOW_22_in_ruleMulOrDiv1469);
newLeafNode(lv_op_2_1, grammarAccess.getMulOrDivAccess().getOpAsteriskKeyword_1_1_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getMulOrDivRule());
}
setWithLastConsumed(current, "op", lv_op_2_1, null);
}
break;
case 2 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:657:8: lv_op_2_2= '/'
{
lv_op_2_2=(Token)match(input,23,FOLLOW_23_in_ruleMulOrDiv1498);
newLeafNode(lv_op_2_2, grammarAccess.getMulOrDivAccess().getOpSolidusKeyword_1_1_0_1());
if (current==null) {
current = createModelElement(grammarAccess.getMulOrDivRule());
}
setWithLastConsumed(current, "op", lv_op_2_2, null);
}
break;
}
}
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:672:2: ( (lv_right_3_0= rulePrimary ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:673:1: (lv_right_3_0= rulePrimary )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:673:1: (lv_right_3_0= rulePrimary )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:674:3: lv_right_3_0= rulePrimary
{
newCompositeNode(grammarAccess.getMulOrDivAccess().getRightPrimaryParserRuleCall_1_2_0());
pushFollow(FOLLOW_rulePrimary_in_ruleMulOrDiv1535);
lv_right_3_0=rulePrimary();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getMulOrDivRule());
}
set(
current,
"right",
lv_right_3_0,
"Primary");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop12;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMulOrDiv"
// $ANTLR start "entryRulePrimary"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:698:1: entryRulePrimary returns [EObject current=null] : iv_rulePrimary= rulePrimary EOF ;
public final EObject entryRulePrimary() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimary = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:699:2: (iv_rulePrimary= rulePrimary EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:700:2: iv_rulePrimary= rulePrimary EOF
{
newCompositeNode(grammarAccess.getPrimaryRule());
pushFollow(FOLLOW_rulePrimary_in_entryRulePrimary1573);
iv_rulePrimary=rulePrimary();
state._fsp--;
current =iv_rulePrimary;
match(input,EOF,FOLLOW_EOF_in_entryRulePrimary1583);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimary"
// $ANTLR start "rulePrimary"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:707:1: rulePrimary returns [EObject current=null] : ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () otherlv_4= '!' ( (lv_expression_5_0= rulePrimary ) ) ) | this_Atomic_6= ruleAtomic ) ;
public final EObject rulePrimary() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
EObject this_Expression_1 = null;
EObject lv_expression_5_0 = null;
EObject this_Atomic_6 = null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:710:28: ( ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () otherlv_4= '!' ( (lv_expression_5_0= rulePrimary ) ) ) | this_Atomic_6= ruleAtomic ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:711:1: ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () otherlv_4= '!' ( (lv_expression_5_0= rulePrimary ) ) ) | this_Atomic_6= ruleAtomic )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:711:1: ( (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' ) | ( () otherlv_4= '!' ( (lv_expression_5_0= rulePrimary ) ) ) | this_Atomic_6= ruleAtomic )
int alt13=3;
switch ( input.LA(1) ) {
case 24:
{
alt13=1;
}
break;
case 26:
{
alt13=2;
}
break;
case RULE_ID:
case RULE_INT:
case RULE_STRING:
case 27:
case 28:
{
alt13=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 13, 0, input);
throw nvae;
}
switch (alt13) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:711:2: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:711:2: (otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')' )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:711:4: otherlv_0= '(' this_Expression_1= ruleExpression otherlv_2= ')'
{
otherlv_0=(Token)match(input,24,FOLLOW_24_in_rulePrimary1621);
newLeafNode(otherlv_0, grammarAccess.getPrimaryAccess().getLeftParenthesisKeyword_0_0());
newCompositeNode(grammarAccess.getPrimaryAccess().getExpressionParserRuleCall_0_1());
pushFollow(FOLLOW_ruleExpression_in_rulePrimary1643);
this_Expression_1=ruleExpression();
state._fsp--;
current = this_Expression_1;
afterParserOrEnumRuleCall();
otherlv_2=(Token)match(input,25,FOLLOW_25_in_rulePrimary1654);
newLeafNode(otherlv_2, grammarAccess.getPrimaryAccess().getRightParenthesisKeyword_0_2());
}
}
break;
case 2 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:729:6: ( () otherlv_4= '!' ( (lv_expression_5_0= rulePrimary ) ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:729:6: ( () otherlv_4= '!' ( (lv_expression_5_0= rulePrimary ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:729:7: () otherlv_4= '!' ( (lv_expression_5_0= rulePrimary ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:729:7: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:730:5:
{
current = forceCreateModelElement(
grammarAccess.getPrimaryAccess().getNotAction_1_0(),
current);
}
otherlv_4=(Token)match(input,26,FOLLOW_26_in_rulePrimary1683);
newLeafNode(otherlv_4, grammarAccess.getPrimaryAccess().getExclamationMarkKeyword_1_1());
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:739:1: ( (lv_expression_5_0= rulePrimary ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:740:1: (lv_expression_5_0= rulePrimary )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:740:1: (lv_expression_5_0= rulePrimary )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:741:3: lv_expression_5_0= rulePrimary
{
newCompositeNode(grammarAccess.getPrimaryAccess().getExpressionPrimaryParserRuleCall_1_2_0());
pushFollow(FOLLOW_rulePrimary_in_rulePrimary1704);
lv_expression_5_0=rulePrimary();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrimaryRule());
}
set(
current,
"expression",
lv_expression_5_0,
"Primary");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:759:5: this_Atomic_6= ruleAtomic
{
newCompositeNode(grammarAccess.getPrimaryAccess().getAtomicParserRuleCall_2());
pushFollow(FOLLOW_ruleAtomic_in_rulePrimary1733);
this_Atomic_6=ruleAtomic();
state._fsp--;
current = this_Atomic_6;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimary"
// $ANTLR start "entryRuleAtomic"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:775:1: entryRuleAtomic returns [EObject current=null] : iv_ruleAtomic= ruleAtomic EOF ;
public final EObject entryRuleAtomic() throws RecognitionException {
EObject current = null;
EObject iv_ruleAtomic = null;
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:776:2: (iv_ruleAtomic= ruleAtomic EOF )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:777:2: iv_ruleAtomic= ruleAtomic EOF
{
newCompositeNode(grammarAccess.getAtomicRule());
pushFollow(FOLLOW_ruleAtomic_in_entryRuleAtomic1768);
iv_ruleAtomic=ruleAtomic();
state._fsp--;
current =iv_ruleAtomic;
match(input,EOF,FOLLOW_EOF_in_entryRuleAtomic1778);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAtomic"
// $ANTLR start "ruleAtomic"
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:784:1: ruleAtomic returns [EObject current=null] : ( ( () ( (lv_value_1_0= RULE_INT ) ) ) | ( () ( (lv_value_3_0= RULE_STRING ) ) ) | ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) ) | ( () ( (otherlv_7= RULE_ID ) ) ) ) ;
public final EObject ruleAtomic() throws RecognitionException {
EObject current = null;
Token lv_value_1_0=null;
Token lv_value_3_0=null;
Token lv_value_5_1=null;
Token lv_value_5_2=null;
Token otherlv_7=null;
enterRule();
try {
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:787:28: ( ( ( () ( (lv_value_1_0= RULE_INT ) ) ) | ( () ( (lv_value_3_0= RULE_STRING ) ) ) | ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) ) | ( () ( (otherlv_7= RULE_ID ) ) ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:788:1: ( ( () ( (lv_value_1_0= RULE_INT ) ) ) | ( () ( (lv_value_3_0= RULE_STRING ) ) ) | ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) ) | ( () ( (otherlv_7= RULE_ID ) ) ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:788:1: ( ( () ( (lv_value_1_0= RULE_INT ) ) ) | ( () ( (lv_value_3_0= RULE_STRING ) ) ) | ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) ) | ( () ( (otherlv_7= RULE_ID ) ) ) )
int alt15=4;
switch ( input.LA(1) ) {
case RULE_INT:
{
alt15=1;
}
break;
case RULE_STRING:
{
alt15=2;
}
break;
case 27:
case 28:
{
alt15=3;
}
break;
case RULE_ID:
{
alt15=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 15, 0, input);
throw nvae;
}
switch (alt15) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:788:2: ( () ( (lv_value_1_0= RULE_INT ) ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:788:2: ( () ( (lv_value_1_0= RULE_INT ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:788:3: () ( (lv_value_1_0= RULE_INT ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:788:3: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:789:5:
{
current = forceCreateModelElement(
grammarAccess.getAtomicAccess().getIntConstantAction_0_0(),
current);
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:794:2: ( (lv_value_1_0= RULE_INT ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:795:1: (lv_value_1_0= RULE_INT )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:795:1: (lv_value_1_0= RULE_INT )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:796:3: lv_value_1_0= RULE_INT
{
lv_value_1_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleAtomic1830);
newLeafNode(lv_value_1_0, grammarAccess.getAtomicAccess().getValueINTTerminalRuleCall_0_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getAtomicRule());
}
setWithLastConsumed(
current,
"value",
lv_value_1_0,
"INT");
}
}
}
}
break;
case 2 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:813:6: ( () ( (lv_value_3_0= RULE_STRING ) ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:813:6: ( () ( (lv_value_3_0= RULE_STRING ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:813:7: () ( (lv_value_3_0= RULE_STRING ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:813:7: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:814:5:
{
current = forceCreateModelElement(
grammarAccess.getAtomicAccess().getStringConstantAction_1_0(),
current);
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:819:2: ( (lv_value_3_0= RULE_STRING ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:820:1: (lv_value_3_0= RULE_STRING )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:820:1: (lv_value_3_0= RULE_STRING )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:821:3: lv_value_3_0= RULE_STRING
{
lv_value_3_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleAtomic1869);
newLeafNode(lv_value_3_0, grammarAccess.getAtomicAccess().getValueSTRINGTerminalRuleCall_1_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getAtomicRule());
}
setWithLastConsumed(
current,
"value",
lv_value_3_0,
"STRING");
}
}
}
}
break;
case 3 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:838:6: ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:838:6: ( () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:838:7: () ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:838:7: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:839:5:
{
current = forceCreateModelElement(
grammarAccess.getAtomicAccess().getBoolConstantAction_2_0(),
current);
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:844:2: ( ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:845:1: ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:845:1: ( (lv_value_5_1= 'true' | lv_value_5_2= 'false' ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:846:1: (lv_value_5_1= 'true' | lv_value_5_2= 'false' )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:846:1: (lv_value_5_1= 'true' | lv_value_5_2= 'false' )
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==27) ) {
alt14=1;
}
else if ( (LA14_0==28) ) {
alt14=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 14, 0, input);
throw nvae;
}
switch (alt14) {
case 1 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:847:3: lv_value_5_1= 'true'
{
lv_value_5_1=(Token)match(input,27,FOLLOW_27_in_ruleAtomic1911);
newLeafNode(lv_value_5_1, grammarAccess.getAtomicAccess().getValueTrueKeyword_2_1_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getAtomicRule());
}
setWithLastConsumed(current, "value", lv_value_5_1, null);
}
break;
case 2 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:859:8: lv_value_5_2= 'false'
{
lv_value_5_2=(Token)match(input,28,FOLLOW_28_in_ruleAtomic1940);
newLeafNode(lv_value_5_2, grammarAccess.getAtomicAccess().getValueFalseKeyword_2_1_0_1());
if (current==null) {
current = createModelElement(grammarAccess.getAtomicRule());
}
setWithLastConsumed(current, "value", lv_value_5_2, null);
}
break;
}
}
}
}
}
break;
case 4 :
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:875:6: ( () ( (otherlv_7= RULE_ID ) ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:875:6: ( () ( (otherlv_7= RULE_ID ) ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:875:7: () ( (otherlv_7= RULE_ID ) )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:875:7: ()
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:876:5:
{
current = forceCreateModelElement(
grammarAccess.getAtomicAccess().getVariableRefAction_3_0(),
current);
}
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:881:2: ( (otherlv_7= RULE_ID ) )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:882:1: (otherlv_7= RULE_ID )
{
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:882:1: (otherlv_7= RULE_ID )
// ../org.example.expressions/src-gen/org/example/expressions/parser/antlr/internal/InternalExpressions.g:883:3: otherlv_7= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getAtomicRule());
}
otherlv_7=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAtomic1993);
newLeafNode(otherlv_7, grammarAccess.getAtomicAccess().getVariableVariableCrossReference_3_1_0());
}
}
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAtomic"
// Delegated rules
public static final BitSet FOLLOW_ruleExpressionsModel_in_entryRuleExpressionsModel75 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpressionsModel85 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAbstractElement_in_ruleExpressionsModel130 = new BitSet(new long[]{0x000000001D000072L});
public static final BitSet FOLLOW_ruleAbstractElement_in_entryRuleAbstractElement166 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleAbstractElement176 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleVariable_in_ruleAbstractElement223 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_in_ruleAbstractElement250 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleVariable_in_entryRuleVariable285 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleVariable295 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleVariable337 = new BitSet(new long[]{0x0000000000000800L});
public static final BitSet FOLLOW_11_in_ruleVariable354 = new BitSet(new long[]{0x000000001D000070L});
public static final BitSet FOLLOW_ruleExpression_in_ruleVariable375 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression411 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExpression421 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleOr_in_ruleExpression467 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleOr_in_entryRuleOr501 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleOr511 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAnd_in_ruleOr558 = new BitSet(new long[]{0x0000000000001002L});
public static final BitSet FOLLOW_12_in_ruleOr579 = new BitSet(new long[]{0x000000001D001070L});
public static final BitSet FOLLOW_ruleAnd_in_ruleOr600 = new BitSet(new long[]{0x0000000000001002L});
public static final BitSet FOLLOW_ruleAnd_in_entryRuleAnd638 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleAnd648 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleEquality_in_ruleAnd695 = new BitSet(new long[]{0x0000000000002002L});
public static final BitSet FOLLOW_13_in_ruleAnd716 = new BitSet(new long[]{0x000000001D002070L});
public static final BitSet FOLLOW_ruleEquality_in_ruleAnd737 = new BitSet(new long[]{0x0000000000002002L});
public static final BitSet FOLLOW_ruleEquality_in_entryRuleEquality775 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleEquality785 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleComparison_in_ruleEquality832 = new BitSet(new long[]{0x000000000000C002L});
public static final BitSet FOLLOW_14_in_ruleEquality861 = new BitSet(new long[]{0x000000001D00C070L});
public static final BitSet FOLLOW_15_in_ruleEquality890 = new BitSet(new long[]{0x000000001D00C070L});
public static final BitSet FOLLOW_ruleComparison_in_ruleEquality927 = new BitSet(new long[]{0x000000000000C002L});
public static final BitSet FOLLOW_ruleComparison_in_entryRuleComparison965 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleComparison975 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulePlusOrMinus_in_ruleComparison1022 = new BitSet(new long[]{0x00000000000F0002L});
public static final BitSet FOLLOW_16_in_ruleComparison1051 = new BitSet(new long[]{0x000000001D0F0070L});
public static final BitSet FOLLOW_17_in_ruleComparison1080 = new BitSet(new long[]{0x000000001D0F0070L});
public static final BitSet FOLLOW_18_in_ruleComparison1109 = new BitSet(new long[]{0x000000001D0F0070L});
public static final BitSet FOLLOW_19_in_ruleComparison1138 = new BitSet(new long[]{0x000000001D0F0070L});
public static final BitSet FOLLOW_rulePlusOrMinus_in_ruleComparison1175 = new BitSet(new long[]{0x00000000000F0002L});
public static final BitSet FOLLOW_rulePlusOrMinus_in_entryRulePlusOrMinus1213 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRulePlusOrMinus1223 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleMulOrDiv_in_rulePlusOrMinus1270 = new BitSet(new long[]{0x0000000000300002L});
public static final BitSet FOLLOW_20_in_rulePlusOrMinus1293 = new BitSet(new long[]{0x000000001D300070L});
public static final BitSet FOLLOW_21_in_rulePlusOrMinus1322 = new BitSet(new long[]{0x000000001D300070L});
public static final BitSet FOLLOW_ruleMulOrDiv_in_rulePlusOrMinus1345 = new BitSet(new long[]{0x0000000000300002L});
public static final BitSet FOLLOW_ruleMulOrDiv_in_entryRuleMulOrDiv1383 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleMulOrDiv1393 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulePrimary_in_ruleMulOrDiv1440 = new BitSet(new long[]{0x0000000000C00002L});
public static final BitSet FOLLOW_22_in_ruleMulOrDiv1469 = new BitSet(new long[]{0x000000001DC00070L});
public static final BitSet FOLLOW_23_in_ruleMulOrDiv1498 = new BitSet(new long[]{0x000000001DC00070L});
public static final BitSet FOLLOW_rulePrimary_in_ruleMulOrDiv1535 = new BitSet(new long[]{0x0000000000C00002L});
public static final BitSet FOLLOW_rulePrimary_in_entryRulePrimary1573 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRulePrimary1583 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_24_in_rulePrimary1621 = new BitSet(new long[]{0x000000001F000070L});
public static final BitSet FOLLOW_ruleExpression_in_rulePrimary1643 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_25_in_rulePrimary1654 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_26_in_rulePrimary1683 = new BitSet(new long[]{0x000000001D000070L});
public static final BitSet FOLLOW_rulePrimary_in_rulePrimary1704 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAtomic_in_rulePrimary1733 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAtomic_in_entryRuleAtomic1768 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleAtomic1778 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_INT_in_ruleAtomic1830 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_STRING_in_ruleAtomic1869 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_27_in_ruleAtomic1911 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_28_in_ruleAtomic1940 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleAtomic1993 = new BitSet(new long[]{0x0000000000000002L});
}