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;
}
}
}
break;
}
char_literal49 = (Token) match(
input,
32,
FOLLOW_32_in_function703);
stream_32.add(char_literal49);
// AST REWRITE
// elements: IDENT, logicalExpression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
final RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(
adaptor,
"rule retval",
retval != null ? retval.getTree() : null);
root_0 = (CommonTree) adaptor.nil();