
reflex.ReflexTreeWalker Maven / Gradle / Ivy
// $ANTLR 3.5.2 /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g 2016-04-15 08:33:49
package reflex;
import java.math.*;
import java.io.PrintStream;
import reflex.function.*;
import reflex.node.*;
import reflex.node.io.*;
import reflex.node.functional.*;
import reflex.importer.*;
import reflex.debug.*;
import reflex.util.function.LanguageRegistry;
import reflex.util.*;
import reflex.value.ReflexValue;
import org.antlr.runtime.*;
import org.antlr.runtime.tree.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class ReflexTreeWalker extends TreeParser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "ASSIGNMENT", "Add", "All", "And",
"Any", "Archive", "As", "Assert", "Assign", "AsyncCall", "AsyncCallScript",
"AsyncOneShot", "AsyncStatus", "B64Compress", "B64Decompress", "BLOCK",
"BREAK", "Bool", "Break", "CASE", "CBrace", "CBracket", "CONSTASSIGNMENT",
"CONTINUE", "CParen", "Call", "Capabilities", "Case", "Cast", "Catch",
"Chain", "Close", "Collate", "Colon", "Comma", "Comment", "Const", "Continue",
"Copy", "DEFAULT", "DOTTEDASSIGNMENT", "Date", "Debug", "Def", "Default",
"Defined", "Delete", "Difference", "Digit", "Divide", "Do", "DottedIdentifier",
"DoubleQuote", "DropWhile", "ESC", "EXP", "EXPORT", "EXP_LIST", "Else",
"End", "EndLine", "Equals", "Evals", "Excl", "Export", "FORLIST", "FORTO",
"FUNCTION", "FUNC_CALL", "File", "FilterFn", "Fold", "For", "Format",
"FromJson", "GT", "GTEquals", "GenSchema", "GenStruct", "GetCache", "GetCh",
"GetLine", "HasCapability", "ID_LIST", "IF", "IMPORT", "IMPORTAS", "IMPORTPARAMS",
"INCLUDE", "INDEXES", "IS", "Identifier", "If", "Import", "In", "Int",
"Integer", "Is", "IsFile", "IsFolder", "Join", "Json", "KERNEL_CALL",
"KEYVAL", "KEYVAL_LIST", "KernelIdentifier", "Keys", "LIST", "LOOKUP",
"LT", "LTEquals", "Lib", "Long", "MAPDEF", "MATCH", "MD5", "METABLOCK",
"METAPULL", "MINUSASSIGNMENT", "MapFn", "Match", "Matches", "Merge", "MergeIf",
"Message", "MkDir", "Modulus", "Multiply", "NEGATE", "NEquals", "New",
"Null", "Number", "OBrace", "OBracket", "OParen", "OTHERWISE", "Or", "Otherwise",
"PATCH", "PFORLIST", "PFORTO", "PFor", "PLUSASSIGNMENT", "PORTF", "PORTR",
"PULL", "PUSH", "PackageIdentifier", "Patch", "Port", "PortA", "Pow",
"Print", "Println", "PropertyPlaceholder", "PullVal", "PushVal", "PutCache",
"QMark", "QUALIFIED_FUNC_CALL", "QuotedString", "RANGEINDEX", "RANGELOOKUP",
"REQUIRE", "RETURN", "RPull", "RPush", "Rand", "ReadDir", "Remove", "Replace",
"Return", "Round", "SColon", "SPARSE", "SPARSELOOKUP", "STATEMENTS", "SWITCH",
"Signal", "SingleQuote", "Size", "Sleep", "Sort", "Space", "Spawn", "Split",
"SplitWith", "String", "Structure", "Subtract", "Suspend", "SuspendWait",
"Switch", "TERNARY", "TakeWhile", "Template", "Throw", "Time", "Timer",
"To", "Transpose", "Try", "TypeOf", "UNARY_MIN", "Unique", "Unsupported",
"UrlDecode", "UrlEncode", "Use", "Uuid", "Vars", "Wait", "While", "'+='",
"'-='", "'..'", "'<<--'", "'array'", "'integer'", "'list'", "'meta'",
"'number'", "'of'", "'param'", "'property'", "'string'", "'with'"
};
public static final int EOF=-1;
public static final int T__218=218;
public static final int T__219=219;
public static final int T__220=220;
public static final int T__221=221;
public static final int T__222=222;
public static final int T__223=223;
public static final int T__224=224;
public static final int T__225=225;
public static final int T__226=226;
public static final int T__227=227;
public static final int T__228=228;
public static final int T__229=229;
public static final int T__230=230;
public static final int T__231=231;
public static final int ASSIGNMENT=4;
public static final int Add=5;
public static final int All=6;
public static final int And=7;
public static final int Any=8;
public static final int Archive=9;
public static final int As=10;
public static final int Assert=11;
public static final int Assign=12;
public static final int AsyncCall=13;
public static final int AsyncCallScript=14;
public static final int AsyncOneShot=15;
public static final int AsyncStatus=16;
public static final int B64Compress=17;
public static final int B64Decompress=18;
public static final int BLOCK=19;
public static final int BREAK=20;
public static final int Bool=21;
public static final int Break=22;
public static final int CASE=23;
public static final int CBrace=24;
public static final int CBracket=25;
public static final int CONSTASSIGNMENT=26;
public static final int CONTINUE=27;
public static final int CParen=28;
public static final int Call=29;
public static final int Capabilities=30;
public static final int Case=31;
public static final int Cast=32;
public static final int Catch=33;
public static final int Chain=34;
public static final int Close=35;
public static final int Collate=36;
public static final int Colon=37;
public static final int Comma=38;
public static final int Comment=39;
public static final int Const=40;
public static final int Continue=41;
public static final int Copy=42;
public static final int DEFAULT=43;
public static final int DOTTEDASSIGNMENT=44;
public static final int Date=45;
public static final int Debug=46;
public static final int Def=47;
public static final int Default=48;
public static final int Defined=49;
public static final int Delete=50;
public static final int Difference=51;
public static final int Digit=52;
public static final int Divide=53;
public static final int Do=54;
public static final int DottedIdentifier=55;
public static final int DoubleQuote=56;
public static final int DropWhile=57;
public static final int ESC=58;
public static final int EXP=59;
public static final int EXPORT=60;
public static final int EXP_LIST=61;
public static final int Else=62;
public static final int End=63;
public static final int EndLine=64;
public static final int Equals=65;
public static final int Evals=66;
public static final int Excl=67;
public static final int Export=68;
public static final int FORLIST=69;
public static final int FORTO=70;
public static final int FUNCTION=71;
public static final int FUNC_CALL=72;
public static final int File=73;
public static final int FilterFn=74;
public static final int Fold=75;
public static final int For=76;
public static final int Format=77;
public static final int FromJson=78;
public static final int GT=79;
public static final int GTEquals=80;
public static final int GenSchema=81;
public static final int GenStruct=82;
public static final int GetCache=83;
public static final int GetCh=84;
public static final int GetLine=85;
public static final int HasCapability=86;
public static final int ID_LIST=87;
public static final int IF=88;
public static final int IMPORT=89;
public static final int IMPORTAS=90;
public static final int IMPORTPARAMS=91;
public static final int INCLUDE=92;
public static final int INDEXES=93;
public static final int IS=94;
public static final int Identifier=95;
public static final int If=96;
public static final int Import=97;
public static final int In=98;
public static final int Int=99;
public static final int Integer=100;
public static final int Is=101;
public static final int IsFile=102;
public static final int IsFolder=103;
public static final int Join=104;
public static final int Json=105;
public static final int KERNEL_CALL=106;
public static final int KEYVAL=107;
public static final int KEYVAL_LIST=108;
public static final int KernelIdentifier=109;
public static final int Keys=110;
public static final int LIST=111;
public static final int LOOKUP=112;
public static final int LT=113;
public static final int LTEquals=114;
public static final int Lib=115;
public static final int Long=116;
public static final int MAPDEF=117;
public static final int MATCH=118;
public static final int MD5=119;
public static final int METABLOCK=120;
public static final int METAPULL=121;
public static final int MINUSASSIGNMENT=122;
public static final int MapFn=123;
public static final int Match=124;
public static final int Matches=125;
public static final int Merge=126;
public static final int MergeIf=127;
public static final int Message=128;
public static final int MkDir=129;
public static final int Modulus=130;
public static final int Multiply=131;
public static final int NEGATE=132;
public static final int NEquals=133;
public static final int New=134;
public static final int Null=135;
public static final int Number=136;
public static final int OBrace=137;
public static final int OBracket=138;
public static final int OParen=139;
public static final int OTHERWISE=140;
public static final int Or=141;
public static final int Otherwise=142;
public static final int PATCH=143;
public static final int PFORLIST=144;
public static final int PFORTO=145;
public static final int PFor=146;
public static final int PLUSASSIGNMENT=147;
public static final int PORTF=148;
public static final int PORTR=149;
public static final int PULL=150;
public static final int PUSH=151;
public static final int PackageIdentifier=152;
public static final int Patch=153;
public static final int Port=154;
public static final int PortA=155;
public static final int Pow=156;
public static final int Print=157;
public static final int Println=158;
public static final int PropertyPlaceholder=159;
public static final int PullVal=160;
public static final int PushVal=161;
public static final int PutCache=162;
public static final int QMark=163;
public static final int QUALIFIED_FUNC_CALL=164;
public static final int QuotedString=165;
public static final int RANGEINDEX=166;
public static final int RANGELOOKUP=167;
public static final int REQUIRE=168;
public static final int RETURN=169;
public static final int RPull=170;
public static final int RPush=171;
public static final int Rand=172;
public static final int ReadDir=173;
public static final int Remove=174;
public static final int Replace=175;
public static final int Return=176;
public static final int Round=177;
public static final int SColon=178;
public static final int SPARSE=179;
public static final int SPARSELOOKUP=180;
public static final int STATEMENTS=181;
public static final int SWITCH=182;
public static final int Signal=183;
public static final int SingleQuote=184;
public static final int Size=185;
public static final int Sleep=186;
public static final int Sort=187;
public static final int Space=188;
public static final int Spawn=189;
public static final int Split=190;
public static final int SplitWith=191;
public static final int String=192;
public static final int Structure=193;
public static final int Subtract=194;
public static final int Suspend=195;
public static final int SuspendWait=196;
public static final int Switch=197;
public static final int TERNARY=198;
public static final int TakeWhile=199;
public static final int Template=200;
public static final int Throw=201;
public static final int Time=202;
public static final int Timer=203;
public static final int To=204;
public static final int Transpose=205;
public static final int Try=206;
public static final int TypeOf=207;
public static final int UNARY_MIN=208;
public static final int Unique=209;
public static final int Unsupported=210;
public static final int UrlDecode=211;
public static final int UrlEncode=212;
public static final int Use=213;
public static final int Uuid=214;
public static final int Vars=215;
public static final int Wait=216;
public static final int While=217;
// delegates
public TreeParser[] getDelegates() {
return new TreeParser[] {};
}
// delegators
public ReflexTreeWalker(TreeNodeStream input) {
this(input, new RecognizerSharedState());
}
public ReflexTreeWalker(TreeNodeStream input, RecognizerSharedState state) {
super(input, state);
}
@Override public String[] getTokenNames() { return ReflexTreeWalker.tokenNames; }
@Override public String getGrammarFileName() { return "/Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g"; }
public LanguageRegistry languageRegistry = null;
public Scope currentScope = null;
private IReflexHandler handler = new DummyReflexHandler();
public ImportHandler importHandler = new ImportHandler();
private NamespaceStack namespaceStack;
public ReflexTreeWalker(CommonTreeNodeStream nodes, LanguageRegistry languageRegistry) {
this(nodes, null, languageRegistry);
}
public ReflexTreeWalker(CommonTreeNodeStream nds, Scope sc, LanguageRegistry languageRegistry) {
this(nds, sc, languageRegistry, languageRegistry.getNamespaceStack());
}
public ReflexTreeWalker(CommonTreeNodeStream nds, Scope sc, LanguageRegistry languageRegistry, NamespaceStack namespaceStack) {
super(nds);
if (sc == null) {
currentScope = Scope.getInitialScope();
} else {
currentScope = sc;
}
this.languageRegistry = languageRegistry;
importHandler.setReflexHandler(handler);
this.namespaceStack = namespaceStack;
}
public void setReflexHandler(IReflexHandler handler) {
this.handler = handler;
importHandler.setReflexHandler(handler);
}
public IReflexHandler getReflexHandler() {
return handler;
}
public void setImportHandler(ImportHandler importHandler) {
this.importHandler = importHandler;
}
public ImportHandler getImportHandler() {
return importHandler;
}
@Override
public void reportError(RecognitionException e) {
super.reportError(e);
}
// $ANTLR start "walk"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:75:1: walk returns [ReflexNode node] : ( metaBlock )? block ;
public final ReflexNode walk() throws RecognitionException {
ReflexNode node = null;
ReflexNode block1 =null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:76:3: ( ( metaBlock )? block )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:76:6: ( metaBlock )? block
{
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:76:6: ( metaBlock )?
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==METABLOCK) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:76:6: metaBlock
{
pushFollow(FOLLOW_metaBlock_in_walk50);
metaBlock();
state._fsp--;
}
break;
}
pushFollow(FOLLOW_block_in_walk53);
block1=block();
state._fsp--;
node = block1;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "walk"
// $ANTLR start "metaBlock"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:80:1: metaBlock : METABLOCK ;
public final void metaBlock() throws RecognitionException {
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:81:3: ( METABLOCK )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:81:5: METABLOCK
{
match(input,METABLOCK,FOLLOW_METABLOCK_in_metaBlock69);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "metaBlock"
// $ANTLR start "block"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:84:1: block returns [ReflexNode node] : ^( BLOCK ^( STATEMENTS ( statement )* ) ^( RETURN ( expression )? ) ) ;
public final ReflexNode block() throws RecognitionException {
ReflexNode node = null;
ReflexNode statement2 =null;
ReflexNode expression3 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
Scope scope = new Scope(currentScope);
currentScope = scope;
BlockNode bn = new BlockNode(line, handler, currentScope);
node = bn;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:96:3: ( ^( BLOCK ^( STATEMENTS ( statement )* ) ^( RETURN ( expression )? ) ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:96:6: ^( BLOCK ^( STATEMENTS ( statement )* ) ^( RETURN ( expression )? ) )
{
match(input,BLOCK,FOLLOW_BLOCK_in_block98);
match(input, Token.DOWN, null);
match(input,STATEMENTS,FOLLOW_STATEMENTS_in_block109);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:97:22: ( statement )*
loop2:
while (true) {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==ASSIGNMENT||LA2_0==BREAK||(LA2_0 >= CONSTASSIGNMENT && LA2_0 <= CONTINUE)||LA2_0==EXPORT||(LA2_0 >= FORLIST && LA2_0 <= FORTO)||LA2_0==FUNC_CALL||(LA2_0 >= IF && LA2_0 <= IMPORT)||LA2_0==KERNEL_CALL||LA2_0==MATCH||(LA2_0 >= METAPULL && LA2_0 <= MINUSASSIGNMENT)||(LA2_0 >= PATCH && LA2_0 <= PFORTO)||(LA2_0 >= PLUSASSIGNMENT && LA2_0 <= PUSH)||LA2_0==QUALIFIED_FUNC_CALL||LA2_0==SWITCH||LA2_0==Throw||LA2_0==Try||LA2_0==While) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:97:23: statement
{
pushFollow(FOLLOW_statement_in_block112);
statement2=statement();
state._fsp--;
bn.addStatement(statement2);
}
break;
default :
break loop2;
}
}
match(input, Token.UP, null);
}
match(input,RETURN,FOLLOW_RETURN_in_block129);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:98:22: ( expression )?
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==Add||LA3_0==And||LA3_0==Bool||LA3_0==Divide||LA3_0==Equals||(LA3_0 >= GT && LA3_0 <= GTEquals)||LA3_0==In||LA3_0==Integer||(LA3_0 >= LOOKUP && LA3_0 <= LTEquals)||LA3_0==Long||(LA3_0 >= Modulus && LA3_0 <= NEquals)||(LA3_0 >= Null && LA3_0 <= Number)||LA3_0==Or||LA3_0==Pow||LA3_0==RANGELOOKUP||LA3_0==SPARSE||LA3_0==Subtract||LA3_0==TERNARY||LA3_0==UNARY_MIN) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:98:23: expression
{
pushFollow(FOLLOW_expression_in_block136);
expression3=expression();
state._fsp--;
bn.addReturn(expression3);
}
break;
}
match(input, Token.UP, null);
}
match(input, Token.UP, null);
}
currentScope = currentScope.parent();
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "block"
// $ANTLR start "exportStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:102:1: exportStatement returns [ReflexNode node] : ^( EXPORT i= Identifier b= block ) ;
public final ReflexNode exportStatement() throws RecognitionException {
ReflexNode node = null;
CommonTree i=null;
ReflexNode b =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:110:3: ( ^( EXPORT i= Identifier b= block ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:110:5: ^( EXPORT i= Identifier b= block )
{
match(input,EXPORT,FOLLOW_EXPORT_in_exportStatement177);
match(input, Token.DOWN, null);
i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_exportStatement181);
namespaceStack.push((i!=null?i.getText():null));
pushFollow(FOLLOW_block_in_exportStatement187);
b=block();
state._fsp--;
match(input, Token.UP, null);
node = new ExportStatementNode(line, handler, currentScope, b );
}
namespaceStack.pop();
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "exportStatement"
// $ANTLR start "statement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:114:1: statement returns [ReflexNode node] : ( assignment | pull | metapull | push | patchStatement | port | importStatement | exportStatement | breakStatement | continueStatement | functionCall | throwStatement | matchStatement | switchStatement | ifStatement | forStatement | pforStatement | whileStatement | guardedStatement );
public final ReflexNode statement() throws RecognitionException {
ReflexNode node = null;
ReflexNode assignment4 =null;
ReflexNode pull5 =null;
ReflexNode metapull6 =null;
ReflexNode push7 =null;
ReflexNode patchStatement8 =null;
ReflexNode port9 =null;
ReflexNode importStatement10 =null;
ReflexNode exportStatement11 =null;
ReflexNode breakStatement12 =null;
ReflexNode continueStatement13 =null;
ReflexNode functionCall14 =null;
ReflexNode throwStatement15 =null;
ReflexNode matchStatement16 =null;
ReflexNode switchStatement17 =null;
ReflexNode ifStatement18 =null;
ReflexNode forStatement19 =null;
ReflexNode pforStatement20 =null;
ReflexNode whileStatement21 =null;
ReflexNode guardedStatement22 =null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:115:3: ( assignment | pull | metapull | push | patchStatement | port | importStatement | exportStatement | breakStatement | continueStatement | functionCall | throwStatement | matchStatement | switchStatement | ifStatement | forStatement | pforStatement | whileStatement | guardedStatement )
int alt4=19;
switch ( input.LA(1) ) {
case ASSIGNMENT:
case CONSTASSIGNMENT:
case MINUSASSIGNMENT:
case PLUSASSIGNMENT:
{
alt4=1;
}
break;
case PULL:
{
alt4=2;
}
break;
case METAPULL:
{
alt4=3;
}
break;
case PUSH:
{
alt4=4;
}
break;
case PATCH:
{
alt4=5;
}
break;
case PORTF:
case PORTR:
{
alt4=6;
}
break;
case IMPORT:
{
alt4=7;
}
break;
case EXPORT:
{
alt4=8;
}
break;
case BREAK:
{
alt4=9;
}
break;
case CONTINUE:
{
alt4=10;
}
break;
case FUNC_CALL:
case KERNEL_CALL:
case QUALIFIED_FUNC_CALL:
{
alt4=11;
}
break;
case Throw:
{
alt4=12;
}
break;
case MATCH:
{
alt4=13;
}
break;
case SWITCH:
{
alt4=14;
}
break;
case IF:
{
alt4=15;
}
break;
case FORLIST:
case FORTO:
{
alt4=16;
}
break;
case PFORLIST:
case PFORTO:
{
alt4=17;
}
break;
case While:
{
alt4=18;
}
break;
case Try:
{
alt4=19;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 4, 0, input);
throw nvae;
}
switch (alt4) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:115:6: assignment
{
pushFollow(FOLLOW_assignment_in_statement209);
assignment4=assignment();
state._fsp--;
node = assignment4;
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:116:6: pull
{
pushFollow(FOLLOW_pull_in_statement218);
pull5=pull();
state._fsp--;
node = pull5;
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:117:6: metapull
{
pushFollow(FOLLOW_metapull_in_statement227);
metapull6=metapull();
state._fsp--;
node = metapull6;
}
break;
case 4 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:118:6: push
{
pushFollow(FOLLOW_push_in_statement236);
push7=push();
state._fsp--;
node = push7;
}
break;
case 5 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:119:6: patchStatement
{
pushFollow(FOLLOW_patchStatement_in_statement245);
patchStatement8=patchStatement();
state._fsp--;
node = patchStatement8;
}
break;
case 6 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:120:6: port
{
pushFollow(FOLLOW_port_in_statement254);
port9=port();
state._fsp--;
node = port9;
}
break;
case 7 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:121:6: importStatement
{
pushFollow(FOLLOW_importStatement_in_statement263);
importStatement10=importStatement();
state._fsp--;
node = importStatement10;
}
break;
case 8 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:122:6: exportStatement
{
pushFollow(FOLLOW_exportStatement_in_statement272);
exportStatement11=exportStatement();
state._fsp--;
node = exportStatement11;
}
break;
case 9 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:123:6: breakStatement
{
pushFollow(FOLLOW_breakStatement_in_statement281);
breakStatement12=breakStatement();
state._fsp--;
node = breakStatement12;
}
break;
case 10 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:124:6: continueStatement
{
pushFollow(FOLLOW_continueStatement_in_statement290);
continueStatement13=continueStatement();
state._fsp--;
node = continueStatement13;
}
break;
case 11 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:125:6: functionCall
{
pushFollow(FOLLOW_functionCall_in_statement299);
functionCall14=functionCall();
state._fsp--;
node = functionCall14;
}
break;
case 12 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:126:6: throwStatement
{
pushFollow(FOLLOW_throwStatement_in_statement308);
throwStatement15=throwStatement();
state._fsp--;
node = throwStatement15;
}
break;
case 13 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:127:6: matchStatement
{
pushFollow(FOLLOW_matchStatement_in_statement317);
matchStatement16=matchStatement();
state._fsp--;
node = matchStatement16;
}
break;
case 14 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:128:6: switchStatement
{
pushFollow(FOLLOW_switchStatement_in_statement326);
switchStatement17=switchStatement();
state._fsp--;
node = switchStatement17;
}
break;
case 15 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:129:6: ifStatement
{
pushFollow(FOLLOW_ifStatement_in_statement335);
ifStatement18=ifStatement();
state._fsp--;
node = ifStatement18;
}
break;
case 16 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:130:6: forStatement
{
pushFollow(FOLLOW_forStatement_in_statement344);
forStatement19=forStatement();
state._fsp--;
node = forStatement19;
}
break;
case 17 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:131:6: pforStatement
{
pushFollow(FOLLOW_pforStatement_in_statement353);
pforStatement20=pforStatement();
state._fsp--;
node = pforStatement20;
}
break;
case 18 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:132:6: whileStatement
{
pushFollow(FOLLOW_whileStatement_in_statement362);
whileStatement21=whileStatement();
state._fsp--;
node = whileStatement21;
}
break;
case 19 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:133:6: guardedStatement
{
pushFollow(FOLLOW_guardedStatement_in_statement371);
guardedStatement22=guardedStatement();
state._fsp--;
node = guardedStatement22;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "statement"
// $ANTLR start "variant"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:136:1: variant returns [ReflexNode node] : ( Integer | Number | String | Long | Bool | Default );
public final ReflexNode variant() throws RecognitionException {
ReflexNode node = null;
CommonTree Integer23=null;
CommonTree Number24=null;
CommonTree String25=null;
CommonTree Long26=null;
CommonTree Bool27=null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:141:3: ( Integer | Number | String | Long | Bool | Default )
int alt5=6;
switch ( input.LA(1) ) {
case Integer:
{
alt5=1;
}
break;
case Number:
{
alt5=2;
}
break;
case String:
{
alt5=3;
}
break;
case Long:
{
alt5=4;
}
break;
case Bool:
{
alt5=5;
}
break;
case Default:
{
alt5=6;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:141:6: Integer
{
Integer23=(CommonTree)match(input,Integer,FOLLOW_Integer_in_variant398);
node = AtomNode.getIntegerAtom(line, handler, currentScope, (Integer23!=null?Integer23.getText():null));
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:142:6: Number
{
Number24=(CommonTree)match(input,Number,FOLLOW_Number_in_variant407);
node = new AtomNode(line, handler, currentScope, new BigDecimal((Number24!=null?Number24.getText():null), MathContext.DECIMAL128));
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:143:6: String
{
String25=(CommonTree)match(input,String,FOLLOW_String_in_variant416);
node = AtomNode.getStringAtom(line, handler, currentScope, (String25!=null?String25.getText():null));
}
break;
case 4 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:144:6: Long
{
Long26=(CommonTree)match(input,Long,FOLLOW_Long_in_variant425);
node = new AtomNode(line, handler, currentScope, java.lang.Long.parseLong((Long26!=null?Long26.getText():null)));
}
break;
case 5 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:145:6: Bool
{
Bool27=(CommonTree)match(input,Bool,FOLLOW_Bool_in_variant434);
node = new AtomNode(line, handler, currentScope, Boolean.parseBoolean((Bool27!=null?Bool27.getText():null)));
}
break;
case 6 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:146:6: Default
{
match(input,Default,FOLLOW_Default_in_variant443);
node = null;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "variant"
// $ANTLR start "switchStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:149:1: switchStatement returns [ReflexNode node] : SWITCH expression ( caseStatement[switchNode] )+ ;
public final ReflexNode switchStatement() throws RecognitionException {
ReflexNode node = null;
ReflexNode expression28 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
SwitchNode switchNode = new SwitchNode(line, handler, currentScope);
node = switchNode;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:156:3: ( SWITCH expression ( caseStatement[switchNode] )+ )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:156:6: SWITCH expression ( caseStatement[switchNode] )+
{
match(input,SWITCH,FOLLOW_SWITCH_in_switchStatement469);
pushFollow(FOLLOW_expression_in_switchStatement471);
expression28=expression();
state._fsp--;
switchNode.setSwitchValue(expression28);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:156:73: ( caseStatement[switchNode] )+
int cnt6=0;
loop6:
while (true) {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==Bool||LA6_0==Default||LA6_0==Integer||LA6_0==Long||LA6_0==Number||LA6_0==String) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:156:73: caseStatement[switchNode]
{
pushFollow(FOLLOW_caseStatement_in_switchStatement475);
caseStatement(switchNode);
state._fsp--;
}
break;
default :
if ( cnt6 >= 1 ) break loop6;
EarlyExitException eee = new EarlyExitException(6, input);
throw eee;
}
cnt6++;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "switchStatement"
// $ANTLR start "caseStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:159:1: caseStatement[SwitchNode switchNode] : (v= variant )+ block ;
public final void caseStatement(SwitchNode switchNode) throws RecognitionException {
ReflexNode v =null;
ReflexNode block29 =null;
List caseNodes = new ArrayList<>();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:163:3: ( (v= variant )+ block )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:163:5: (v= variant )+ block
{
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:163:5: (v= variant )+
int cnt7=0;
loop7:
while (true) {
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==Bool||LA7_0==Default||LA7_0==Integer||LA7_0==Long||LA7_0==Number||LA7_0==String) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:163:6: v= variant
{
pushFollow(FOLLOW_variant_in_caseStatement503);
v=variant();
state._fsp--;
caseNodes.add(v);
}
break;
default :
if ( cnt7 >= 1 ) break loop7;
EarlyExitException eee = new EarlyExitException(7, input);
throw eee;
}
cnt7++;
}
pushFollow(FOLLOW_block_in_caseStatement509);
block29=block();
state._fsp--;
for (ReflexNode caseNode : caseNodes) switchNode.addCase(caseNode, block29);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "caseStatement"
// $ANTLR start "matchStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:167:1: matchStatement returns [ReflexNode node] : MATCH (ident= Identifier )? expression ( actions[idNode, matchNode] )* ( otherwise[idNode, matchNode] )? ;
public final ReflexNode matchStatement() throws RecognitionException {
ReflexNode node = null;
CommonTree ident=null;
ReflexNode expression30 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
MatchNode matchNode = new MatchNode(line, handler, currentScope);
node = matchNode;
String matchName = "__mAtCh__";
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:175:3: ( MATCH (ident= Identifier )? expression ( actions[idNode, matchNode] )* ( otherwise[idNode, matchNode] )? )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:175:5: MATCH (ident= Identifier )? expression ( actions[idNode, matchNode] )* ( otherwise[idNode, matchNode] )?
{
match(input,MATCH,FOLLOW_MATCH_in_matchStatement539);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:175:16: (ident= Identifier )?
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==Identifier) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:175:16: ident= Identifier
{
ident=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_matchStatement543);
}
break;
}
if (ident != null) matchName=ident.getText();
pushFollow(FOLLOW_expression_in_matchStatement553);
expression30=expression();
state._fsp--;
matchNode.setMatchValue(new AssignmentNode(line, handler, currentScope, matchName, null, expression30));
IdentifierNode idNode = new IdentifierNode(line, handler, currentScope, matchName, namespaceStack.asPrefix());
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:180:5: ( actions[idNode, matchNode] )*
loop9:
while (true) {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==Is) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:180:5: actions[idNode, matchNode]
{
pushFollow(FOLLOW_actions_in_matchStatement561);
actions(idNode, matchNode);
state._fsp--;
}
break;
default :
break loop9;
}
}
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:181:5: ( otherwise[idNode, matchNode] )?
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==OTHERWISE) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:181:5: otherwise[idNode, matchNode]
{
pushFollow(FOLLOW_otherwise_in_matchStatement570);
otherwise(idNode, matchNode);
state._fsp--;
}
break;
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "matchStatement"
// $ANTLR start "actions"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:184:1: actions[IdentifierNode idNode, MatchNode matchNode] : (comp= comparator[idNode] )+ block ;
public final void actions(IdentifierNode idNode, MatchNode matchNode) throws RecognitionException {
ReflexNode comp =null;
ReflexNode block31 =null;
List compNodes = new ArrayList<>();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:188:3: ( (comp= comparator[idNode] )+ block )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:188:5: (comp= comparator[idNode] )+ block
{
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:188:5: (comp= comparator[idNode] )+
int cnt11=0;
loop11:
while (true) {
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==Is) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:188:6: comp= comparator[idNode]
{
pushFollow(FOLLOW_comparator_in_actions595);
comp=comparator(idNode);
state._fsp--;
compNodes.add(comp);
}
break;
default :
if ( cnt11 >= 1 ) break loop11;
EarlyExitException eee = new EarlyExitException(11, input);
throw eee;
}
cnt11++;
}
pushFollow(FOLLOW_block_in_actions602);
block31=block();
state._fsp--;
for (ReflexNode compNode : compNodes) matchNode.addCase(compNode, block31);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "actions"
// $ANTLR start "comparator"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:191:1: comparator[IdentifierNode idNode] returns [ReflexNode node] : ( Is Equals rhs= expression | Is NEquals rhs= expression | Is GTEquals rhs= expression | Is LTEquals rhs= expression | Is GT rhs= expression | Is LT rhs= expression );
public final ReflexNode comparator(IdentifierNode idNode) throws RecognitionException {
ReflexNode node = null;
ReflexNode rhs =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:196:3: ( Is Equals rhs= expression | Is NEquals rhs= expression | Is GTEquals rhs= expression | Is LTEquals rhs= expression | Is GT rhs= expression | Is LT rhs= expression )
int alt12=6;
int LA12_0 = input.LA(1);
if ( (LA12_0==Is) ) {
switch ( input.LA(2) ) {
case Equals:
{
alt12=1;
}
break;
case NEquals:
{
alt12=2;
}
break;
case GTEquals:
{
alt12=3;
}
break;
case LTEquals:
{
alt12=4;
}
break;
case GT:
{
alt12=5;
}
break;
case LT:
{
alt12=6;
}
break;
default:
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 12, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 12, 0, input);
throw nvae;
}
switch (alt12) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:196:6: Is Equals rhs= expression
{
match(input,Is,FOLLOW_Is_in_comparator631);
match(input,Equals,FOLLOW_Equals_in_comparator633);
pushFollow(FOLLOW_expression_in_comparator637);
rhs=expression();
state._fsp--;
node = new EqualsNode(line, handler, currentScope, idNode, rhs);
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:197:6: Is NEquals rhs= expression
{
match(input,Is,FOLLOW_Is_in_comparator646);
match(input,NEquals,FOLLOW_NEquals_in_comparator648);
pushFollow(FOLLOW_expression_in_comparator652);
rhs=expression();
state._fsp--;
node = new NotEqualsNode(line,handler, currentScope, idNode, rhs);
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:198:6: Is GTEquals rhs= expression
{
match(input,Is,FOLLOW_Is_in_comparator661);
match(input,GTEquals,FOLLOW_GTEquals_in_comparator663);
pushFollow(FOLLOW_expression_in_comparator667);
rhs=expression();
state._fsp--;
node = new GTEqualsNode(line, handler, currentScope, idNode, rhs);
}
break;
case 4 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:199:6: Is LTEquals rhs= expression
{
match(input,Is,FOLLOW_Is_in_comparator676);
match(input,LTEquals,FOLLOW_LTEquals_in_comparator678);
pushFollow(FOLLOW_expression_in_comparator682);
rhs=expression();
state._fsp--;
node = new LTEqualsNode(line, handler, currentScope, idNode, rhs);
}
break;
case 5 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:200:6: Is GT rhs= expression
{
match(input,Is,FOLLOW_Is_in_comparator691);
match(input,GT,FOLLOW_GT_in_comparator693);
pushFollow(FOLLOW_expression_in_comparator697);
rhs=expression();
state._fsp--;
node = new GTNode(line, handler, currentScope, idNode, rhs);
}
break;
case 6 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:201:6: Is LT rhs= expression
{
match(input,Is,FOLLOW_Is_in_comparator706);
match(input,LT,FOLLOW_LT_in_comparator708);
pushFollow(FOLLOW_expression_in_comparator712);
rhs=expression();
state._fsp--;
node = new LTNode(line, handler, currentScope, idNode, rhs);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "comparator"
// $ANTLR start "otherwise"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:204:1: otherwise[ReflexNode exp, MatchNode matchNode] : OTHERWISE block ;
public final void otherwise(ReflexNode exp, MatchNode matchNode) throws RecognitionException {
ReflexNode block32 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:209:3: ( OTHERWISE block )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:209:5: OTHERWISE block
{
match(input,OTHERWISE,FOLLOW_OTHERWISE_in_otherwise733);
pushFollow(FOLLOW_block_in_otherwise735);
block32=block();
state._fsp--;
matchNode.addCase(new AtomNode(line, handler, currentScope, new ReflexValue(line, Boolean.TRUE)), block32);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "otherwise"
// $ANTLR start "assignment"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:212:1: assignment returns [ReflexNode node] : ( ^( CONSTASSIGNMENT i= Identifier e= expression ) | ^( ASSIGNMENT i= ( Identifier | DottedIdentifier ) (x= indexes )? e= expression ) | ^( PLUSASSIGNMENT i= Identifier e= expression ) | ^( MINUSASSIGNMENT i= Identifier e= expression ) );
public final ReflexNode assignment() throws RecognitionException {
ReflexNode node = null;
CommonTree i=null;
ReflexNode e =null;
java.util.List> x =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:217:3: ( ^( CONSTASSIGNMENT i= Identifier e= expression ) | ^( ASSIGNMENT i= ( Identifier | DottedIdentifier ) (x= indexes )? e= expression ) | ^( PLUSASSIGNMENT i= Identifier e= expression ) | ^( MINUSASSIGNMENT i= Identifier e= expression ) )
int alt14=4;
switch ( input.LA(1) ) {
case CONSTASSIGNMENT:
{
alt14=1;
}
break;
case ASSIGNMENT:
{
alt14=2;
}
break;
case PLUSASSIGNMENT:
{
alt14=3;
}
break;
case MINUSASSIGNMENT:
{
alt14=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 14, 0, input);
throw nvae;
}
switch (alt14) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:217:6: ^( CONSTASSIGNMENT i= Identifier e= expression )
{
match(input,CONSTASSIGNMENT,FOLLOW_CONSTASSIGNMENT_in_assignment761);
match(input, Token.DOWN, null);
i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_assignment765);
pushFollow(FOLLOW_expression_in_assignment769);
e=expression();
state._fsp--;
match(input, Token.UP, null);
node = new ConstAssignmentNode(line, handler, currentScope, (i!=null?i.getText():null), e,
namespaceStack.asPrefix());
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:219:5: ^( ASSIGNMENT i= ( Identifier | DottedIdentifier ) (x= indexes )? e= expression )
{
match(input,ASSIGNMENT,FOLLOW_ASSIGNMENT_in_assignment779);
match(input, Token.DOWN, null);
i=(CommonTree)input.LT(1);
if ( input.LA(1)==DottedIdentifier||input.LA(1)==Identifier ) {
input.consume();
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:219:53: (x= indexes )?
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==INDEXES) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:219:53: x= indexes
{
pushFollow(FOLLOW_indexes_in_assignment793);
x=indexes();
state._fsp--;
}
break;
}
pushFollow(FOLLOW_expression_in_assignment798);
e=expression();
state._fsp--;
match(input, Token.UP, null);
node = new AssignmentNode(line, handler, currentScope, (i!=null?i.getText():null), x, e);
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:221:5: ^( PLUSASSIGNMENT i= Identifier e= expression )
{
match(input,PLUSASSIGNMENT,FOLLOW_PLUSASSIGNMENT_in_assignment813);
match(input, Token.DOWN, null);
i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_assignment817);
pushFollow(FOLLOW_expression_in_assignment821);
e=expression();
state._fsp--;
match(input, Token.UP, null);
node = new PlusAssignmentNode(line, handler, currentScope, (i!=null?i.getText():null), e);
}
break;
case 4 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:223:5: ^( MINUSASSIGNMENT i= Identifier e= expression )
{
match(input,MINUSASSIGNMENT,FOLLOW_MINUSASSIGNMENT_in_assignment836);
match(input, Token.DOWN, null);
i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_assignment840);
pushFollow(FOLLOW_expression_in_assignment844);
e=expression();
state._fsp--;
match(input, Token.UP, null);
node = new PlusAssignmentNode(line, handler, currentScope, (i!=null?i.getText():null), new UnaryMinusNode(line, handler, currentScope, e));
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "assignment"
// $ANTLR start "breakStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:227:1: breakStatement returns [ReflexNode node] : BREAK ;
public final ReflexNode breakStatement() throws RecognitionException {
ReflexNode node = null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:232:3: ( BREAK )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:232:5: BREAK
{
match(input,BREAK,FOLLOW_BREAK_in_breakStatement874);
node = new BreakNode(line, handler, currentScope);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "breakStatement"
// $ANTLR start "continueStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:235:1: continueStatement returns [ReflexNode node] : CONTINUE ;
public final ReflexNode continueStatement() throws RecognitionException {
ReflexNode node = null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:240:3: ( CONTINUE )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:240:5: CONTINUE
{
match(input,CONTINUE,FOLLOW_CONTINUE_in_continueStatement898);
node = new ContinueNode(line, handler, currentScope);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "continueStatement"
// $ANTLR start "importStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:243:1: importStatement returns [ReflexNode node] : ^( IMPORT l= Identifier ^( IMPORTAS (alias= Identifier )? ) ^( IMPORTPARAMS (params= exprList )? ) ) ;
public final ReflexNode importStatement() throws RecognitionException {
ReflexNode node = null;
CommonTree l=null;
CommonTree alias=null;
java.util.List params =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:248:3: ( ^( IMPORT l= Identifier ^( IMPORTAS (alias= Identifier )? ) ^( IMPORTPARAMS (params= exprList )? ) ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:248:5: ^( IMPORT l= Identifier ^( IMPORTAS (alias= Identifier )? ) ^( IMPORTPARAMS (params= exprList )? ) )
{
match(input,IMPORT,FOLLOW_IMPORT_in_importStatement923);
match(input, Token.DOWN, null);
l=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_importStatement927);
match(input,IMPORTAS,FOLLOW_IMPORTAS_in_importStatement930);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:248:43: (alias= Identifier )?
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==Identifier) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:248:43: alias= Identifier
{
alias=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_importStatement934);
}
break;
}
match(input, Token.UP, null);
}
match(input,IMPORTPARAMS,FOLLOW_IMPORTPARAMS_in_importStatement939);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:248:78: (params= exprList )?
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==EXP_LIST) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:248:78: params= exprList
{
pushFollow(FOLLOW_exprList_in_importStatement943);
params=exprList();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
match(input, Token.UP, null);
node = new ImportNode(line, handler, currentScope, importHandler, (l!=null?l.getText():null), (alias!=null?alias.getText():null), params);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "importStatement"
// $ANTLR start "port"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:251:1: port returns [ReflexNode node] : ( ^( PORTF l= expression r= expression ) | ^( PORTR expression ) );
public final ReflexNode port() throws RecognitionException {
ReflexNode node = null;
ReflexNode l =null;
ReflexNode r =null;
ReflexNode expression33 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:256:4: ( ^( PORTF l= expression r= expression ) | ^( PORTR expression ) )
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==PORTF) ) {
alt17=1;
}
else if ( (LA17_0==PORTR) ) {
alt17=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 17, 0, input);
throw nvae;
}
switch (alt17) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:256:6: ^( PORTF l= expression r= expression )
{
match(input,PORTF,FOLLOW_PORTF_in_port972);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_port976);
l=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_port980);
r=expression();
state._fsp--;
match(input, Token.UP, null);
node = new PortANode(line, handler, currentScope, l, r);
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:258:6: ^( PORTR expression )
{
match(input,PORTR,FOLLOW_PORTR_in_port997);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_port999);
expression33=expression();
state._fsp--;
match(input, Token.UP, null);
node = new PortANode(line, handler, currentScope, null, expression33);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "port"
// $ANTLR start "patchStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:262:1: patchStatement returns [ReflexNode node] : ^( PATCH l= expression i= Identifier b= block ) ;
public final ReflexNode patchStatement() throws RecognitionException {
ReflexNode node = null;
CommonTree i=null;
ReflexNode l =null;
ReflexNode b =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:267:2: ( ^( PATCH l= expression i= Identifier b= block ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:267:4: ^( PATCH l= expression i= Identifier b= block )
{
match(input,PATCH,FOLLOW_PATCH_in_patchStatement1031);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_patchStatement1035);
l=expression();
state._fsp--;
i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_patchStatement1039);
pushFollow(FOLLOW_block_in_patchStatement1043);
b=block();
state._fsp--;
match(input, Token.UP, null);
node = new PatchNode(line, handler, currentScope, l, (i!=null?i.getText():null), b);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "patchStatement"
// $ANTLR start "pull"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:271:1: pull returns [ReflexNode node] : ^( PULL i= Identifier e= expression ) ;
public final ReflexNode pull() throws RecognitionException {
ReflexNode node = null;
CommonTree i=null;
ReflexNode e =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:276:3: ( ^( PULL i= Identifier e= expression ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:276:5: ^( PULL i= Identifier e= expression )
{
match(input,PULL,FOLLOW_PULL_in_pull1072);
match(input, Token.DOWN, null);
i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_pull1076);
pushFollow(FOLLOW_expression_in_pull1080);
e=expression();
state._fsp--;
match(input, Token.UP, null);
node = new PullNode(line, handler, currentScope, (i!=null?i.getText():null), e);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "pull"
// $ANTLR start "metapull"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:280:1: metapull returns [ReflexNode node] : ^( METAPULL i= Identifier e= expression ) ;
public final ReflexNode metapull() throws RecognitionException {
ReflexNode node = null;
CommonTree i=null;
ReflexNode e =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:285:3: ( ^( METAPULL i= Identifier e= expression ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:285:5: ^( METAPULL i= Identifier e= expression )
{
match(input,METAPULL,FOLLOW_METAPULL_in_metapull1111);
match(input, Token.DOWN, null);
i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_metapull1115);
pushFollow(FOLLOW_expression_in_metapull1119);
e=expression();
state._fsp--;
match(input, Token.UP, null);
node = new MetaPullNode(line, handler, currentScope, (i!=null?i.getText():null), e);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "metapull"
// $ANTLR start "push"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:290:1: push returns [ReflexNode node] : ^( PUSH l= expression r= expression ) ;
public final ReflexNode push() throws RecognitionException {
ReflexNode node = null;
ReflexNode l =null;
ReflexNode r =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:295:3: ( ^( PUSH l= expression r= expression ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:295:5: ^( PUSH l= expression r= expression )
{
match(input,PUSH,FOLLOW_PUSH_in_push1151);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_push1155);
l=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_push1159);
r=expression();
state._fsp--;
match(input, Token.UP, null);
node = new PushNode(line, handler, currentScope, l, r);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "push"
// $ANTLR start "throwStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:299:1: throwStatement returns [ReflexNode node] : ^( Throw e= expression ) ;
public final ReflexNode throwStatement() throws RecognitionException {
ReflexNode node = null;
ReflexNode e =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:304:3: ( ^( Throw e= expression ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:304:5: ^( Throw e= expression )
{
match(input,Throw,FOLLOW_Throw_in_throwStatement1190);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_throwStatement1194);
e=expression();
state._fsp--;
match(input, Token.UP, null);
node = new ThrowNode(line, handler, currentScope, e);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "throwStatement"
// $ANTLR start "functionCall"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:308:1: functionCall returns [ReflexNode node] : ( ^( FUNC_CALL Identifier ( exprList )? ) | ^( FUNC_CALL PackageIdentifier ( exprList )? ) | ^( FUNC_CALL Println ( expression )? ) | ^( FUNC_CALL GetLine ( expression )? ) | ^( FUNC_CALL GetCh ( expression )? ) | ^( FUNC_CALL Capabilities ) | ^( FUNC_CALL HasCapability expression ) | ^( FUNC_CALL Print expression ) | ^( FUNC_CALL MapFn Identifier expression ) | ^( FUNC_CALL FilterFn Identifier expression ) | ^( FUNC_CALL Fold Identifier a= expression b= expression ) | ^( FUNC_CALL Any Identifier expression ) | ^( FUNC_CALL All Identifier expression ) | ^( FUNC_CALL TakeWhile Identifier expression ) | ^( FUNC_CALL DropWhile Identifier expression ) | ^( FUNC_CALL SplitWith Identifier expression ) | ^( FUNC_CALL Split str= expression sep= expression quoter= expression ) | ^( FUNC_CALL TypeOf expression ) | ^( FUNC_CALL Assert msg= expression exp= expression ) | ^( FUNC_CALL Size expression ) | ^( FUNC_CALL RPull u= expression ) | ^( FUNC_CALL RPush u= expression v= expression (o= expression )? ) | ^( FUNC_CALL Transpose expression ) | ^( FUNC_CALL Keys expression ) | ^( FUNC_CALL Sort arg= expression asc= expression ) | ^( FUNC_CALL Collate arg= expression locale= expression ) | ^( FUNC_CALL B64Compress expression ) | ^( FUNC_CALL B64Decompress expression ) | ^( FUNC_CALL Debug expression ) | ^( FUNC_CALL Date ( exprList )? ) | ^( FUNC_CALL Time ( expression )? ) | ^( FUNC_CALL Evals expression ) | ^( FUNC_CALL Vars ) | ^( FUNC_CALL ReadDir expression ) | ^( FUNC_CALL MkDir expression ) | ^( FUNC_CALL IsFile expression ) | ^( FUNC_CALL IsFolder expression ) | ^( FUNC_CALL File exprList ) | ^( FUNC_CALL Copy s= expression t= expression ) | ^( FUNC_CALL Archive expression ) | ^( FUNC_CALL Delete expression ) | ^( FUNC_CALL Port expression ) | ^( FUNC_CALL Suspend expression ) | ^( FUNC_CALL Close expression ) | ^( FUNC_CALL Timer ( expression )? ) | ^( FUNC_CALL Merge exprList ) | ^( FUNC_CALL Format exprList ) | ^( FUNC_CALL MergeIf exprList ) | ^( FUNC_CALL Replace v= expression s= expression t= expression ) | ^( FUNC_CALL Message a= expression m= expression ) | ^( FUNC_CALL PutCache v= expression n= expression (exp= expression )? ) | ^( FUNC_CALL GetCache n= expression ) | ^( FUNC_CALL Difference exprList ) | ^( FUNC_CALL Join exprList ) | ^( FUNC_CALL Unique exprList ) | ^( FUNC_CALL Json expression ) | ^( FUNC_CALL MD5 expression ) | ^( FUNC_CALL FromJson expression ) | ^( FUNC_CALL UrlEncode expression ) | ^( FUNC_CALL UrlDecode expression ) | ^( FUNC_CALL Uuid ) | ^( FUNC_CALL Remove Identifier k= expression ) | ^( FUNC_CALL AsyncCall s= expression (p= expression )? ) | ^( FUNC_CALL AsyncCallScript r= expression s= expression (p= expression )? ) | ^( FUNC_CALL AsyncStatus expression ) | ^( FUNC_CALL SuspendWait exprList ) | ^( FUNC_CALL Wait d= expression (in= expression retry= expression )? ) | ^( FUNC_CALL Signal d= expression v= expression ) | ^( FUNC_CALL Chain s= expression (p= expression )? ) | ^( FUNC_CALL Sleep expression ) | ^( FUNC_CALL Matches s= expression r= expression ) | ^( FUNC_CALL Cast a= expression b= expression ) | ^( FUNC_CALL Rand expression ) | ^( FUNC_CALL Round v= expression dp= expression ) | ^( FUNC_CALL Lib expression ) | ^( FUNC_CALL Call a= expression b= expression c= expression ) | ^( FUNC_CALL New a= expression ) | ^( FUNC_CALL GenSchema a= expression ) | ^( FUNC_CALL GenStruct Identifier a= expression ) | ^( FUNC_CALL Template t= expression p= expression ) | ^( FUNC_CALL Spawn p= expression (e= expression f= expression )? ) | ^( FUNC_CALL Defined Identifier ) | ^( KERNEL_CALL KernelIdentifier ( exprList )? ) | ^( QUALIFIED_FUNC_CALL DottedIdentifier ( exprList )? ) );
public final ReflexNode functionCall() throws RecognitionException {
ReflexNode node = null;
CommonTree Identifier34=null;
CommonTree PackageIdentifier36=null;
CommonTree Identifier43=null;
CommonTree Identifier45=null;
CommonTree Identifier47=null;
CommonTree Identifier48=null;
CommonTree Identifier50=null;
CommonTree Identifier52=null;
CommonTree Identifier54=null;
CommonTree Identifier56=null;
CommonTree Identifier90=null;
CommonTree Identifier96=null;
CommonTree Identifier97=null;
CommonTree KernelIdentifier98=null;
CommonTree DottedIdentifier100=null;
ReflexNode a =null;
ReflexNode b =null;
ReflexNode str =null;
ReflexNode sep =null;
ReflexNode quoter =null;
ReflexNode msg =null;
ReflexNode exp =null;
ReflexNode u =null;
ReflexNode v =null;
ReflexNode o =null;
ReflexNode arg =null;
ReflexNode asc =null;
ReflexNode locale =null;
ReflexNode s =null;
ReflexNode t =null;
ReflexNode m =null;
ReflexNode n =null;
ReflexNode k =null;
ReflexNode p =null;
ReflexNode r =null;
ReflexNode d =null;
ReflexNode in =null;
ReflexNode retry =null;
ReflexNode dp =null;
ReflexNode c =null;
ReflexNode e =null;
ReflexNode f =null;
java.util.List exprList35 =null;
java.util.List exprList37 =null;
ReflexNode expression38 =null;
ReflexNode expression39 =null;
ReflexNode expression40 =null;
ReflexNode expression41 =null;
ReflexNode expression42 =null;
ReflexNode expression44 =null;
ReflexNode expression46 =null;
ReflexNode expression49 =null;
ReflexNode expression51 =null;
ReflexNode expression53 =null;
ReflexNode expression55 =null;
ReflexNode expression57 =null;
ReflexNode expression58 =null;
ReflexNode expression59 =null;
ReflexNode expression60 =null;
ReflexNode expression61 =null;
ReflexNode expression62 =null;
ReflexNode expression63 =null;
ReflexNode expression64 =null;
java.util.List exprList65 =null;
ReflexNode expression66 =null;
ReflexNode expression67 =null;
ReflexNode expression68 =null;
ReflexNode expression69 =null;
ReflexNode expression70 =null;
ReflexNode expression71 =null;
java.util.List exprList72 =null;
ReflexNode expression73 =null;
ReflexNode expression74 =null;
ReflexNode expression75 =null;
ReflexNode expression76 =null;
ReflexNode expression77 =null;
ReflexNode expression78 =null;
java.util.List exprList79 =null;
java.util.List exprList80 =null;
java.util.List exprList81 =null;
java.util.List exprList82 =null;
java.util.List exprList83 =null;
java.util.List exprList84 =null;
ReflexNode expression85 =null;
ReflexNode expression86 =null;
ReflexNode expression87 =null;
ReflexNode expression88 =null;
ReflexNode expression89 =null;
ReflexNode expression91 =null;
java.util.List exprList92 =null;
ReflexNode expression93 =null;
ReflexNode expression94 =null;
ReflexNode expression95 =null;
java.util.List exprList99 =null;
java.util.List exprList101 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:313:3: ( ^( FUNC_CALL Identifier ( exprList )? ) | ^( FUNC_CALL PackageIdentifier ( exprList )? ) | ^( FUNC_CALL Println ( expression )? ) | ^( FUNC_CALL GetLine ( expression )? ) | ^( FUNC_CALL GetCh ( expression )? ) | ^( FUNC_CALL Capabilities ) | ^( FUNC_CALL HasCapability expression ) | ^( FUNC_CALL Print expression ) | ^( FUNC_CALL MapFn Identifier expression ) | ^( FUNC_CALL FilterFn Identifier expression ) | ^( FUNC_CALL Fold Identifier a= expression b= expression ) | ^( FUNC_CALL Any Identifier expression ) | ^( FUNC_CALL All Identifier expression ) | ^( FUNC_CALL TakeWhile Identifier expression ) | ^( FUNC_CALL DropWhile Identifier expression ) | ^( FUNC_CALL SplitWith Identifier expression ) | ^( FUNC_CALL Split str= expression sep= expression quoter= expression ) | ^( FUNC_CALL TypeOf expression ) | ^( FUNC_CALL Assert msg= expression exp= expression ) | ^( FUNC_CALL Size expression ) | ^( FUNC_CALL RPull u= expression ) | ^( FUNC_CALL RPush u= expression v= expression (o= expression )? ) | ^( FUNC_CALL Transpose expression ) | ^( FUNC_CALL Keys expression ) | ^( FUNC_CALL Sort arg= expression asc= expression ) | ^( FUNC_CALL Collate arg= expression locale= expression ) | ^( FUNC_CALL B64Compress expression ) | ^( FUNC_CALL B64Decompress expression ) | ^( FUNC_CALL Debug expression ) | ^( FUNC_CALL Date ( exprList )? ) | ^( FUNC_CALL Time ( expression )? ) | ^( FUNC_CALL Evals expression ) | ^( FUNC_CALL Vars ) | ^( FUNC_CALL ReadDir expression ) | ^( FUNC_CALL MkDir expression ) | ^( FUNC_CALL IsFile expression ) | ^( FUNC_CALL IsFolder expression ) | ^( FUNC_CALL File exprList ) | ^( FUNC_CALL Copy s= expression t= expression ) | ^( FUNC_CALL Archive expression ) | ^( FUNC_CALL Delete expression ) | ^( FUNC_CALL Port expression ) | ^( FUNC_CALL Suspend expression ) | ^( FUNC_CALL Close expression ) | ^( FUNC_CALL Timer ( expression )? ) | ^( FUNC_CALL Merge exprList ) | ^( FUNC_CALL Format exprList ) | ^( FUNC_CALL MergeIf exprList ) | ^( FUNC_CALL Replace v= expression s= expression t= expression ) | ^( FUNC_CALL Message a= expression m= expression ) | ^( FUNC_CALL PutCache v= expression n= expression (exp= expression )? ) | ^( FUNC_CALL GetCache n= expression ) | ^( FUNC_CALL Difference exprList ) | ^( FUNC_CALL Join exprList ) | ^( FUNC_CALL Unique exprList ) | ^( FUNC_CALL Json expression ) | ^( FUNC_CALL MD5 expression ) | ^( FUNC_CALL FromJson expression ) | ^( FUNC_CALL UrlEncode expression ) | ^( FUNC_CALL UrlDecode expression ) | ^( FUNC_CALL Uuid ) | ^( FUNC_CALL Remove Identifier k= expression ) | ^( FUNC_CALL AsyncCall s= expression (p= expression )? ) | ^( FUNC_CALL AsyncCallScript r= expression s= expression (p= expression )? ) | ^( FUNC_CALL AsyncStatus expression ) | ^( FUNC_CALL SuspendWait exprList ) | ^( FUNC_CALL Wait d= expression (in= expression retry= expression )? ) | ^( FUNC_CALL Signal d= expression v= expression ) | ^( FUNC_CALL Chain s= expression (p= expression )? ) | ^( FUNC_CALL Sleep expression ) | ^( FUNC_CALL Matches s= expression r= expression ) | ^( FUNC_CALL Cast a= expression b= expression ) | ^( FUNC_CALL Rand expression ) | ^( FUNC_CALL Round v= expression dp= expression ) | ^( FUNC_CALL Lib expression ) | ^( FUNC_CALL Call a= expression b= expression c= expression ) | ^( FUNC_CALL New a= expression ) | ^( FUNC_CALL GenSchema a= expression ) | ^( FUNC_CALL GenStruct Identifier a= expression ) | ^( FUNC_CALL Template t= expression p= expression ) | ^( FUNC_CALL Spawn p= expression (e= expression f= expression )? ) | ^( FUNC_CALL Defined Identifier ) | ^( KERNEL_CALL KernelIdentifier ( exprList )? ) | ^( QUALIFIED_FUNC_CALL DottedIdentifier ( exprList )? ) )
int alt35=84;
alt35 = dfa35.predict(input);
switch (alt35) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:313:6: ^( FUNC_CALL Identifier ( exprList )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1226);
match(input, Token.DOWN, null);
Identifier34=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall1228);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:313:29: ( exprList )?
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==EXP_LIST) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:313:29: exprList
{
pushFollow(FOLLOW_exprList_in_functionCall1230);
exprList35=exprList();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new FunctionCallNode(line, handler, currentScope, (Identifier34!=null?Identifier34.getText():null), exprList35, languageRegistry, importHandler, namespaceStack.asPrefix());
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:314:6: ^( FUNC_CALL PackageIdentifier ( exprList )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1242);
match(input, Token.DOWN, null);
PackageIdentifier36=(CommonTree)match(input,PackageIdentifier,FOLLOW_PackageIdentifier_in_functionCall1244);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:314:36: ( exprList )?
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==EXP_LIST) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:314:36: exprList
{
pushFollow(FOLLOW_exprList_in_functionCall1246);
exprList37=exprList();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new PackageCallNode(line, handler, currentScope, importHandler, (PackageIdentifier36!=null?PackageIdentifier36.getText():null), exprList37);
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:315:6: ^( FUNC_CALL Println ( expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1258);
match(input, Token.DOWN, null);
match(input,Println,FOLLOW_Println_in_functionCall1260);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:315:26: ( expression )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==Add||LA20_0==And||LA20_0==Bool||LA20_0==Divide||LA20_0==Equals||(LA20_0 >= GT && LA20_0 <= GTEquals)||LA20_0==In||LA20_0==Integer||(LA20_0 >= LOOKUP && LA20_0 <= LTEquals)||LA20_0==Long||(LA20_0 >= Modulus && LA20_0 <= NEquals)||(LA20_0 >= Null && LA20_0 <= Number)||LA20_0==Or||LA20_0==Pow||LA20_0==RANGELOOKUP||LA20_0==SPARSE||LA20_0==Subtract||LA20_0==TERNARY||LA20_0==UNARY_MIN) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:315:26: expression
{
pushFollow(FOLLOW_expression_in_functionCall1262);
expression38=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new PrintlnNode(line, handler, currentScope, expression38);
}
break;
case 4 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:316:6: ^( FUNC_CALL GetLine ( expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1274);
match(input, Token.DOWN, null);
match(input,GetLine,FOLLOW_GetLine_in_functionCall1276);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:316:26: ( expression )?
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==Add||LA21_0==And||LA21_0==Bool||LA21_0==Divide||LA21_0==Equals||(LA21_0 >= GT && LA21_0 <= GTEquals)||LA21_0==In||LA21_0==Integer||(LA21_0 >= LOOKUP && LA21_0 <= LTEquals)||LA21_0==Long||(LA21_0 >= Modulus && LA21_0 <= NEquals)||(LA21_0 >= Null && LA21_0 <= Number)||LA21_0==Or||LA21_0==Pow||LA21_0==RANGELOOKUP||LA21_0==SPARSE||LA21_0==Subtract||LA21_0==TERNARY||LA21_0==UNARY_MIN) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:316:26: expression
{
pushFollow(FOLLOW_expression_in_functionCall1278);
expression39=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new GetLineNode(line, handler, currentScope, expression39);
}
break;
case 5 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:317:6: ^( FUNC_CALL GetCh ( expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1290);
match(input, Token.DOWN, null);
match(input,GetCh,FOLLOW_GetCh_in_functionCall1292);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:317:24: ( expression )?
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==Add||LA22_0==And||LA22_0==Bool||LA22_0==Divide||LA22_0==Equals||(LA22_0 >= GT && LA22_0 <= GTEquals)||LA22_0==In||LA22_0==Integer||(LA22_0 >= LOOKUP && LA22_0 <= LTEquals)||LA22_0==Long||(LA22_0 >= Modulus && LA22_0 <= NEquals)||(LA22_0 >= Null && LA22_0 <= Number)||LA22_0==Or||LA22_0==Pow||LA22_0==RANGELOOKUP||LA22_0==SPARSE||LA22_0==Subtract||LA22_0==TERNARY||LA22_0==UNARY_MIN) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:317:24: expression
{
pushFollow(FOLLOW_expression_in_functionCall1294);
expression40=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new GetChNode(line, handler, currentScope, expression40);
}
break;
case 6 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:318:6: ^( FUNC_CALL Capabilities )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1306);
match(input, Token.DOWN, null);
match(input,Capabilities,FOLLOW_Capabilities_in_functionCall1308);
match(input, Token.UP, null);
node = new CapabilitiesNode(line, handler, currentScope);
}
break;
case 7 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:319:6: ^( FUNC_CALL HasCapability expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1320);
match(input, Token.DOWN, null);
match(input,HasCapability,FOLLOW_HasCapability_in_functionCall1322);
pushFollow(FOLLOW_expression_in_functionCall1324);
expression41=expression();
state._fsp--;
match(input, Token.UP, null);
node = new HasCapabilityNode(line, handler, currentScope, expression41);
}
break;
case 8 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:320:6: ^( FUNC_CALL Print expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1336);
match(input, Token.DOWN, null);
match(input,Print,FOLLOW_Print_in_functionCall1338);
pushFollow(FOLLOW_expression_in_functionCall1340);
expression42=expression();
state._fsp--;
match(input, Token.UP, null);
node = new PrintNode(line, handler, currentScope, expression42);
}
break;
case 9 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:321:6: ^( FUNC_CALL MapFn Identifier expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1351);
match(input, Token.DOWN, null);
match(input,MapFn,FOLLOW_MapFn_in_functionCall1353);
Identifier43=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall1355);
pushFollow(FOLLOW_expression_in_functionCall1357);
expression44=expression();
state._fsp--;
match(input, Token.UP, null);
node = new MapFnNode(line, handler, currentScope, (Identifier43!=null?Identifier43.getText():null), expression44, languageRegistry, importHandler);
}
break;
case 10 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:322:6: ^( FUNC_CALL FilterFn Identifier expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1368);
match(input, Token.DOWN, null);
match(input,FilterFn,FOLLOW_FilterFn_in_functionCall1370);
Identifier45=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall1372);
pushFollow(FOLLOW_expression_in_functionCall1374);
expression46=expression();
state._fsp--;
match(input, Token.UP, null);
node = new FilterFnNode(line, handler, currentScope, (Identifier45!=null?Identifier45.getText():null), expression46, languageRegistry, importHandler);
}
break;
case 11 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:323:6: ^( FUNC_CALL Fold Identifier a= expression b= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1385);
match(input, Token.DOWN, null);
match(input,Fold,FOLLOW_Fold_in_functionCall1387);
Identifier47=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall1389);
pushFollow(FOLLOW_expression_in_functionCall1393);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall1397);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new FoldNode(line, handler, currentScope, (Identifier47!=null?Identifier47.getText():null), a, b, languageRegistry, importHandler);
}
break;
case 12 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:324:6: ^( FUNC_CALL Any Identifier expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1408);
match(input, Token.DOWN, null);
match(input,Any,FOLLOW_Any_in_functionCall1410);
Identifier48=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall1412);
pushFollow(FOLLOW_expression_in_functionCall1414);
expression49=expression();
state._fsp--;
match(input, Token.UP, null);
node = new AnyNode(line, handler, currentScope, (Identifier48!=null?Identifier48.getText():null), expression49, languageRegistry, importHandler);
}
break;
case 13 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:325:6: ^( FUNC_CALL All Identifier expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1425);
match(input, Token.DOWN, null);
match(input,All,FOLLOW_All_in_functionCall1427);
Identifier50=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall1429);
pushFollow(FOLLOW_expression_in_functionCall1431);
expression51=expression();
state._fsp--;
match(input, Token.UP, null);
node = new AllNode(line, handler, currentScope, (Identifier50!=null?Identifier50.getText():null), expression51, languageRegistry, importHandler);
}
break;
case 14 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:326:6: ^( FUNC_CALL TakeWhile Identifier expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1442);
match(input, Token.DOWN, null);
match(input,TakeWhile,FOLLOW_TakeWhile_in_functionCall1444);
Identifier52=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall1446);
pushFollow(FOLLOW_expression_in_functionCall1448);
expression53=expression();
state._fsp--;
match(input, Token.UP, null);
node = new TakeWhileNode(line, handler, currentScope, (Identifier52!=null?Identifier52.getText():null), expression53, languageRegistry, importHandler);
}
break;
case 15 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:327:6: ^( FUNC_CALL DropWhile Identifier expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1459);
match(input, Token.DOWN, null);
match(input,DropWhile,FOLLOW_DropWhile_in_functionCall1461);
Identifier54=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall1463);
pushFollow(FOLLOW_expression_in_functionCall1465);
expression55=expression();
state._fsp--;
match(input, Token.UP, null);
node = new DropWhileNode(line, handler, currentScope, (Identifier54!=null?Identifier54.getText():null), expression55, languageRegistry, importHandler);
}
break;
case 16 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:328:6: ^( FUNC_CALL SplitWith Identifier expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1476);
match(input, Token.DOWN, null);
match(input,SplitWith,FOLLOW_SplitWith_in_functionCall1478);
Identifier56=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall1480);
pushFollow(FOLLOW_expression_in_functionCall1482);
expression57=expression();
state._fsp--;
match(input, Token.UP, null);
node = new SplitWithNode(line, handler, currentScope, (Identifier56!=null?Identifier56.getText():null), expression57, languageRegistry, importHandler);
}
break;
case 17 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:329:6: ^( FUNC_CALL Split str= expression sep= expression quoter= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1493);
match(input, Token.DOWN, null);
match(input,Split,FOLLOW_Split_in_functionCall1495);
pushFollow(FOLLOW_expression_in_functionCall1499);
str=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall1503);
sep=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall1507);
quoter=expression();
state._fsp--;
match(input, Token.UP, null);
node = new SplitNode(line, handler, currentScope, str, sep, quoter, languageRegistry, importHandler);
}
break;
case 18 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:330:6: ^( FUNC_CALL TypeOf expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1518);
match(input, Token.DOWN, null);
match(input,TypeOf,FOLLOW_TypeOf_in_functionCall1520);
pushFollow(FOLLOW_expression_in_functionCall1522);
expression58=expression();
state._fsp--;
match(input, Token.UP, null);
node = new TypeOfNode(line, handler, currentScope, expression58);
}
break;
case 19 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:331:6: ^( FUNC_CALL Assert msg= expression exp= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1533);
match(input, Token.DOWN, null);
match(input,Assert,FOLLOW_Assert_in_functionCall1535);
pushFollow(FOLLOW_expression_in_functionCall1539);
msg=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall1543);
exp=expression();
state._fsp--;
match(input, Token.UP, null);
node = new AssertNode(line, handler, currentScope, msg, exp);
}
break;
case 20 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:332:6: ^( FUNC_CALL Size expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1554);
match(input, Token.DOWN, null);
match(input,Size,FOLLOW_Size_in_functionCall1556);
pushFollow(FOLLOW_expression_in_functionCall1558);
expression59=expression();
state._fsp--;
match(input, Token.UP, null);
node = new SizeNode(line, handler,currentScope, expression59);
}
break;
case 21 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:333:6: ^( FUNC_CALL RPull u= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1569);
match(input, Token.DOWN, null);
match(input,RPull,FOLLOW_RPull_in_functionCall1571);
pushFollow(FOLLOW_expression_in_functionCall1575);
u=expression();
state._fsp--;
match(input, Token.UP, null);
node = new RapturePullNode(line, handler, currentScope, u, null);
}
break;
case 22 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:334:6: ^( FUNC_CALL RPush u= expression v= expression (o= expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1586);
match(input, Token.DOWN, null);
match(input,RPush,FOLLOW_RPush_in_functionCall1588);
pushFollow(FOLLOW_expression_in_functionCall1592);
u=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall1596);
v=expression();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:334:51: (o= expression )?
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==Add||LA23_0==And||LA23_0==Bool||LA23_0==Divide||LA23_0==Equals||(LA23_0 >= GT && LA23_0 <= GTEquals)||LA23_0==In||LA23_0==Integer||(LA23_0 >= LOOKUP && LA23_0 <= LTEquals)||LA23_0==Long||(LA23_0 >= Modulus && LA23_0 <= NEquals)||(LA23_0 >= Null && LA23_0 <= Number)||LA23_0==Or||LA23_0==Pow||LA23_0==RANGELOOKUP||LA23_0==SPARSE||LA23_0==Subtract||LA23_0==TERNARY||LA23_0==UNARY_MIN) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:334:51: o= expression
{
pushFollow(FOLLOW_expression_in_functionCall1600);
o=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new RapturePushNode(line, handler, currentScope, u, v, o);
}
break;
case 23 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:335:6: ^( FUNC_CALL Transpose expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1612);
match(input, Token.DOWN, null);
match(input,Transpose,FOLLOW_Transpose_in_functionCall1614);
pushFollow(FOLLOW_expression_in_functionCall1616);
expression60=expression();
state._fsp--;
match(input, Token.UP, null);
node = new TransposeNode(line, handler, currentScope, expression60);
}
break;
case 24 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:336:6: ^( FUNC_CALL Keys expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1627);
match(input, Token.DOWN, null);
match(input,Keys,FOLLOW_Keys_in_functionCall1629);
pushFollow(FOLLOW_expression_in_functionCall1631);
expression61=expression();
state._fsp--;
match(input, Token.UP, null);
node = new KeysNode(line, handler, currentScope, expression61);
}
break;
case 25 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:337:6: ^( FUNC_CALL Sort arg= expression asc= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1642);
match(input, Token.DOWN, null);
match(input,Sort,FOLLOW_Sort_in_functionCall1644);
pushFollow(FOLLOW_expression_in_functionCall1648);
arg=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall1652);
asc=expression();
state._fsp--;
match(input, Token.UP, null);
node = new SortNode(line, handler, currentScope, arg, asc);
}
break;
case 26 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:338:6: ^( FUNC_CALL Collate arg= expression locale= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1663);
match(input, Token.DOWN, null);
match(input,Collate,FOLLOW_Collate_in_functionCall1665);
pushFollow(FOLLOW_expression_in_functionCall1669);
arg=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall1673);
locale=expression();
state._fsp--;
match(input, Token.UP, null);
node = new CollateNode(line, handler, currentScope, arg, locale);
}
break;
case 27 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:339:6: ^( FUNC_CALL B64Compress expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1684);
match(input, Token.DOWN, null);
match(input,B64Compress,FOLLOW_B64Compress_in_functionCall1686);
pushFollow(FOLLOW_expression_in_functionCall1688);
expression62=expression();
state._fsp--;
match(input, Token.UP, null);
node = new B64Compress(line, handler, currentScope, expression62);
}
break;
case 28 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:340:6: ^( FUNC_CALL B64Decompress expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1699);
match(input, Token.DOWN, null);
match(input,B64Decompress,FOLLOW_B64Decompress_in_functionCall1701);
pushFollow(FOLLOW_expression_in_functionCall1703);
expression63=expression();
state._fsp--;
match(input, Token.UP, null);
node = new B64Decompress(line, handler, currentScope, expression63);
}
break;
case 29 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:341:6: ^( FUNC_CALL Debug expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1714);
match(input, Token.DOWN, null);
match(input,Debug,FOLLOW_Debug_in_functionCall1716);
pushFollow(FOLLOW_expression_in_functionCall1718);
expression64=expression();
state._fsp--;
match(input, Token.UP, null);
node = new DebugNode(line, handler, currentScope, expression64);
}
break;
case 30 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:342:6: ^( FUNC_CALL Date ( exprList )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1729);
match(input, Token.DOWN, null);
match(input,Date,FOLLOW_Date_in_functionCall1731);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:342:23: ( exprList )?
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==EXP_LIST) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:342:23: exprList
{
pushFollow(FOLLOW_exprList_in_functionCall1733);
exprList65=exprList();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new DateNode(line, handler, currentScope, exprList65);
}
break;
case 31 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:343:6: ^( FUNC_CALL Time ( expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1746);
match(input, Token.DOWN, null);
match(input,Time,FOLLOW_Time_in_functionCall1748);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:343:23: ( expression )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==Add||LA25_0==And||LA25_0==Bool||LA25_0==Divide||LA25_0==Equals||(LA25_0 >= GT && LA25_0 <= GTEquals)||LA25_0==In||LA25_0==Integer||(LA25_0 >= LOOKUP && LA25_0 <= LTEquals)||LA25_0==Long||(LA25_0 >= Modulus && LA25_0 <= NEquals)||(LA25_0 >= Null && LA25_0 <= Number)||LA25_0==Or||LA25_0==Pow||LA25_0==RANGELOOKUP||LA25_0==SPARSE||LA25_0==Subtract||LA25_0==TERNARY||LA25_0==UNARY_MIN) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:343:23: expression
{
pushFollow(FOLLOW_expression_in_functionCall1750);
expression66=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new TimeNode(line, handler, currentScope, expression66);
}
break;
case 32 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:344:6: ^( FUNC_CALL Evals expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1763);
match(input, Token.DOWN, null);
match(input,Evals,FOLLOW_Evals_in_functionCall1765);
pushFollow(FOLLOW_expression_in_functionCall1767);
expression67=expression();
state._fsp--;
match(input, Token.UP, null);
node = new QuotedStringNode(line, handler, currentScope, expression67);
}
break;
case 33 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:345:6: ^( FUNC_CALL Vars )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1779);
match(input, Token.DOWN, null);
match(input,Vars,FOLLOW_Vars_in_functionCall1781);
match(input, Token.UP, null);
node = new VarsNode(line, handler, currentScope);
}
break;
case 34 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:346:6: ^( FUNC_CALL ReadDir expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1792);
match(input, Token.DOWN, null);
match(input,ReadDir,FOLLOW_ReadDir_in_functionCall1794);
pushFollow(FOLLOW_expression_in_functionCall1796);
expression68=expression();
state._fsp--;
match(input, Token.UP, null);
node = new ReadDirNode(line, handler, currentScope, expression68);
}
break;
case 35 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:347:6: ^( FUNC_CALL MkDir expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1807);
match(input, Token.DOWN, null);
match(input,MkDir,FOLLOW_MkDir_in_functionCall1809);
pushFollow(FOLLOW_expression_in_functionCall1811);
expression69=expression();
state._fsp--;
match(input, Token.UP, null);
node = new MkDirNode(line, handler, currentScope, expression69);
}
break;
case 36 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:348:6: ^( FUNC_CALL IsFile expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1822);
match(input, Token.DOWN, null);
match(input,IsFile,FOLLOW_IsFile_in_functionCall1824);
pushFollow(FOLLOW_expression_in_functionCall1826);
expression70=expression();
state._fsp--;
match(input, Token.UP, null);
node = new IsFileNode(line, handler, currentScope, expression70);
}
break;
case 37 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:349:6: ^( FUNC_CALL IsFolder expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1837);
match(input, Token.DOWN, null);
match(input,IsFolder,FOLLOW_IsFolder_in_functionCall1839);
pushFollow(FOLLOW_expression_in_functionCall1841);
expression71=expression();
state._fsp--;
match(input, Token.UP, null);
node = new IsFolderNode(line, handler, currentScope, expression71);
}
break;
case 38 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:350:6: ^( FUNC_CALL File exprList )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1852);
match(input, Token.DOWN, null);
match(input,File,FOLLOW_File_in_functionCall1854);
pushFollow(FOLLOW_exprList_in_functionCall1856);
exprList72=exprList();
state._fsp--;
match(input, Token.UP, null);
node = new FileNode(line, handler, currentScope, exprList72);
}
break;
case 39 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:351:6: ^( FUNC_CALL Copy s= expression t= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1867);
match(input, Token.DOWN, null);
match(input,Copy,FOLLOW_Copy_in_functionCall1869);
pushFollow(FOLLOW_expression_in_functionCall1873);
s=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall1877);
t=expression();
state._fsp--;
match(input, Token.UP, null);
node = new CopyNode(line, handler, currentScope, s, t);
}
break;
case 40 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:352:6: ^( FUNC_CALL Archive expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1888);
match(input, Token.DOWN, null);
match(input,Archive,FOLLOW_Archive_in_functionCall1890);
pushFollow(FOLLOW_expression_in_functionCall1892);
expression73=expression();
state._fsp--;
match(input, Token.UP, null);
node = new ArchiveNode(line, handler, currentScope, expression73);
}
break;
case 41 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:353:6: ^( FUNC_CALL Delete expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1903);
match(input, Token.DOWN, null);
match(input,Delete,FOLLOW_Delete_in_functionCall1905);
pushFollow(FOLLOW_expression_in_functionCall1907);
expression74=expression();
state._fsp--;
match(input, Token.UP, null);
node = new DeleteNode(line, handler, currentScope, expression74);
}
break;
case 42 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:354:6: ^( FUNC_CALL Port expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1918);
match(input, Token.DOWN, null);
match(input,Port,FOLLOW_Port_in_functionCall1920);
pushFollow(FOLLOW_expression_in_functionCall1922);
expression75=expression();
state._fsp--;
match(input, Token.UP, null);
node = new PortNode(line, handler, currentScope, expression75);
}
break;
case 43 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:355:6: ^( FUNC_CALL Suspend expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1933);
match(input, Token.DOWN, null);
match(input,Suspend,FOLLOW_Suspend_in_functionCall1935);
pushFollow(FOLLOW_expression_in_functionCall1937);
expression76=expression();
state._fsp--;
match(input, Token.UP, null);
node = new SuspendNode(line, handler, currentScope, expression76);
}
break;
case 44 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:356:6: ^( FUNC_CALL Close expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1948);
match(input, Token.DOWN, null);
match(input,Close,FOLLOW_Close_in_functionCall1950);
pushFollow(FOLLOW_expression_in_functionCall1952);
expression77=expression();
state._fsp--;
match(input, Token.UP, null);
node = new CloseNode(line, handler, currentScope, expression77);
}
break;
case 45 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:357:6: ^( FUNC_CALL Timer ( expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1963);
match(input, Token.DOWN, null);
match(input,Timer,FOLLOW_Timer_in_functionCall1965);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:357:24: ( expression )?
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==Add||LA26_0==And||LA26_0==Bool||LA26_0==Divide||LA26_0==Equals||(LA26_0 >= GT && LA26_0 <= GTEquals)||LA26_0==In||LA26_0==Integer||(LA26_0 >= LOOKUP && LA26_0 <= LTEquals)||LA26_0==Long||(LA26_0 >= Modulus && LA26_0 <= NEquals)||(LA26_0 >= Null && LA26_0 <= Number)||LA26_0==Or||LA26_0==Pow||LA26_0==RANGELOOKUP||LA26_0==SPARSE||LA26_0==Subtract||LA26_0==TERNARY||LA26_0==UNARY_MIN) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:357:24: expression
{
pushFollow(FOLLOW_expression_in_functionCall1967);
expression78=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new TimerNode(line, handler, currentScope, expression78);
}
break;
case 46 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:358:6: ^( FUNC_CALL Merge exprList )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1979);
match(input, Token.DOWN, null);
match(input,Merge,FOLLOW_Merge_in_functionCall1981);
pushFollow(FOLLOW_exprList_in_functionCall1983);
exprList79=exprList();
state._fsp--;
match(input, Token.UP, null);
node = new MergeNode(line, handler, currentScope, exprList79);
}
break;
case 47 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:359:6: ^( FUNC_CALL Format exprList )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall1994);
match(input, Token.DOWN, null);
match(input,Format,FOLLOW_Format_in_functionCall1996);
pushFollow(FOLLOW_exprList_in_functionCall1998);
exprList80=exprList();
state._fsp--;
match(input, Token.UP, null);
node = new FormatNode(line, handler, currentScope, exprList80);
}
break;
case 48 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:360:6: ^( FUNC_CALL MergeIf exprList )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2009);
match(input, Token.DOWN, null);
match(input,MergeIf,FOLLOW_MergeIf_in_functionCall2011);
pushFollow(FOLLOW_exprList_in_functionCall2013);
exprList81=exprList();
state._fsp--;
match(input, Token.UP, null);
node = new MergeIfNode(line, handler, currentScope, exprList81);
}
break;
case 49 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:361:6: ^( FUNC_CALL Replace v= expression s= expression t= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2024);
match(input, Token.DOWN, null);
match(input,Replace,FOLLOW_Replace_in_functionCall2026);
pushFollow(FOLLOW_expression_in_functionCall2030);
v=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2034);
s=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2038);
t=expression();
state._fsp--;
match(input, Token.UP, null);
node = new ReplaceNode(line, handler, currentScope, v, s, t);
}
break;
case 50 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:362:6: ^( FUNC_CALL Message a= expression m= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2049);
match(input, Token.DOWN, null);
match(input,Message,FOLLOW_Message_in_functionCall2051);
pushFollow(FOLLOW_expression_in_functionCall2055);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2059);
m=expression();
state._fsp--;
match(input, Token.UP, null);
node = new MessageNode(line, handler, currentScope, a, m);
}
break;
case 51 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:363:6: ^( FUNC_CALL PutCache v= expression n= expression (exp= expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2070);
match(input, Token.DOWN, null);
match(input,PutCache,FOLLOW_PutCache_in_functionCall2072);
pushFollow(FOLLOW_expression_in_functionCall2076);
v=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2080);
n=expression();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:363:56: (exp= expression )?
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==Add||LA27_0==And||LA27_0==Bool||LA27_0==Divide||LA27_0==Equals||(LA27_0 >= GT && LA27_0 <= GTEquals)||LA27_0==In||LA27_0==Integer||(LA27_0 >= LOOKUP && LA27_0 <= LTEquals)||LA27_0==Long||(LA27_0 >= Modulus && LA27_0 <= NEquals)||(LA27_0 >= Null && LA27_0 <= Number)||LA27_0==Or||LA27_0==Pow||LA27_0==RANGELOOKUP||LA27_0==SPARSE||LA27_0==Subtract||LA27_0==TERNARY||LA27_0==UNARY_MIN) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:363:56: exp= expression
{
pushFollow(FOLLOW_expression_in_functionCall2084);
exp=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new PutCacheNode(line, handler, currentScope, v, n, exp);
}
break;
case 52 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:364:6: ^( FUNC_CALL GetCache n= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2096);
match(input, Token.DOWN, null);
match(input,GetCache,FOLLOW_GetCache_in_functionCall2098);
pushFollow(FOLLOW_expression_in_functionCall2102);
n=expression();
state._fsp--;
match(input, Token.UP, null);
node = new GetCacheNode(line, handler, currentScope, n);
}
break;
case 53 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:365:6: ^( FUNC_CALL Difference exprList )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2113);
match(input, Token.DOWN, null);
match(input,Difference,FOLLOW_Difference_in_functionCall2115);
pushFollow(FOLLOW_exprList_in_functionCall2117);
exprList82=exprList();
state._fsp--;
match(input, Token.UP, null);
node = new DifferenceNode(line, handler, currentScope, exprList82);
}
break;
case 54 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:366:6: ^( FUNC_CALL Join exprList )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2128);
match(input, Token.DOWN, null);
match(input,Join,FOLLOW_Join_in_functionCall2130);
pushFollow(FOLLOW_exprList_in_functionCall2132);
exprList83=exprList();
state._fsp--;
match(input, Token.UP, null);
node = new JoinNode(line, handler, currentScope, exprList83);
}
break;
case 55 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:367:6: ^( FUNC_CALL Unique exprList )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2143);
match(input, Token.DOWN, null);
match(input,Unique,FOLLOW_Unique_in_functionCall2145);
pushFollow(FOLLOW_exprList_in_functionCall2147);
exprList84=exprList();
state._fsp--;
match(input, Token.UP, null);
node = new UniqueNode(line, handler, currentScope, exprList84);
}
break;
case 56 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:368:6: ^( FUNC_CALL Json expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2158);
match(input, Token.DOWN, null);
match(input,Json,FOLLOW_Json_in_functionCall2160);
pushFollow(FOLLOW_expression_in_functionCall2162);
expression85=expression();
state._fsp--;
match(input, Token.UP, null);
node = new JsonNode(line, handler, currentScope, expression85);
}
break;
case 57 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:370:6: ^( FUNC_CALL MD5 expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2174);
match(input, Token.DOWN, null);
match(input,MD5,FOLLOW_MD5_in_functionCall2176);
pushFollow(FOLLOW_expression_in_functionCall2179);
expression86=expression();
state._fsp--;
match(input, Token.UP, null);
node = new MD5Node(line, handler, currentScope, expression86);
}
break;
case 58 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:371:6: ^( FUNC_CALL FromJson expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2190);
match(input, Token.DOWN, null);
match(input,FromJson,FOLLOW_FromJson_in_functionCall2192);
pushFollow(FOLLOW_expression_in_functionCall2194);
expression87=expression();
state._fsp--;
match(input, Token.UP, null);
node = new FromJsonNode(line, handler, currentScope, expression87);
}
break;
case 59 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:372:6: ^( FUNC_CALL UrlEncode expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2205);
match(input, Token.DOWN, null);
match(input,UrlEncode,FOLLOW_UrlEncode_in_functionCall2207);
pushFollow(FOLLOW_expression_in_functionCall2209);
expression88=expression();
state._fsp--;
match(input, Token.UP, null);
node = new UrlEncodeNode(line, handler, currentScope, expression88);
}
break;
case 60 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:373:6: ^( FUNC_CALL UrlDecode expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2220);
match(input, Token.DOWN, null);
match(input,UrlDecode,FOLLOW_UrlDecode_in_functionCall2222);
pushFollow(FOLLOW_expression_in_functionCall2224);
expression89=expression();
state._fsp--;
match(input, Token.UP, null);
node = new UrlDecodeNode(line, handler, currentScope, expression89);
}
break;
case 61 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:374:6: ^( FUNC_CALL Uuid )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2235);
match(input, Token.DOWN, null);
match(input,Uuid,FOLLOW_Uuid_in_functionCall2237);
match(input, Token.UP, null);
node = new UuidNode(line, handler, currentScope);
}
break;
case 62 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:375:6: ^( FUNC_CALL Remove Identifier k= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2248);
match(input, Token.DOWN, null);
match(input,Remove,FOLLOW_Remove_in_functionCall2250);
Identifier90=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall2252);
pushFollow(FOLLOW_expression_in_functionCall2256);
k=expression();
state._fsp--;
match(input, Token.UP, null);
node = new RemoveNode(line, handler, currentScope, (Identifier90!=null?Identifier90.getText():null), k);
}
break;
case 63 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:376:6: ^( FUNC_CALL AsyncCall s= expression (p= expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2267);
match(input, Token.DOWN, null);
match(input,AsyncCall,FOLLOW_AsyncCall_in_functionCall2269);
pushFollow(FOLLOW_expression_in_functionCall2273);
s=expression();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:376:42: (p= expression )?
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==Add||LA28_0==And||LA28_0==Bool||LA28_0==Divide||LA28_0==Equals||(LA28_0 >= GT && LA28_0 <= GTEquals)||LA28_0==In||LA28_0==Integer||(LA28_0 >= LOOKUP && LA28_0 <= LTEquals)||LA28_0==Long||(LA28_0 >= Modulus && LA28_0 <= NEquals)||(LA28_0 >= Null && LA28_0 <= Number)||LA28_0==Or||LA28_0==Pow||LA28_0==RANGELOOKUP||LA28_0==SPARSE||LA28_0==Subtract||LA28_0==TERNARY||LA28_0==UNARY_MIN) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:376:42: p= expression
{
pushFollow(FOLLOW_expression_in_functionCall2277);
p=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new AsyncCallNode(line, handler, currentScope, s, p);
}
break;
case 64 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:377:6: ^( FUNC_CALL AsyncCallScript r= expression s= expression (p= expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2289);
match(input, Token.DOWN, null);
match(input,AsyncCallScript,FOLLOW_AsyncCallScript_in_functionCall2291);
pushFollow(FOLLOW_expression_in_functionCall2295);
r=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2299);
s=expression();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:377:61: (p= expression )?
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==Add||LA29_0==And||LA29_0==Bool||LA29_0==Divide||LA29_0==Equals||(LA29_0 >= GT && LA29_0 <= GTEquals)||LA29_0==In||LA29_0==Integer||(LA29_0 >= LOOKUP && LA29_0 <= LTEquals)||LA29_0==Long||(LA29_0 >= Modulus && LA29_0 <= NEquals)||(LA29_0 >= Null && LA29_0 <= Number)||LA29_0==Or||LA29_0==Pow||LA29_0==RANGELOOKUP||LA29_0==SPARSE||LA29_0==Subtract||LA29_0==TERNARY||LA29_0==UNARY_MIN) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:377:61: p= expression
{
pushFollow(FOLLOW_expression_in_functionCall2303);
p=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new AsyncCallScriptNode(line, handler, currentScope, r, s, p);
}
break;
case 65 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:378:6: ^( FUNC_CALL AsyncStatus expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2315);
match(input, Token.DOWN, null);
match(input,AsyncStatus,FOLLOW_AsyncStatus_in_functionCall2317);
pushFollow(FOLLOW_expression_in_functionCall2319);
expression91=expression();
state._fsp--;
match(input, Token.UP, null);
node = new AsyncStatusNode(line, handler, currentScope, expression91);
}
break;
case 66 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:379:6: ^( FUNC_CALL SuspendWait exprList )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2330);
match(input, Token.DOWN, null);
match(input,SuspendWait,FOLLOW_SuspendWait_in_functionCall2332);
pushFollow(FOLLOW_exprList_in_functionCall2334);
exprList92=exprList();
state._fsp--;
match(input, Token.UP, null);
node = new SuspendWaitNode(line, handler, currentScope, exprList92);
}
break;
case 67 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:380:6: ^( FUNC_CALL Wait d= expression (in= expression retry= expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2345);
match(input, Token.DOWN, null);
match(input,Wait,FOLLOW_Wait_in_functionCall2347);
pushFollow(FOLLOW_expression_in_functionCall2351);
d=expression();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:380:36: (in= expression retry= expression )?
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==Add||LA30_0==And||LA30_0==Bool||LA30_0==Divide||LA30_0==Equals||(LA30_0 >= GT && LA30_0 <= GTEquals)||LA30_0==In||LA30_0==Integer||(LA30_0 >= LOOKUP && LA30_0 <= LTEquals)||LA30_0==Long||(LA30_0 >= Modulus && LA30_0 <= NEquals)||(LA30_0 >= Null && LA30_0 <= Number)||LA30_0==Or||LA30_0==Pow||LA30_0==RANGELOOKUP||LA30_0==SPARSE||LA30_0==Subtract||LA30_0==TERNARY||LA30_0==UNARY_MIN) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:380:37: in= expression retry= expression
{
pushFollow(FOLLOW_expression_in_functionCall2356);
in=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2360);
retry=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new WaitNode(line, handler, currentScope, d, in, retry);
}
break;
case 68 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:381:6: ^( FUNC_CALL Signal d= expression v= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2373);
match(input, Token.DOWN, null);
match(input,Signal,FOLLOW_Signal_in_functionCall2375);
pushFollow(FOLLOW_expression_in_functionCall2379);
d=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2383);
v=expression();
state._fsp--;
match(input, Token.UP, null);
node = new SignalNode(line, handler, currentScope, d, v);
}
break;
case 69 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:382:6: ^( FUNC_CALL Chain s= expression (p= expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2394);
match(input, Token.DOWN, null);
match(input,Chain,FOLLOW_Chain_in_functionCall2396);
pushFollow(FOLLOW_expression_in_functionCall2400);
s=expression();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:382:38: (p= expression )?
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==Add||LA31_0==And||LA31_0==Bool||LA31_0==Divide||LA31_0==Equals||(LA31_0 >= GT && LA31_0 <= GTEquals)||LA31_0==In||LA31_0==Integer||(LA31_0 >= LOOKUP && LA31_0 <= LTEquals)||LA31_0==Long||(LA31_0 >= Modulus && LA31_0 <= NEquals)||(LA31_0 >= Null && LA31_0 <= Number)||LA31_0==Or||LA31_0==Pow||LA31_0==RANGELOOKUP||LA31_0==SPARSE||LA31_0==Subtract||LA31_0==TERNARY||LA31_0==UNARY_MIN) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:382:38: p= expression
{
pushFollow(FOLLOW_expression_in_functionCall2404);
p=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new ChainNode(line, handler, currentScope, s, p);
}
break;
case 70 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:383:6: ^( FUNC_CALL Sleep expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2416);
match(input, Token.DOWN, null);
match(input,Sleep,FOLLOW_Sleep_in_functionCall2418);
pushFollow(FOLLOW_expression_in_functionCall2420);
expression93=expression();
state._fsp--;
match(input, Token.UP, null);
node = new SleepNode(line, handler,currentScope, expression93);
}
break;
case 71 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:384:6: ^( FUNC_CALL Matches s= expression r= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2431);
match(input, Token.DOWN, null);
match(input,Matches,FOLLOW_Matches_in_functionCall2433);
pushFollow(FOLLOW_expression_in_functionCall2437);
s=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2441);
r=expression();
state._fsp--;
match(input, Token.UP, null);
node = new MatchesNode(line, handler, currentScope, s, r);
}
break;
case 72 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:385:6: ^( FUNC_CALL Cast a= expression b= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2452);
match(input, Token.DOWN, null);
match(input,Cast,FOLLOW_Cast_in_functionCall2454);
pushFollow(FOLLOW_expression_in_functionCall2458);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2462);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new CastNode(line, handler, currentScope, a, b, languageRegistry, namespaceStack.asPrefix());
}
break;
case 73 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:386:6: ^( FUNC_CALL Rand expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2473);
match(input, Token.DOWN, null);
match(input,Rand,FOLLOW_Rand_in_functionCall2475);
pushFollow(FOLLOW_expression_in_functionCall2477);
expression94=expression();
state._fsp--;
match(input, Token.UP, null);
node = new RandNode(line, handler, currentScope, expression94);
}
break;
case 74 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:387:6: ^( FUNC_CALL Round v= expression dp= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2488);
match(input, Token.DOWN, null);
match(input,Round,FOLLOW_Round_in_functionCall2490);
pushFollow(FOLLOW_expression_in_functionCall2494);
v=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2498);
dp=expression();
state._fsp--;
match(input, Token.UP, null);
node = new RoundNode(line, handler, currentScope, v, dp);
}
break;
case 75 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:388:6: ^( FUNC_CALL Lib expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2509);
match(input, Token.DOWN, null);
match(input,Lib,FOLLOW_Lib_in_functionCall2511);
pushFollow(FOLLOW_expression_in_functionCall2513);
expression95=expression();
state._fsp--;
match(input, Token.UP, null);
node = new LibNode(line, handler, currentScope, expression95);
}
break;
case 76 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:389:6: ^( FUNC_CALL Call a= expression b= expression c= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2524);
match(input, Token.DOWN, null);
match(input,Call,FOLLOW_Call_in_functionCall2526);
pushFollow(FOLLOW_expression_in_functionCall2530);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2534);
b=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2538);
c=expression();
state._fsp--;
match(input, Token.UP, null);
node = new CallNode(line, handler, currentScope, a, b, c);
}
break;
case 77 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:390:6: ^( FUNC_CALL New a= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2549);
match(input, Token.DOWN, null);
match(input,New,FOLLOW_New_in_functionCall2551);
pushFollow(FOLLOW_expression_in_functionCall2556);
a=expression();
state._fsp--;
match(input, Token.UP, null);
node = new NewNode(line, handler, currentScope, a, languageRegistry, namespaceStack.asPrefix());
}
break;
case 78 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:391:6: ^( FUNC_CALL GenSchema a= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2567);
match(input, Token.DOWN, null);
match(input,GenSchema,FOLLOW_GenSchema_in_functionCall2569);
pushFollow(FOLLOW_expression_in_functionCall2573);
a=expression();
state._fsp--;
match(input, Token.UP, null);
node = new GenSchemaNode(line, handler, currentScope, a, languageRegistry, namespaceStack.asPrefix());
}
break;
case 79 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:392:6: ^( FUNC_CALL GenStruct Identifier a= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2584);
match(input, Token.DOWN, null);
match(input,GenStruct,FOLLOW_GenStruct_in_functionCall2586);
Identifier96=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall2588);
pushFollow(FOLLOW_expression_in_functionCall2592);
a=expression();
state._fsp--;
match(input, Token.UP, null);
node = new GenStructNode(line, handler, currentScope, (Identifier96!=null?Identifier96.getText():null), a, languageRegistry, namespaceStack.asPrefix());
}
break;
case 80 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:393:6: ^( FUNC_CALL Template t= expression p= expression )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2603);
match(input, Token.DOWN, null);
match(input,Template,FOLLOW_Template_in_functionCall2605);
pushFollow(FOLLOW_expression_in_functionCall2609);
t=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2613);
p=expression();
state._fsp--;
match(input, Token.UP, null);
node = new TemplateNode(line, handler, currentScope, t, p);
}
break;
case 81 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:394:6: ^( FUNC_CALL Spawn p= expression (e= expression f= expression )? )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2624);
match(input, Token.DOWN, null);
match(input,Spawn,FOLLOW_Spawn_in_functionCall2626);
pushFollow(FOLLOW_expression_in_functionCall2630);
p=expression();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:394:37: (e= expression f= expression )?
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==Add||LA32_0==And||LA32_0==Bool||LA32_0==Divide||LA32_0==Equals||(LA32_0 >= GT && LA32_0 <= GTEquals)||LA32_0==In||LA32_0==Integer||(LA32_0 >= LOOKUP && LA32_0 <= LTEquals)||LA32_0==Long||(LA32_0 >= Modulus && LA32_0 <= NEquals)||(LA32_0 >= Null && LA32_0 <= Number)||LA32_0==Or||LA32_0==Pow||LA32_0==RANGELOOKUP||LA32_0==SPARSE||LA32_0==Subtract||LA32_0==TERNARY||LA32_0==UNARY_MIN) ) {
alt32=1;
}
switch (alt32) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:394:38: e= expression f= expression
{
pushFollow(FOLLOW_expression_in_functionCall2635);
e=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_functionCall2639);
f=expression();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new SpawnNode(line, handler, currentScope, p, e, f);
}
break;
case 82 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:395:6: ^( FUNC_CALL Defined Identifier )
{
match(input,FUNC_CALL,FOLLOW_FUNC_CALL_in_functionCall2652);
match(input, Token.DOWN, null);
match(input,Defined,FOLLOW_Defined_in_functionCall2654);
Identifier97=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_functionCall2656);
match(input, Token.UP, null);
node = new DefinedNode(line, handler, currentScope, (Identifier97!=null?Identifier97.getText():null), namespaceStack.asPrefix()) ;
}
break;
case 83 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:396:6: ^( KERNEL_CALL KernelIdentifier ( exprList )? )
{
match(input,KERNEL_CALL,FOLLOW_KERNEL_CALL_in_functionCall2667);
match(input, Token.DOWN, null);
KernelIdentifier98=(CommonTree)match(input,KernelIdentifier,FOLLOW_KernelIdentifier_in_functionCall2669);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:396:37: ( exprList )?
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==EXP_LIST) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:396:37: exprList
{
pushFollow(FOLLOW_exprList_in_functionCall2671);
exprList99=exprList();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new KernelCallNode(line, handler, currentScope, (KernelIdentifier98!=null?KernelIdentifier98.getText():null), exprList99);
}
break;
case 84 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:397:6: ^( QUALIFIED_FUNC_CALL DottedIdentifier ( exprList )? )
{
match(input,QUALIFIED_FUNC_CALL,FOLLOW_QUALIFIED_FUNC_CALL_in_functionCall2683);
match(input, Token.DOWN, null);
DottedIdentifier100=(CommonTree)match(input,DottedIdentifier,FOLLOW_DottedIdentifier_in_functionCall2685);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:397:45: ( exprList )?
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==EXP_LIST) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:397:45: exprList
{
pushFollow(FOLLOW_exprList_in_functionCall2687);
exprList101=exprList();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = new QualifiedFuncCallNode(line, handler, currentScope, (DottedIdentifier100!=null?DottedIdentifier100.getText():null),
exprList101, languageRegistry, importHandler, namespaceStack.asPrefix());
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "functionCall"
// $ANTLR start "ifStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:401:1: ifStatement returns [ReflexNode node] : ^( IF ( ^( EXP expression b1= block ) )+ ( ^( EXP b2= block ) )? ) ;
public final ReflexNode ifStatement() throws RecognitionException {
ReflexNode node = null;
ReflexNode b1 =null;
ReflexNode b2 =null;
ReflexNode expression102 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
IfNode ifNode = new IfNode(line, handler, currentScope);
node = ifNode;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:408:3: ( ^( IF ( ^( EXP expression b1= block ) )+ ( ^( EXP b2= block ) )? ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:408:6: ^( IF ( ^( EXP expression b1= block ) )+ ( ^( EXP b2= block ) )? )
{
match(input,IF,FOLLOW_IF_in_ifStatement2716);
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:409:8: ( ^( EXP expression b1= block ) )+
int cnt36=0;
loop36:
while (true) {
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==EXP) ) {
int LA36_1 = input.LA(2);
if ( (LA36_1==DOWN) ) {
int LA36_3 = input.LA(3);
if ( (LA36_3==Add||LA36_3==And||LA36_3==Bool||LA36_3==Divide||LA36_3==Equals||(LA36_3 >= GT && LA36_3 <= GTEquals)||LA36_3==In||LA36_3==Integer||(LA36_3 >= LOOKUP && LA36_3 <= LTEquals)||LA36_3==Long||(LA36_3 >= Modulus && LA36_3 <= NEquals)||(LA36_3 >= Null && LA36_3 <= Number)||LA36_3==Or||LA36_3==Pow||LA36_3==RANGELOOKUP||LA36_3==SPARSE||LA36_3==Subtract||LA36_3==TERNARY||LA36_3==UNARY_MIN) ) {
alt36=1;
}
}
}
switch (alt36) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:409:9: ^( EXP expression b1= block )
{
match(input,EXP,FOLLOW_EXP_in_ifStatement2727);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_ifStatement2729);
expression102=expression();
state._fsp--;
pushFollow(FOLLOW_block_in_ifStatement2733);
b1=block();
state._fsp--;
match(input, Token.UP, null);
ifNode.addChoice(expression102,b1);
}
break;
default :
if ( cnt36 >= 1 ) break loop36;
EarlyExitException eee = new EarlyExitException(36, input);
throw eee;
}
cnt36++;
}
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:410:8: ( ^( EXP b2= block ) )?
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==EXP) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:410:9: ^( EXP b2= block )
{
match(input,EXP,FOLLOW_EXP_in_ifStatement2748);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_block_in_ifStatement2752);
b2=block();
state._fsp--;
match(input, Token.UP, null);
ifNode.addChoice(new AtomNode(line, handler, currentScope, true),b2);
}
break;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "ifStatement"
// $ANTLR start "forStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:414:1: forStatement returns [ReflexNode node] : ( ^( FORLIST Identifier a= expression block ) | ^( FORTO Identifier a= expression b= expression block ) );
public final ReflexNode forStatement() throws RecognitionException {
ReflexNode node = null;
CommonTree Identifier103=null;
CommonTree Identifier105=null;
ReflexNode a =null;
ReflexNode b =null;
ReflexNode block104 =null;
ReflexNode block106 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:419:3: ( ^( FORLIST Identifier a= expression block ) | ^( FORTO Identifier a= expression b= expression block ) )
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==FORLIST) ) {
alt38=1;
}
else if ( (LA38_0==FORTO) ) {
alt38=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 38, 0, input);
throw nvae;
}
switch (alt38) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:420:6: ^( FORLIST Identifier a= expression block )
{
match(input,FORLIST,FOLLOW_FORLIST_in_forStatement2802);
match(input, Token.DOWN, null);
Identifier103=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_forStatement2804);
pushFollow(FOLLOW_expression_in_forStatement2808);
a=expression();
state._fsp--;
pushFollow(FOLLOW_block_in_forStatement2810);
block104=block();
state._fsp--;
match(input, Token.UP, null);
node = new ForInStatementNode(line, handler, currentScope, (Identifier103!=null?Identifier103.getText():null), a, block104);
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:421:6: ^( FORTO Identifier a= expression b= expression block )
{
match(input,FORTO,FOLLOW_FORTO_in_forStatement2821);
match(input, Token.DOWN, null);
Identifier105=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_forStatement2823);
pushFollow(FOLLOW_expression_in_forStatement2827);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_forStatement2831);
b=expression();
state._fsp--;
pushFollow(FOLLOW_block_in_forStatement2833);
block106=block();
state._fsp--;
match(input, Token.UP, null);
node = new ForStatementNode(line, handler, currentScope, (Identifier105!=null?Identifier105.getText():null), a, b, block106);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "forStatement"
// $ANTLR start "pforStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:424:1: pforStatement returns [ReflexNode node] : ( ^( PFORLIST Identifier a= expression block ) | ^( PFORTO Identifier a= expression b= expression block ) );
public final ReflexNode pforStatement() throws RecognitionException {
ReflexNode node = null;
CommonTree Identifier107=null;
CommonTree Identifier109=null;
ReflexNode a =null;
ReflexNode b =null;
ReflexNode block108 =null;
ReflexNode block110 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:429:3: ( ^( PFORLIST Identifier a= expression block ) | ^( PFORTO Identifier a= expression b= expression block ) )
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==PFORLIST) ) {
alt39=1;
}
else if ( (LA39_0==PFORTO) ) {
alt39=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 39, 0, input);
throw nvae;
}
switch (alt39) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:430:6: ^( PFORLIST Identifier a= expression block )
{
match(input,PFORLIST,FOLLOW_PFORLIST_in_pforStatement2864);
match(input, Token.DOWN, null);
Identifier107=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_pforStatement2866);
pushFollow(FOLLOW_expression_in_pforStatement2870);
a=expression();
state._fsp--;
pushFollow(FOLLOW_block_in_pforStatement2872);
block108=block();
state._fsp--;
match(input, Token.UP, null);
node = new PForInStatementNode(line, handler, currentScope, (Identifier107!=null?Identifier107.getText():null), a, block108);
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:431:6: ^( PFORTO Identifier a= expression b= expression block )
{
match(input,PFORTO,FOLLOW_PFORTO_in_pforStatement2883);
match(input, Token.DOWN, null);
Identifier109=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_pforStatement2885);
pushFollow(FOLLOW_expression_in_pforStatement2889);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_pforStatement2893);
b=expression();
state._fsp--;
pushFollow(FOLLOW_block_in_pforStatement2895);
block110=block();
state._fsp--;
match(input, Token.UP, null);
node = new PForStatementNode(line, handler, currentScope, (Identifier109!=null?Identifier109.getText():null), a, b, block110);
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "pforStatement"
// $ANTLR start "whileStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:434:1: whileStatement returns [ReflexNode node] : ^( While expression block ) ;
public final ReflexNode whileStatement() throws RecognitionException {
ReflexNode node = null;
ReflexNode expression111 =null;
ReflexNode block112 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:439:3: ( ^( While expression block ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:439:6: ^( While expression block )
{
match(input,While,FOLLOW_While_in_whileStatement2922);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_whileStatement2924);
expression111=expression();
state._fsp--;
pushFollow(FOLLOW_block_in_whileStatement2926);
block112=block();
state._fsp--;
match(input, Token.UP, null);
node = new WhileStatementNode(line, handler, currentScope, expression111, block112);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "whileStatement"
// $ANTLR start "guardedStatement"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:442:1: guardedStatement returns [ReflexNode node] : ^( Try g= block Identifier c= block ) ;
public final ReflexNode guardedStatement() throws RecognitionException {
ReflexNode node = null;
CommonTree Identifier113=null;
ReflexNode g =null;
ReflexNode c =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:447:3: ( ^( Try g= block Identifier c= block ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:447:5: ^( Try g= block Identifier c= block )
{
match(input,Try,FOLLOW_Try_in_guardedStatement2952);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_block_in_guardedStatement2956);
g=block();
state._fsp--;
Identifier113=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_guardedStatement2958);
pushFollow(FOLLOW_block_in_guardedStatement2962);
c=block();
state._fsp--;
match(input, Token.UP, null);
node = new GuardedNode(line, handler, currentScope, g, (Identifier113!=null?Identifier113.getText():null), c);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "guardedStatement"
// $ANTLR start "sparsesep"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:450:1: sparsesep : '-' ;
public final void sparsesep() throws RecognitionException {
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:450:10: ( '-' )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:451:4: '-'
{
match(input,Subtract,FOLLOW_Subtract_in_sparsesep2978);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "sparsesep"
// $ANTLR start "sparsematrix"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:453:1: sparsematrix returns [int dim] : ^( SPARSE ( sparsesep )+ ) ;
public final int sparsematrix() throws RecognitionException {
int dim = 0;
dim = 1;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:457:4: ( ^( SPARSE ( sparsesep )+ ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:457:6: ^( SPARSE ( sparsesep )+ )
{
match(input,SPARSE,FOLLOW_SPARSE_in_sparsematrix2999);
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:457:15: ( sparsesep )+
int cnt40=0;
loop40:
while (true) {
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==Subtract) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:457:16: sparsesep
{
pushFollow(FOLLOW_sparsesep_in_sparsematrix3002);
sparsesep();
state._fsp--;
dim++;
}
break;
default :
if ( cnt40 >= 1 ) break loop40;
EarlyExitException eee = new EarlyExitException(40, input);
throw eee;
}
cnt40++;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return dim;
}
// $ANTLR end "sparsematrix"
// $ANTLR start "idList"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:460:1: idList returns [java.util.List i] : ^( ID_LIST ( Identifier )+ ) ;
public final java.util.List idList() throws RecognitionException {
java.util.List i = null;
CommonTree Identifier114=null;
i = new java.util.ArrayList();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:464:3: ( ^( ID_LIST ( Identifier )+ ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:464:6: ^( ID_LIST ( Identifier )+ )
{
match(input,ID_LIST,FOLLOW_ID_LIST_in_idList3033);
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:464:16: ( Identifier )+
int cnt41=0;
loop41:
while (true) {
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==Identifier) ) {
alt41=1;
}
switch (alt41) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:464:17: Identifier
{
Identifier114=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_idList3036);
i.add((Identifier114!=null?Identifier114.getText():null));
}
break;
default :
if ( cnt41 >= 1 ) break loop41;
EarlyExitException eee = new EarlyExitException(41, input);
throw eee;
}
cnt41++;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return i;
}
// $ANTLR end "idList"
// $ANTLR start "exprList"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:467:1: exprList returns [java.util.List e] : ^( EXP_LIST ( expression )+ ) ;
public final java.util.List exprList() throws RecognitionException {
java.util.List e = null;
ReflexNode expression115 =null;
e = new java.util.ArrayList();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:471:3: ( ^( EXP_LIST ( expression )+ ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:471:6: ^( EXP_LIST ( expression )+ )
{
match(input,EXP_LIST,FOLLOW_EXP_LIST_in_exprList3065);
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:471:17: ( expression )+
int cnt42=0;
loop42:
while (true) {
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==Add||LA42_0==And||LA42_0==Bool||LA42_0==Divide||LA42_0==Equals||(LA42_0 >= GT && LA42_0 <= GTEquals)||LA42_0==In||LA42_0==Integer||(LA42_0 >= LOOKUP && LA42_0 <= LTEquals)||LA42_0==Long||(LA42_0 >= Modulus && LA42_0 <= NEquals)||(LA42_0 >= Null && LA42_0 <= Number)||LA42_0==Or||LA42_0==Pow||LA42_0==RANGELOOKUP||LA42_0==SPARSE||LA42_0==Subtract||LA42_0==TERNARY||LA42_0==UNARY_MIN) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:471:18: expression
{
pushFollow(FOLLOW_expression_in_exprList3068);
expression115=expression();
state._fsp--;
e.add(expression115);
}
break;
default :
if ( cnt42 >= 1 ) break loop42;
EarlyExitException eee = new EarlyExitException(42, input);
throw eee;
}
cnt42++;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return e;
}
// $ANTLR end "exprList"
// $ANTLR start "expression"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:474:1: expression returns [ReflexNode node] : ( ^( TERNARY a= expression b= expression c= expression ) | ^( In a= expression b= expression ) | ^( '||' a= expression b= expression ) | ^( '&&' a= expression b= expression ) | ^( '==' a= expression b= expression ) | ^( '!=' a= expression b= expression ) | ^( '>=' a= expression b= expression ) | ^( '<=' a= expression b= expression ) | ^( '>' a= expression b= expression ) | ^( '<' a= expression b= expression ) | ^( '+' a= expression b= expression ) | ^( '-' a= expression b= expression ) | ^( '*' a= expression b= expression ) | ^( '/' a= expression b= expression ) | ^( '%' a= expression b= expression ) | ^( '^' a= expression b= expression ) | ^( UNARY_MIN a= expression ) | ^( NEGATE a= expression ) | Number | Integer | Long | Bool | Null | sparsematrix | lookup );
public final ReflexNode expression() throws RecognitionException {
ReflexNode node = null;
CommonTree Number116=null;
CommonTree Integer117=null;
CommonTree Long118=null;
CommonTree Bool119=null;
ReflexNode a =null;
ReflexNode b =null;
ReflexNode c =null;
int sparsematrix120 =0;
ReflexNode lookup121 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:479:3: ( ^( TERNARY a= expression b= expression c= expression ) | ^( In a= expression b= expression ) | ^( '||' a= expression b= expression ) | ^( '&&' a= expression b= expression ) | ^( '==' a= expression b= expression ) | ^( '!=' a= expression b= expression ) | ^( '>=' a= expression b= expression ) | ^( '<=' a= expression b= expression ) | ^( '>' a= expression b= expression ) | ^( '<' a= expression b= expression ) | ^( '+' a= expression b= expression ) | ^( '-' a= expression b= expression ) | ^( '*' a= expression b= expression ) | ^( '/' a= expression b= expression ) | ^( '%' a= expression b= expression ) | ^( '^' a= expression b= expression ) | ^( UNARY_MIN a= expression ) | ^( NEGATE a= expression ) | Number | Integer | Long | Bool | Null | sparsematrix | lookup )
int alt43=25;
switch ( input.LA(1) ) {
case TERNARY:
{
alt43=1;
}
break;
case In:
{
alt43=2;
}
break;
case Or:
{
alt43=3;
}
break;
case And:
{
alt43=4;
}
break;
case Equals:
{
alt43=5;
}
break;
case NEquals:
{
alt43=6;
}
break;
case GTEquals:
{
alt43=7;
}
break;
case LTEquals:
{
alt43=8;
}
break;
case GT:
{
alt43=9;
}
break;
case LT:
{
alt43=10;
}
break;
case Add:
{
alt43=11;
}
break;
case Subtract:
{
alt43=12;
}
break;
case Multiply:
{
alt43=13;
}
break;
case Divide:
{
alt43=14;
}
break;
case Modulus:
{
alt43=15;
}
break;
case Pow:
{
alt43=16;
}
break;
case UNARY_MIN:
{
alt43=17;
}
break;
case NEGATE:
{
alt43=18;
}
break;
case Number:
{
alt43=19;
}
break;
case Integer:
{
alt43=20;
}
break;
case Long:
{
alt43=21;
}
break;
case Bool:
{
alt43=22;
}
break;
case Null:
{
alt43=23;
}
break;
case SPARSE:
{
alt43=24;
}
break;
case LOOKUP:
case RANGELOOKUP:
{
alt43=25;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 43, 0, input);
throw nvae;
}
switch (alt43) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:479:6: ^( TERNARY a= expression b= expression c= expression )
{
match(input,TERNARY,FOLLOW_TERNARY_in_expression3097);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3101);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3105);
b=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3109);
c=expression();
state._fsp--;
match(input, Token.UP, null);
node = new TernaryNode(line, handler, currentScope, a, b, c);
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:480:6: ^( In a= expression b= expression )
{
match(input,In,FOLLOW_In_in_expression3120);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3124);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3128);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new InNode(line, handler, currentScope, a, b);
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:481:6: ^( '||' a= expression b= expression )
{
match(input,Or,FOLLOW_Or_in_expression3139);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3143);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3147);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new OrNode(line, handler, currentScope, a, b);
}
break;
case 4 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:482:6: ^( '&&' a= expression b= expression )
{
match(input,And,FOLLOW_And_in_expression3158);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3162);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3166);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new AndNode(line, handler, currentScope, a, b);
}
break;
case 5 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:483:6: ^( '==' a= expression b= expression )
{
match(input,Equals,FOLLOW_Equals_in_expression3177);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3181);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3185);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new EqualsNode(line, handler, currentScope, a, b);
}
break;
case 6 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:484:6: ^( '!=' a= expression b= expression )
{
match(input,NEquals,FOLLOW_NEquals_in_expression3196);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3200);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3204);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new NotEqualsNode(line,handler, currentScope, a, b);
}
break;
case 7 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:485:6: ^( '>=' a= expression b= expression )
{
match(input,GTEquals,FOLLOW_GTEquals_in_expression3215);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3219);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3223);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new GTEqualsNode(line, handler, currentScope, a, b);
}
break;
case 8 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:486:6: ^( '<=' a= expression b= expression )
{
match(input,LTEquals,FOLLOW_LTEquals_in_expression3234);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3238);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3242);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new LTEqualsNode(line, handler, currentScope, a, b);
}
break;
case 9 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:487:6: ^( '>' a= expression b= expression )
{
match(input,GT,FOLLOW_GT_in_expression3253);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3257);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3261);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new GTNode(line, handler, currentScope, a, b);
}
break;
case 10 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:488:6: ^( '<' a= expression b= expression )
{
match(input,LT,FOLLOW_LT_in_expression3272);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3276);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3280);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new LTNode(line, handler, currentScope, a, b);
}
break;
case 11 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:489:6: ^( '+' a= expression b= expression )
{
match(input,Add,FOLLOW_Add_in_expression3291);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3295);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3299);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new AddNode(line, handler,currentScope, a, b);
}
break;
case 12 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:490:6: ^( '-' a= expression b= expression )
{
match(input,Subtract,FOLLOW_Subtract_in_expression3310);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3314);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3318);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new SubNode(line, handler, currentScope, a, b);
}
break;
case 13 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:491:6: ^( '*' a= expression b= expression )
{
match(input,Multiply,FOLLOW_Multiply_in_expression3329);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3333);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3337);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new MulNode(line, handler, currentScope, a, b);
}
break;
case 14 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:492:6: ^( '/' a= expression b= expression )
{
match(input,Divide,FOLLOW_Divide_in_expression3348);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3352);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3356);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new DivNode(line, handler, currentScope, a, b);
}
break;
case 15 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:493:6: ^( '%' a= expression b= expression )
{
match(input,Modulus,FOLLOW_Modulus_in_expression3367);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3371);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3375);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new ModNode(line, handler, currentScope, a, b);
}
break;
case 16 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:494:6: ^( '^' a= expression b= expression )
{
match(input,Pow,FOLLOW_Pow_in_expression3386);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3390);
a=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_expression3394);
b=expression();
state._fsp--;
match(input, Token.UP, null);
node = new PowNode(line, handler, currentScope, a, b);
}
break;
case 17 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:495:6: ^( UNARY_MIN a= expression )
{
match(input,UNARY_MIN,FOLLOW_UNARY_MIN_in_expression3405);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3409);
a=expression();
state._fsp--;
match(input, Token.UP, null);
node = new UnaryMinusNode(line, handler, currentScope, a);
}
break;
case 18 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:496:6: ^( NEGATE a= expression )
{
match(input,NEGATE,FOLLOW_NEGATE_in_expression3420);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_expression3424);
a=expression();
state._fsp--;
match(input, Token.UP, null);
node = new NegateNode(line, handler, currentScope, a);
}
break;
case 19 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:497:6: Number
{
Number116=(CommonTree)match(input,Number,FOLLOW_Number_in_expression3434);
node = new AtomNode(line, handler, currentScope, new BigDecimal((Number116!=null?Number116.getText():null), MathContext.DECIMAL128));
}
break;
case 20 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:498:6: Integer
{
Integer117=(CommonTree)match(input,Integer,FOLLOW_Integer_in_expression3443);
node = AtomNode.getIntegerAtom(line, handler, currentScope, (Integer117!=null?Integer117.getText():null));
}
break;
case 21 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:499:6: Long
{
Long118=(CommonTree)match(input,Long,FOLLOW_Long_in_expression3452);
node = new AtomNode(line, handler, currentScope, java.lang.Long.parseLong((Long118!=null?Long118.getText():null)));
}
break;
case 22 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:500:6: Bool
{
Bool119=(CommonTree)match(input,Bool,FOLLOW_Bool_in_expression3461);
node = new AtomNode(line, handler, currentScope, Boolean.parseBoolean((Bool119!=null?Bool119.getText():null)));
}
break;
case 23 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:501:6: Null
{
match(input,Null,FOLLOW_Null_in_expression3470);
node = new AtomNode(line, handler, currentScope);
}
break;
case 24 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:502:6: sparsematrix
{
pushFollow(FOLLOW_sparsematrix_in_expression3479);
sparsematrix120=sparsematrix();
state._fsp--;
node = new AtomNode(line, handler, currentScope, new MatrixDim(sparsematrix120));
}
break;
case 25 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:503:6: lookup
{
pushFollow(FOLLOW_lookup_in_expression3488);
lookup121=lookup();
state._fsp--;
node = lookup121;
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "expression"
// $ANTLR start "list"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:507:1: list returns [ReflexNode node] : ^( LIST ( exprList )? ) ;
public final ReflexNode list() throws RecognitionException {
ReflexNode node = null;
java.util.List exprList122 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:512:3: ( ^( LIST ( exprList )? ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:512:5: ^( LIST ( exprList )? )
{
match(input,LIST,FOLLOW_LIST_in_list3514);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:512:12: ( exprList )?
int alt44=2;
int LA44_0 = input.LA(1);
if ( (LA44_0==EXP_LIST) ) {
alt44=1;
}
switch (alt44) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:512:12: exprList
{
pushFollow(FOLLOW_exprList_in_list3516);
exprList122=exprList();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
node = new ListNode(line, handler, currentScope, exprList122);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "list"
// $ANTLR start "mapdef"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:515:1: mapdef returns [ReflexNode node] : ^( MAPDEF ( keyValList )? ) ;
public final ReflexNode mapdef() throws RecognitionException {
ReflexNode node = null;
java.util.List keyValList123 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:520:3: ( ^( MAPDEF ( keyValList )? ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:520:5: ^( MAPDEF ( keyValList )? )
{
match(input,MAPDEF,FOLLOW_MAPDEF_in_mapdef3543);
if ( input.LA(1)==Token.DOWN ) {
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:520:14: ( keyValList )?
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==KEYVAL_LIST) ) {
alt45=1;
}
switch (alt45) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:520:14: keyValList
{
pushFollow(FOLLOW_keyValList_in_mapdef3545);
keyValList123=keyValList();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
}
node = new MapNode(line, handler,currentScope, keyValList123);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "mapdef"
// $ANTLR start "keyValList"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:523:1: keyValList returns [java.util.List e] : ^( KEYVAL_LIST ( keyval )+ ) ;
public final java.util.List keyValList() throws RecognitionException {
java.util.List e = null;
ReflexNode keyval124 =null;
e = new java.util.ArrayList();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:527:3: ( ^( KEYVAL_LIST ( keyval )+ ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:527:6: ^( KEYVAL_LIST ( keyval )+ )
{
match(input,KEYVAL_LIST,FOLLOW_KEYVAL_LIST_in_keyValList3573);
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:527:20: ( keyval )+
int cnt46=0;
loop46:
while (true) {
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0==KEYVAL) ) {
alt46=1;
}
switch (alt46) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:527:21: keyval
{
pushFollow(FOLLOW_keyval_in_keyValList3576);
keyval124=keyval();
state._fsp--;
e.add(keyval124);
}
break;
default :
if ( cnt46 >= 1 ) break loop46;
EarlyExitException eee = new EarlyExitException(46, input);
throw eee;
}
cnt46++;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return e;
}
// $ANTLR end "keyValList"
// $ANTLR start "keyval"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:530:1: keyval returns [ReflexNode node] : ^( KEYVAL k= expression v= expression ) ;
public final ReflexNode keyval() throws RecognitionException {
ReflexNode node = null;
ReflexNode k =null;
ReflexNode v =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:535:3: ( ^( KEYVAL k= expression v= expression ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:535:6: ^( KEYVAL k= expression v= expression )
{
match(input,KEYVAL,FOLLOW_KEYVAL_in_keyval3605);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_keyval3609);
k=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_keyval3613);
v=expression();
state._fsp--;
match(input, Token.UP, null);
node = new KeyValNode(line, handler, currentScope, k, v);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "keyval"
// $ANTLR start "lookup"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:538:1: lookup returns [ReflexNode node] : ( ^( LOOKUP functionCall (i= indexes )? ) | ^( LOOKUP PropertyPlaceholder ) | ^( RANGELOOKUP Identifier rangeindex ) | ^( RANGELOOKUP DottedIdentifier rangeindex ) | ^( LOOKUP list (i= indexes )? ) | ^( LOOKUP mapdef (i= indexes )? ) | ^( LOOKUP expression (i= indexes )? ) | ^( LOOKUP DottedIdentifier (x= indexes )? ) | ^( LOOKUP Identifier (x= indexes )? ) | ^( LOOKUP String (x= indexes )? ) | ^( LOOKUP QuotedString (x= indexes )? ) );
public final ReflexNode lookup() throws RecognitionException {
ReflexNode node = null;
CommonTree PropertyPlaceholder126=null;
CommonTree Identifier127=null;
CommonTree DottedIdentifier129=null;
CommonTree DottedIdentifier134=null;
CommonTree Identifier135=null;
CommonTree String136=null;
CommonTree QuotedString137=null;
java.util.List> i =null;
java.util.List> x =null;
ReflexNode functionCall125 =null;
TreeRuleReturnScope rangeindex128 =null;
TreeRuleReturnScope rangeindex130 =null;
ReflexNode list131 =null;
ReflexNode mapdef132 =null;
ReflexNode expression133 =null;
CommonTree ahead = (CommonTree) input.LT(1);
int line = ahead.getToken().getLine();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:543:3: ( ^( LOOKUP functionCall (i= indexes )? ) | ^( LOOKUP PropertyPlaceholder ) | ^( RANGELOOKUP Identifier rangeindex ) | ^( RANGELOOKUP DottedIdentifier rangeindex ) | ^( LOOKUP list (i= indexes )? ) | ^( LOOKUP mapdef (i= indexes )? ) | ^( LOOKUP expression (i= indexes )? ) | ^( LOOKUP DottedIdentifier (x= indexes )? ) | ^( LOOKUP Identifier (x= indexes )? ) | ^( LOOKUP String (x= indexes )? ) | ^( LOOKUP QuotedString (x= indexes )? ) )
int alt55=11;
int LA55_0 = input.LA(1);
if ( (LA55_0==LOOKUP) ) {
int LA55_1 = input.LA(2);
if ( (LA55_1==DOWN) ) {
switch ( input.LA(3) ) {
case PropertyPlaceholder:
{
alt55=2;
}
break;
case DottedIdentifier:
{
alt55=8;
}
break;
case Identifier:
{
alt55=9;
}
break;
case String:
{
alt55=10;
}
break;
case QuotedString:
{
alt55=11;
}
break;
case FUNC_CALL:
case KERNEL_CALL:
case QUALIFIED_FUNC_CALL:
{
alt55=1;
}
break;
case LIST:
{
alt55=5;
}
break;
case MAPDEF:
{
alt55=6;
}
break;
case Add:
case And:
case Bool:
case Divide:
case Equals:
case GT:
case GTEquals:
case In:
case Integer:
case LOOKUP:
case LT:
case LTEquals:
case Long:
case Modulus:
case Multiply:
case NEGATE:
case NEquals:
case Null:
case Number:
case Or:
case Pow:
case RANGELOOKUP:
case SPARSE:
case Subtract:
case TERNARY:
case UNARY_MIN:
{
alt55=7;
}
break;
default:
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 55, 3, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 55, 1, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else if ( (LA55_0==RANGELOOKUP) ) {
int LA55_2 = input.LA(2);
if ( (LA55_2==DOWN) ) {
int LA55_4 = input.LA(3);
if ( (LA55_4==Identifier) ) {
alt55=3;
}
else if ( (LA55_4==DottedIdentifier) ) {
alt55=4;
}
else {
int nvaeMark = input.mark();
try {
for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
input.consume();
}
NoViableAltException nvae =
new NoViableAltException("", 55, 4, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
int nvaeMark = input.mark();
try {
input.consume();
NoViableAltException nvae =
new NoViableAltException("", 55, 2, input);
throw nvae;
} finally {
input.rewind(nvaeMark);
}
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 55, 0, input);
throw nvae;
}
switch (alt55) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:543:6: ^( LOOKUP functionCall (i= indexes )? )
{
match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup3640);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_functionCall_in_lookup3642);
functionCall125=functionCall();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:543:29: (i= indexes )?
int alt47=2;
int LA47_0 = input.LA(1);
if ( (LA47_0==INDEXES) ) {
alt47=1;
}
switch (alt47) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:543:29: i= indexes
{
pushFollow(FOLLOW_indexes_in_lookup3646);
i=indexes();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = i != null ? new LookupNode(line, handler, currentScope, functionCall125, i) : functionCall125;
}
break;
case 2 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:544:6: ^( LOOKUP PropertyPlaceholder )
{
match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup3658);
match(input, Token.DOWN, null);
PropertyPlaceholder126=(CommonTree)match(input,PropertyPlaceholder,FOLLOW_PropertyPlaceholder_in_lookup3660);
match(input, Token.UP, null);
node = new PropertyPlaceholderNode(line, handler, currentScope, (PropertyPlaceholder126!=null?PropertyPlaceholder126.getText():null));
}
break;
case 3 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:545:6: ^( RANGELOOKUP Identifier rangeindex )
{
match(input,RANGELOOKUP,FOLLOW_RANGELOOKUP_in_lookup3672);
match(input, Token.DOWN, null);
Identifier127=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_lookup3674);
pushFollow(FOLLOW_rangeindex_in_lookup3676);
rangeindex128=rangeindex();
state._fsp--;
match(input, Token.UP, null);
node = new RangeLookupNode(line, handler, currentScope, new IdentifierNode(line, handler, currentScope, (Identifier127!=null?Identifier127.getText():null), namespaceStack.asPrefix()), (rangeindex128!=null?((ReflexTreeWalker.rangeindex_return)rangeindex128).ste:null), (rangeindex128!=null?((ReflexTreeWalker.rangeindex_return)rangeindex128).ed:null));
}
break;
case 4 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:546:6: ^( RANGELOOKUP DottedIdentifier rangeindex )
{
match(input,RANGELOOKUP,FOLLOW_RANGELOOKUP_in_lookup3687);
match(input, Token.DOWN, null);
DottedIdentifier129=(CommonTree)match(input,DottedIdentifier,FOLLOW_DottedIdentifier_in_lookup3689);
pushFollow(FOLLOW_rangeindex_in_lookup3691);
rangeindex130=rangeindex();
state._fsp--;
match(input, Token.UP, null);
node = new RangeLookupNode(line, handler, currentScope, new IdentifierNode(line, handler, currentScope, (DottedIdentifier129!=null?DottedIdentifier129.getText():null), namespaceStack.asPrefix()), (rangeindex130!=null?((ReflexTreeWalker.rangeindex_return)rangeindex130).ste:null), (rangeindex130!=null?((ReflexTreeWalker.rangeindex_return)rangeindex130).ed:null));
}
break;
case 5 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:547:6: ^( LOOKUP list (i= indexes )? )
{
match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup3702);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_list_in_lookup3704);
list131=list();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:547:21: (i= indexes )?
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==INDEXES) ) {
alt48=1;
}
switch (alt48) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:547:21: i= indexes
{
pushFollow(FOLLOW_indexes_in_lookup3708);
i=indexes();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = i != null ? new LookupNode(line, handler, currentScope, list131, i) : list131;
}
break;
case 6 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:548:6: ^( LOOKUP mapdef (i= indexes )? )
{
match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup3720);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_mapdef_in_lookup3722);
mapdef132=mapdef();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:548:23: (i= indexes )?
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==INDEXES) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:548:23: i= indexes
{
pushFollow(FOLLOW_indexes_in_lookup3726);
i=indexes();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = i != null ? new LookupNode(line, handler, currentScope, mapdef132, i) : mapdef132;
}
break;
case 7 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:549:6: ^( LOOKUP expression (i= indexes )? )
{
match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup3738);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_lookup3740);
expression133=expression();
state._fsp--;
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:549:27: (i= indexes )?
int alt50=2;
int LA50_0 = input.LA(1);
if ( (LA50_0==INDEXES) ) {
alt50=1;
}
switch (alt50) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:549:27: i= indexes
{
pushFollow(FOLLOW_indexes_in_lookup3744);
i=indexes();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = i != null ? new LookupNode(line, handler, currentScope, expression133, i) : expression133;
}
break;
case 8 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:550:6: ^( LOOKUP DottedIdentifier (x= indexes )? )
{
match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup3756);
match(input, Token.DOWN, null);
DottedIdentifier134=(CommonTree)match(input,DottedIdentifier,FOLLOW_DottedIdentifier_in_lookup3758);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:550:33: (x= indexes )?
int alt51=2;
int LA51_0 = input.LA(1);
if ( (LA51_0==INDEXES) ) {
alt51=1;
}
switch (alt51) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:550:33: x= indexes
{
pushFollow(FOLLOW_indexes_in_lookup3762);
x=indexes();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = (x != null)
? new LookupNode(line, handler, currentScope, new IdentifierNode(line, handler, currentScope, (DottedIdentifier134!=null?DottedIdentifier134.getText():null), namespaceStack.asPrefix()), x)
: new IdentifierNode(line, handler, currentScope, (DottedIdentifier134!=null?DottedIdentifier134.getText():null), namespaceStack.asPrefix());
}
break;
case 9 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:556:6: ^( LOOKUP Identifier (x= indexes )? )
{
match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup3780);
match(input, Token.DOWN, null);
Identifier135=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_lookup3782);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:556:27: (x= indexes )?
int alt52=2;
int LA52_0 = input.LA(1);
if ( (LA52_0==INDEXES) ) {
alt52=1;
}
switch (alt52) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:556:27: x= indexes
{
pushFollow(FOLLOW_indexes_in_lookup3786);
x=indexes();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = (x != null)
? new LookupNode(line, handler, currentScope, new IdentifierNode(line, handler, currentScope, (Identifier135!=null?Identifier135.getText():null), namespaceStack.asPrefix()), x)
: new IdentifierNode(line, handler, currentScope, (Identifier135!=null?Identifier135.getText():null), namespaceStack.asPrefix());
}
break;
case 10 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:562:6: ^( LOOKUP String (x= indexes )? )
{
match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup3804);
match(input, Token.DOWN, null);
String136=(CommonTree)match(input,String,FOLLOW_String_in_lookup3806);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:562:23: (x= indexes )?
int alt53=2;
int LA53_0 = input.LA(1);
if ( (LA53_0==INDEXES) ) {
alt53=1;
}
switch (alt53) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:562:23: x= indexes
{
pushFollow(FOLLOW_indexes_in_lookup3810);
x=indexes();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = (x != null)
? new LookupNode(line, handler, currentScope, new AtomNode(line, handler, currentScope, (String136!=null?String136.getText():null)), x)
: AtomNode.getStringAtom(line, handler,currentScope, (String136!=null?String136.getText():null));
}
break;
case 11 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:568:5: ^( LOOKUP QuotedString (x= indexes )? )
{
match(input,LOOKUP,FOLLOW_LOOKUP_in_lookup3825);
match(input, Token.DOWN, null);
QuotedString137=(CommonTree)match(input,QuotedString,FOLLOW_QuotedString_in_lookup3827);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:568:28: (x= indexes )?
int alt54=2;
int LA54_0 = input.LA(1);
if ( (LA54_0==INDEXES) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:568:28: x= indexes
{
pushFollow(FOLLOW_indexes_in_lookup3831);
x=indexes();
state._fsp--;
}
break;
}
match(input, Token.UP, null);
node = (x != null)
? new LookupNode(line, handler, currentScope, new QuotedStringNode(line, handler, currentScope, (QuotedString137!=null?QuotedString137.getText():null)), x)
: new QuotedStringNode(line, handler, currentScope, (QuotedString137!=null?QuotedString137.getText():null));
}
break;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return node;
}
// $ANTLR end "lookup"
public static class rangeindex_return extends TreeRuleReturnScope {
public ReflexNode ste;
public ReflexNode ed;
};
// $ANTLR start "rangeindex"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:576:1: rangeindex returns [ReflexNode ste, ReflexNode ed] : ^( RANGEINDEX lhs= expression rhs= expression ) ;
public final ReflexTreeWalker.rangeindex_return rangeindex() throws RecognitionException {
ReflexTreeWalker.rangeindex_return retval = new ReflexTreeWalker.rangeindex_return();
retval.start = input.LT(1);
ReflexNode lhs =null;
ReflexNode rhs =null;
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:577:3: ( ^( RANGEINDEX lhs= expression rhs= expression ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:577:3: ^( RANGEINDEX lhs= expression rhs= expression )
{
match(input,RANGEINDEX,FOLLOW_RANGEINDEX_in_rangeindex3855);
match(input, Token.DOWN, null);
pushFollow(FOLLOW_expression_in_rangeindex3859);
lhs=expression();
state._fsp--;
pushFollow(FOLLOW_expression_in_rangeindex3863);
rhs=expression();
state._fsp--;
match(input, Token.UP, null);
retval.ste = lhs; retval.ed = rhs;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "rangeindex"
// $ANTLR start "indexes"
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:580:1: indexes returns [java.util.List> e] : ^( INDEXES ( exprList )+ ) ;
public final java.util.List> indexes() throws RecognitionException {
java.util.List> e = null;
java.util.List exprList138 =null;
e = new ArrayList>();
try {
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:584:3: ( ^( INDEXES ( exprList )+ ) )
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:584:6: ^( INDEXES ( exprList )+ )
{
match(input,INDEXES,FOLLOW_INDEXES_in_indexes3888);
match(input, Token.DOWN, null);
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:584:16: ( exprList )+
int cnt56=0;
loop56:
while (true) {
int alt56=2;
int LA56_0 = input.LA(1);
if ( (LA56_0==EXP_LIST) ) {
alt56=1;
}
switch (alt56) {
case 1 :
// /Users/amkimian/Development/cloud/Rapture/Libs/Reflex/src/main/antlr3/reflex/ReflexTreeWalker.g:584:17: exprList
{
pushFollow(FOLLOW_exprList_in_indexes3891);
exprList138=exprList();
state._fsp--;
e.add(exprList138);
}
break;
default :
if ( cnt56 >= 1 ) break loop56;
EarlyExitException eee = new EarlyExitException(56, input);
throw eee;
}
cnt56++;
}
match(input, Token.UP, null);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
// do for sure before leaving
}
return e;
}
// $ANTLR end "indexes"
// Delegated rules
protected DFA35 dfa35 = new DFA35(this);
static final String DFA35_eotS =
"\127\uffff";
static final String DFA35_eofS =
"\127\uffff";
static final String DFA35_minS =
"\1\110\1\2\2\uffff\1\6\122\uffff";
static final String DFA35_maxS =
"\1\u00a4\1\2\2\uffff\1\u00d8\122\uffff";
static final String DFA35_acceptS =
"\2\uffff\1\123\1\124\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
"\1\13\1\14\1\15\1\16\1\17\1\20\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30"+
"\1\31\1\32\1\33\1\34\1\35\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45\1\46"+
"\1\47\1\50\1\51\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\61\1\62\1\63\1\64"+
"\1\65\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75\1\76\1\77\1\100\1\101\1"+
"\102\1\103\1\104\1\105\1\106\1\107\1\110\1\111\1\112\1\113\1\114\1\115"+
"\1\116\1\117\1\120\1\121\1\122";
static final String DFA35_specialS =
"\127\uffff}>";
static final String[] DFA35_transitionS = {
"\1\1\41\uffff\1\2\71\uffff\1\3",
"\1\4",
"",
"",
"\1\21\1\uffff\1\20\1\54\1\uffff\1\27\1\uffff\1\103\1\104\1\uffff\1\105"+
"\1\37\1\40\12\uffff\1\120\1\12\1\uffff\1\114\1\uffff\1\111\1\60\1\36"+
"\5\uffff\1\53\2\uffff\1\42\1\41\2\uffff\1\126\1\55\1\71\5\uffff\1\23"+
"\10\uffff\1\44\6\uffff\1\52\1\16\1\17\1\uffff\1\63\1\76\2\uffff\1\122"+
"\1\123\1\70\1\11\1\10\1\13\10\uffff\1\5\6\uffff\1\50\1\51\1\72\1\74\4"+
"\uffff\1\34\4\uffff\1\117\3\uffff\1\75\3\uffff\1\15\1\uffff\1\113\1\62"+
"\1\64\1\66\1\47\4\uffff\1\121\21\uffff\1\6\1\uffff\1\56\2\uffff\1\14"+
"\1\7\3\uffff\1\67\7\uffff\1\31\1\32\1\115\1\46\1\102\1\65\1\uffff\1\116"+
"\5\uffff\1\110\1\uffff\1\30\1\112\1\35\1\uffff\1\125\1\25\1\24\3\uffff"+
"\1\57\1\106\2\uffff\1\22\1\124\1\uffff\1\43\1\61\1\uffff\1\33\1\uffff"+
"\1\26\1\uffff\1\73\1\uffff\1\100\1\77\1\uffff\1\101\1\45\1\107",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] DFA35_eot = DFA.unpackEncodedString(DFA35_eotS);
static final short[] DFA35_eof = DFA.unpackEncodedString(DFA35_eofS);
static final char[] DFA35_min = DFA.unpackEncodedStringToUnsignedChars(DFA35_minS);
static final char[] DFA35_max = DFA.unpackEncodedStringToUnsignedChars(DFA35_maxS);
static final short[] DFA35_accept = DFA.unpackEncodedString(DFA35_acceptS);
static final short[] DFA35_special = DFA.unpackEncodedString(DFA35_specialS);
static final short[][] DFA35_transition;
static {
int numStates = DFA35_transitionS.length;
DFA35_transition = new short[numStates][];
for (int i=0; i
© 2015 - 2025 Weber Informatics LLC | Privacy Policy