Token IDENT44 = null;
Token char_literal45 = null;
Token char_literal47 = null;
Token char_literal49 = null;
ParserRuleReturnScope logicalExpression46 = null;
ParserRuleReturnScope logicalExpression48 = null;
final CommonTree IDENT44_tree = null;
final CommonTree char_literal45_tree = null;
final CommonTree char_literal47_tree = null;
final CommonTree char_literal49_tree = null;
final RewriteRuleTokenStream stream_IDENT = new RewriteRuleTokenStream(
adaptor,
"token IDENT");
final RewriteRuleTokenStream stream_32 = new RewriteRuleTokenStream(
adaptor,
"token 32");
final RewriteRuleTokenStream stream_31 = new RewriteRuleTokenStream(
adaptor,
"token 31");
final RewriteRuleTokenStream stream_33 = new RewriteRuleTokenStream(
adaptor,
"token 33");
final RewriteRuleSubtreeStream stream_logicalExpression = new RewriteRuleSubtreeStream(
adaptor,
"rule logicalExpression");
try {
// ECalc.g:150:2: ( IDENT '(' ( logicalExpression ( ','
// logicalExpression )* )? ')' -> ^( IDENT ( logicalExpression )* )
// )
// ECalc.g:150:4: IDENT '(' ( logicalExpression ( ','
// logicalExpression )* )? ')'
{
IDENT44 = (Token) match(
input,
IDENT,
FOLLOW_IDENT_in_function685);
stream_IDENT.add(IDENT44);
char_literal45 = (Token) match(
input,
31,
FOLLOW_31_in_function687);
stream_31.add(char_literal45);
// ECalc.g:150:14: ( logicalExpression ( ',' logicalExpression
// )* )?
int alt13 = 2;
final int LA13_0 = input.LA(1);
if ((((LA13_0 >= BOOLEAN) && (LA13_0 <= DATETIME)) || (LA13_0 == FLOAT) || ((LA13_0 >= IDENT) && (LA13_0 <= INTEGER)) || (LA13_0 == MINUS) || (LA13_0 == NOT) || (LA13_0 == STRING) || (LA13_0 == 31) || (LA13_0 == 34))) {
alt13 = 1;
}
switch (alt13) {
case 1:
// ECalc.g:150:16: logicalExpression ( ',' logicalExpression
// )*
{
pushFollow(FOLLOW_logicalExpression_in_function691);
logicalExpression46 = logicalExpression();
state._fsp--;
stream_logicalExpression.add(logicalExpression46.getTree());
// ECalc.g:150:34: ( ',' logicalExpression )*
loop12: while (true) {
int alt12 = 2;
final int LA12_0 = input.LA(1);
if ((LA12_0 == 33)) {
alt12 = 1;
}
switch (alt12) {
case 1:
// ECalc.g:150:35: ',' logicalExpression
{
char_literal47 = (Token) match(
input,
33,
FOLLOW_33_in_function694);
stream_33.add(char_literal47);
pushFollow(FOLLOW_logicalExpression_in_function696);
logicalExpression48 = logicalExpression();
state._fsp--;
stream_logicalExpression.add(logicalExpression48.getTree());
}
break;
default:
break loop12;