All Downloads are FREE. Search and download functionalities are using the official Maven repository.

rapture.generated.HoseWalker Maven / Gradle / Ivy

There is a newer version: 3.0.4
Show newest version
// $ANTLR 3.5.2 /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g 2016-03-01 15:52:38

package rapture.generated;
import rapture.dsl.serfun.*;
import rapture.common.Hose;
import rapture.common.SeriesValue;
import java.util.List;
import java.util.ArrayList;


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 HoseWalker extends TreeParser {
	public static final String[] tokenNames = new String[] {
		"", "", "", "", "ARG", "ARGLIST", "ARG_D", "ARG_O", 
		"ARG_OD", "ASSIGN", "BODY", "CALL", "CLOSEI", "CLOSEP", "COMMA", "Comment", 
		"DECIMAL_T", "DEREF", "DEREFLIST", "DOT", "Digit", "Double", "EQUALS", 
		"INT_T", "Identifier", "LINK", "LINKS", "Long", "Number", "OPENI", "OPENP", 
		"OUTINDEX", "OUTKEY", "PARM", "PARMLIST", "SEMI", "SIGNATURE", "STREAM_T", 
		"STRING_T", "Space", "String"
	};
	public static final int EOF=-1;
	public static final int ARG=4;
	public static final int ARGLIST=5;
	public static final int ARG_D=6;
	public static final int ARG_O=7;
	public static final int ARG_OD=8;
	public static final int ASSIGN=9;
	public static final int BODY=10;
	public static final int CALL=11;
	public static final int CLOSEI=12;
	public static final int CLOSEP=13;
	public static final int COMMA=14;
	public static final int Comment=15;
	public static final int DECIMAL_T=16;
	public static final int DEREF=17;
	public static final int DEREFLIST=18;
	public static final int DOT=19;
	public static final int Digit=20;
	public static final int Double=21;
	public static final int EQUALS=22;
	public static final int INT_T=23;
	public static final int Identifier=24;
	public static final int LINK=25;
	public static final int LINKS=26;
	public static final int Long=27;
	public static final int Number=28;
	public static final int OPENI=29;
	public static final int OPENP=30;
	public static final int OUTINDEX=31;
	public static final int OUTKEY=32;
	public static final int PARM=33;
	public static final int PARMLIST=34;
	public static final int SEMI=35;
	public static final int SIGNATURE=36;
	public static final int STREAM_T=37;
	public static final int STRING_T=38;
	public static final int Space=39;
	public static final int String=40;

	// delegates
	public TreeParser[] getDelegates() {
		return new TreeParser[] {};
	}

	// delegators


	public HoseWalker(TreeNodeStream input) {
		this(input, new RecognizerSharedState());
	}
	public HoseWalker(TreeNodeStream input, RecognizerSharedState state) {
		super(input, state);
	}

	@Override public String[] getTokenNames() { return HoseWalker.tokenNames; }
	@Override public String getGrammarFileName() { return "/Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g"; }


	  public HoseProgram program = new HoseProgram();



	// $ANTLR start "program"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:21:1: program : ^( BODY s= signature ( statement )* ) ;
	public final void program() throws RecognitionException {
		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:22:3: ( ^( BODY s= signature ( statement )* ) )
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:22:5: ^( BODY s= signature ( statement )* )
			{
			match(input,BODY,FOLLOW_BODY_in_program47); 
			match(input, Token.DOWN, null); 
			pushFollow(FOLLOW_signature_in_program51);
			signature();
			state._fsp--;

			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:22:24: ( statement )*
			loop1:
			while (true) {
				int alt1=2;
				int LA1_0 = input.LA(1);
				if ( (LA1_0==LINK) ) {
					alt1=1;
				}

				switch (alt1) {
				case 1 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:22:24: statement
					{
					pushFollow(FOLLOW_statement_in_program53);
					statement();
					state._fsp--;

					}
					break;

				default :
					break loop1;
				}
			}

			match(input, Token.UP, null); 

			 
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "program"



	// $ANTLR start "statement"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:25:1: statement : ^( LINK i= Identifier a= arg ) ;
	public final void statement() throws RecognitionException {
		CommonTree i=null;
		HoseArg a =null;

		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:26:3: ( ^( LINK i= Identifier a= arg ) )
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:26:5: ^( LINK i= Identifier a= arg )
			{
			match(input,LINK,FOLLOW_LINK_in_statement71); 
			match(input, Token.DOWN, null); 
			i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_statement75); 
			pushFollow(FOLLOW_arg_in_statement79);
			a=arg();
			state._fsp--;

			match(input, Token.UP, null); 

			 program.addLink((i!=null?i.getText():null), a); 
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "statement"



	// $ANTLR start "call"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:29:1: call returns [Hose c] : ^( CALL i= Identifier a= argList ) ;
	public final Hose call() throws RecognitionException {
		Hose c = null;


		CommonTree i=null;
		List a =null;

		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:30:3: ( ^( CALL i= Identifier a= argList ) )
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:30:5: ^( CALL i= Identifier a= argList )
			{
			match(input,CALL,FOLLOW_CALL_in_call100); 
			match(input, Token.DOWN, null); 
			i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_call104); 
			pushFollow(FOLLOW_argList_in_call108);
			a=argList();
			state._fsp--;

			match(input, Token.UP, null); 

			 c = HoseRegistry.call((i!=null?i.getText():null), a); 
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		return c;
	}
	// $ANTLR end "call"



	// $ANTLR start "argList"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:33:1: argList returns [List args] : ^( ARGLIST (a= arg )+ ) ;
	public final List argList() throws RecognitionException {
		List args = null;


		HoseArg a =null;


		    args = new ArrayList();
		  
		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:36:5: ( ^( ARGLIST (a= arg )+ ) )
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:36:7: ^( ARGLIST (a= arg )+ )
			{
			match(input,ARGLIST,FOLLOW_ARGLIST_in_argList134); 
			match(input, Token.DOWN, null); 
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:36:17: (a= arg )+
			int cnt2=0;
			loop2:
			while (true) {
				int alt2=2;
				int LA2_0 = input.LA(1);
				if ( (LA2_0==ARG||(LA2_0 >= ARG_D && LA2_0 <= ARG_OD)) ) {
					alt2=1;
				}

				switch (alt2) {
				case 1 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:36:18: a= arg
					{
					pushFollow(FOLLOW_arg_in_argList139);
					a=arg();
					state._fsp--;

					 args.add(a); 
					}
					break;

				default :
					if ( cnt2 >= 1 ) break loop2;
					EarlyExitException eee = new EarlyExitException(2, input);
					throw eee;
				}
				cnt2++;
			}

			match(input, Token.UP, null); 

			 
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		return args;
	}
	// $ANTLR end "argList"



	// $ANTLR start "signature"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:39:1: signature : ^( SIGNATURE name= Identifier in= parmlist out= parmlist ) ;
	public final void signature() throws RecognitionException {
		CommonTree name=null;
		List in =null;
		List out =null;

		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:40:3: ( ^( SIGNATURE name= Identifier in= parmlist out= parmlist ) )
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:40:5: ^( SIGNATURE name= Identifier in= parmlist out= parmlist )
			{
			match(input,SIGNATURE,FOLLOW_SIGNATURE_in_signature161); 
			match(input, Token.DOWN, null); 
			name=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_signature165); 
			pushFollow(FOLLOW_parmlist_in_signature169);
			in=parmlist();
			state._fsp--;

			pushFollow(FOLLOW_parmlist_in_signature173);
			out=parmlist();
			state._fsp--;

			match(input, Token.UP, null); 

			 program.setName((name!=null?name.getText():null)); program.setInParms(in); program.setOutParms(out); 
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
	}
	// $ANTLR end "signature"



	// $ANTLR start "parmlist"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:43:1: parmlist returns [List parms] : ^( PARMLIST (p= parm )+ ) ;
	public final List parmlist() throws RecognitionException {
		List parms = null;


		HoseParm p =null;


		    parms = new ArrayList();
		  
		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:46:5: ( ^( PARMLIST (p= parm )+ ) )
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:46:7: ^( PARMLIST (p= parm )+ )
			{
			match(input,PARMLIST,FOLLOW_PARMLIST_in_parmlist201); 
			match(input, Token.DOWN, null); 
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:46:18: (p= parm )+
			int cnt3=0;
			loop3:
			while (true) {
				int alt3=2;
				int LA3_0 = input.LA(1);
				if ( (LA3_0==PARM) ) {
					alt3=1;
				}

				switch (alt3) {
				case 1 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:46:19: p= parm
					{
					pushFollow(FOLLOW_parm_in_parmlist206);
					p=parm();
					state._fsp--;

					 parms.add(p); 
					}
					break;

				default :
					if ( cnt3 >= 1 ) break loop3;
					EarlyExitException eee = new EarlyExitException(3, input);
					throw eee;
				}
				cnt3++;
			}

			match(input, Token.UP, null); 

			 
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		return parms;
	}
	// $ANTLR end "parmlist"



	// $ANTLR start "parm"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:49:1: parm returns [HoseParm p] : ( ^( PARM INT_T i= Identifier ) | ^( PARM DECIMAL_T i= Identifier ) | ^( PARM STRING_T i= Identifier ) | ^( PARM STREAM_T i= Identifier ) );
	public final HoseParm parm() throws RecognitionException {
		HoseParm p = null;


		CommonTree i=null;

		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:50:3: ( ^( PARM INT_T i= Identifier ) | ^( PARM DECIMAL_T i= Identifier ) | ^( PARM STRING_T i= Identifier ) | ^( PARM STREAM_T i= Identifier ) )
			int alt4=4;
			int LA4_0 = input.LA(1);
			if ( (LA4_0==PARM) ) {
				int LA4_1 = input.LA(2);
				if ( (LA4_1==DOWN) ) {
					switch ( input.LA(3) ) {
					case INT_T:
						{
						alt4=1;
						}
						break;
					case DECIMAL_T:
						{
						alt4=2;
						}
						break;
					case STRING_T:
						{
						alt4=3;
						}
						break;
					case STREAM_T:
						{
						alt4=4;
						}
						break;
					default:
						int nvaeMark = input.mark();
						try {
							for (int nvaeConsume = 0; nvaeConsume < 3 - 1; nvaeConsume++) {
								input.consume();
							}
							NoViableAltException nvae =
								new NoViableAltException("", 4, 2, input);
							throw nvae;
						} finally {
							input.rewind(nvaeMark);
						}
					}
				}

				else {
					int nvaeMark = input.mark();
					try {
						input.consume();
						NoViableAltException nvae =
							new NoViableAltException("", 4, 1, input);
						throw nvae;
					} finally {
						input.rewind(nvaeMark);
					}
				}

			}

			else {
				NoViableAltException nvae =
					new NoViableAltException("", 4, 0, input);
				throw nvae;
			}

			switch (alt4) {
				case 1 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:50:5: ^( PARM INT_T i= Identifier )
					{
					match(input,PARM,FOLLOW_PARM_in_parm232); 
					match(input, Token.DOWN, null); 
					match(input,INT_T,FOLLOW_INT_T_in_parm234); 
					i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_parm238); 
					match(input, Token.UP, null); 

					 p = new HoseParm(HoseParm.Type.INT, (i!=null?i.getText():null)); 
					}
					break;
				case 2 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:51:5: ^( PARM DECIMAL_T i= Identifier )
					{
					match(input,PARM,FOLLOW_PARM_in_parm252); 
					match(input, Token.DOWN, null); 
					match(input,DECIMAL_T,FOLLOW_DECIMAL_T_in_parm254); 
					i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_parm258); 
					match(input, Token.UP, null); 

					 p = new HoseParm(HoseParm.Type.DECIMAL, (i!=null?i.getText():null)); 
					}
					break;
				case 3 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:52:5: ^( PARM STRING_T i= Identifier )
					{
					match(input,PARM,FOLLOW_PARM_in_parm268); 
					match(input, Token.DOWN, null); 
					match(input,STRING_T,FOLLOW_STRING_T_in_parm270); 
					i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_parm274); 
					match(input, Token.UP, null); 

					 p = new HoseParm(HoseParm.Type.STRING, (i!=null?i.getText():null)); 
					}
					break;
				case 4 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:53:5: ^( PARM STREAM_T i= Identifier )
					{
					match(input,PARM,FOLLOW_PARM_in_parm285); 
					match(input, Token.DOWN, null); 
					match(input,STREAM_T,FOLLOW_STREAM_T_in_parm287); 
					i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_parm291); 
					match(input, Token.UP, null); 

					 p = new HoseParm(HoseParm.Type.STREAM, (i!=null?i.getText():null)); 
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		return p;
	}
	// $ANTLR end "parm"



	// $ANTLR start "baseArg"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:56:1: baseArg returns [SeriesValue base] : (l= literal |i= Identifier |c= call );
	public final SeriesValue baseArg() throws RecognitionException {
		SeriesValue base = null;


		CommonTree i=null;
		SeriesValue l =null;
		Hose c =null;

		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:57:3: (l= literal |i= Identifier |c= call )
			int alt5=3;
			switch ( input.LA(1) ) {
			case Double:
			case Long:
			case String:
				{
				alt5=1;
				}
				break;
			case Identifier:
				{
				alt5=2;
				}
				break;
			case CALL:
				{
				alt5=3;
				}
				break;
			default:
				NoViableAltException nvae =
					new NoViableAltException("", 5, 0, input);
				throw nvae;
			}
			switch (alt5) {
				case 1 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:57:5: l= literal
					{
					pushFollow(FOLLOW_literal_in_baseArg316);
					l=literal();
					state._fsp--;

					 base = l; 
					}
					break;
				case 2 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:58:5: i= Identifier
					{
					i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_baseArg326); 
					 base = program.getLink((i!=null?i.getText():null)); 
					}
					break;
				case 3 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:59:5: c= call
					{
					pushFollow(FOLLOW_call_in_baseArg336);
					c=call();
					state._fsp--;

					 base = c; 
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		return base;
	}
	// $ANTLR end "baseArg"



	// $ANTLR start "deref"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:62:1: deref returns [String d] : ^( DEREF i= Identifier ) ;
	public final String deref() throws RecognitionException {
		String d = null;


		CommonTree i=null;

		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:63:3: ( ^( DEREF i= Identifier ) )
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:63:5: ^( DEREF i= Identifier )
			{
			match(input,DEREF,FOLLOW_DEREF_in_deref356); 
			match(input, Token.DOWN, null); 
			i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_deref360); 
			match(input, Token.UP, null); 

			 d = (i!=null?i.getText():null); 
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		return d;
	}
	// $ANTLR end "deref"



	// $ANTLR start "derefList"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:66:1: derefList returns [List dl] : ^( DEREFLIST (d= deref )+ ) ;
	public final List derefList() throws RecognitionException {
		List dl = null;


		String d =null;


		    dl = new ArrayList();
		  
		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:69:5: ( ^( DEREFLIST (d= deref )+ ) )
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:69:7: ^( DEREFLIST (d= deref )+ )
			{
			match(input,DEREFLIST,FOLLOW_DEREFLIST_in_derefList386); 
			match(input, Token.DOWN, null); 
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:69:19: (d= deref )+
			int cnt6=0;
			loop6:
			while (true) {
				int alt6=2;
				int LA6_0 = input.LA(1);
				if ( (LA6_0==DEREF) ) {
					alt6=1;
				}

				switch (alt6) {
				case 1 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:69:20: d= deref
					{
					pushFollow(FOLLOW_deref_in_derefList391);
					d=deref();
					state._fsp--;

					 dl.add(d); 
					}
					break;

				default :
					if ( cnt6 >= 1 ) break loop6;
					EarlyExitException eee = new EarlyExitException(6, input);
					throw eee;
				}
				cnt6++;
			}

			match(input, Token.UP, null); 

			 
			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		return dl;
	}
	// $ANTLR end "derefList"



	// $ANTLR start "arg"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:72:1: arg returns [HoseArg a] : ( ^( ARG_O b= baseArg o= outkey ) | ^( ARG_OD b= baseArg (o= outkey )? d= derefList ) | ^( ARG_D b= baseArg d= derefList ) | ^( ARG b= baseArg ) );
	public final HoseArg arg() throws RecognitionException {
		HoseArg a = null;


		SeriesValue b =null;
		SeriesValue o =null;
		List d =null;

		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:73:3: ( ^( ARG_O b= baseArg o= outkey ) | ^( ARG_OD b= baseArg (o= outkey )? d= derefList ) | ^( ARG_D b= baseArg d= derefList ) | ^( ARG b= baseArg ) )
			int alt8=4;
			switch ( input.LA(1) ) {
			case ARG_O:
				{
				alt8=1;
				}
				break;
			case ARG_OD:
				{
				alt8=2;
				}
				break;
			case ARG_D:
				{
				alt8=3;
				}
				break;
			case ARG:
				{
				alt8=4;
				}
				break;
			default:
				NoViableAltException nvae =
					new NoViableAltException("", 8, 0, input);
				throw nvae;
			}
			switch (alt8) {
				case 1 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:73:5: ^( ARG_O b= baseArg o= outkey )
					{
					match(input,ARG_O,FOLLOW_ARG_O_in_arg419); 
					match(input, Token.DOWN, null); 
					pushFollow(FOLLOW_baseArg_in_arg423);
					b=baseArg();
					state._fsp--;

					pushFollow(FOLLOW_outkey_in_arg427);
					o=outkey();
					state._fsp--;

					match(input, Token.UP, null); 

					 a = HoseArg.make(b, o, new ArrayList()); 
					}
					break;
				case 2 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:74:5: ^( ARG_OD b= baseArg (o= outkey )? d= derefList )
					{
					match(input,ARG_OD,FOLLOW_ARG_OD_in_arg437); 
					match(input, Token.DOWN, null); 
					pushFollow(FOLLOW_baseArg_in_arg441);
					b=baseArg();
					state._fsp--;

					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:74:25: (o= outkey )?
					int alt7=2;
					int LA7_0 = input.LA(1);
					if ( ((LA7_0 >= OUTINDEX && LA7_0 <= OUTKEY)) ) {
						alt7=1;
					}
					switch (alt7) {
						case 1 :
							// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:74:25: o= outkey
							{
							pushFollow(FOLLOW_outkey_in_arg445);
							o=outkey();
							state._fsp--;

							}
							break;

					}

					pushFollow(FOLLOW_derefList_in_arg450);
					d=derefList();
					state._fsp--;

					match(input, Token.UP, null); 

					 a = HoseArg.make(b, o, d); 
					}
					break;
				case 3 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:75:5: ^( ARG_D b= baseArg d= derefList )
					{
					match(input,ARG_D,FOLLOW_ARG_D_in_arg460); 
					match(input, Token.DOWN, null); 
					pushFollow(FOLLOW_baseArg_in_arg464);
					b=baseArg();
					state._fsp--;

					pushFollow(FOLLOW_derefList_in_arg468);
					d=derefList();
					state._fsp--;

					match(input, Token.UP, null); 

					 a = HoseArg.make(b, null, d); 
					}
					break;
				case 4 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:76:5: ^( ARG b= baseArg )
					{
					match(input,ARG,FOLLOW_ARG_in_arg478); 
					match(input, Token.DOWN, null); 
					pushFollow(FOLLOW_baseArg_in_arg482);
					b=baseArg();
					state._fsp--;

					match(input, Token.UP, null); 

					 a = HoseArg.make(b, null, new ArrayList()); 
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		return a;
	}
	// $ANTLR end "arg"



	// $ANTLR start "outkey"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:79:1: outkey returns [SeriesValue k] : ( ^( OUTKEY i= Identifier ) | ^( OUTINDEX Long ) );
	public final SeriesValue outkey() throws RecognitionException {
		SeriesValue k = null;


		CommonTree i=null;
		CommonTree Long1=null;

		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:80:3: ( ^( OUTKEY i= Identifier ) | ^( OUTINDEX Long ) )
			int alt9=2;
			int LA9_0 = input.LA(1);
			if ( (LA9_0==OUTKEY) ) {
				alt9=1;
			}
			else if ( (LA9_0==OUTINDEX) ) {
				alt9=2;
			}

			else {
				NoViableAltException nvae =
					new NoViableAltException("", 9, 0, input);
				throw nvae;
			}

			switch (alt9) {
				case 1 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:80:5: ^( OUTKEY i= Identifier )
					{
					match(input,OUTKEY,FOLLOW_OUTKEY_in_outkey505); 
					match(input, Token.DOWN, null); 
					i=(CommonTree)match(input,Identifier,FOLLOW_Identifier_in_outkey509); 
					match(input, Token.UP, null); 

					 k = new StringSeriesValue((i!=null?i.getText():null)); 
					}
					break;
				case 2 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:81:5: ^( OUTINDEX Long )
					{
					match(input,OUTINDEX,FOLLOW_OUTINDEX_in_outkey519); 
					match(input, Token.DOWN, null); 
					Long1=(CommonTree)match(input,Long,FOLLOW_Long_in_outkey521); 
					match(input, Token.UP, null); 

					 k = new LongSeriesValue((Long1!=null?Long1.getText():null)); 
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		return k;
	}
	// $ANTLR end "outkey"



	// $ANTLR start "literal"
	// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:84:1: literal returns [SeriesValue v] : ( String | Long | Double );
	public final SeriesValue literal() throws RecognitionException {
		SeriesValue v = null;


		CommonTree String2=null;
		CommonTree Long3=null;
		CommonTree Double4=null;

		try {
			// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:85:3: ( String | Long | Double )
			int alt10=3;
			switch ( input.LA(1) ) {
			case String:
				{
				alt10=1;
				}
				break;
			case Long:
				{
				alt10=2;
				}
				break;
			case Double:
				{
				alt10=3;
				}
				break;
			default:
				NoViableAltException nvae =
					new NoViableAltException("", 10, 0, input);
				throw nvae;
			}
			switch (alt10) {
				case 1 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:85:5: String
					{
					String2=(CommonTree)match(input,String,FOLLOW_String_in_literal544); 
					 v = new StringSeriesValue((String2!=null?String2.getText():null)); 
					}
					break;
				case 2 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:86:5: Long
					{
					Long3=(CommonTree)match(input,Long,FOLLOW_Long_in_literal552); 
					 v = new LongSeriesValue((Long3!=null?Long3.getText():null)); 
					}
					break;
				case 3 :
					// /Users/amkimian/Development/cloud/Rapture/Libs/RaptureCore/src/main/antlr3/rapture/dsl/serfn/HoseWalker.g:87:5: Double
					{
					Double4=(CommonTree)match(input,Double,FOLLOW_Double_in_literal560); 
					 v = new DecimalSeriesValue((Double4!=null?Double4.getText():null)); 
					}
					break;

			}
		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
		}
		return v;
	}
	// $ANTLR end "literal"

	// Delegated rules



	public static final BitSet FOLLOW_BODY_in_program47 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_signature_in_program51 = new BitSet(new long[]{0x0000000002000008L});
	public static final BitSet FOLLOW_statement_in_program53 = new BitSet(new long[]{0x0000000002000008L});
	public static final BitSet FOLLOW_LINK_in_statement71 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_Identifier_in_statement75 = new BitSet(new long[]{0x00000000000001D0L});
	public static final BitSet FOLLOW_arg_in_statement79 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_CALL_in_call100 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_Identifier_in_call104 = new BitSet(new long[]{0x0000000000000020L});
	public static final BitSet FOLLOW_argList_in_call108 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_ARGLIST_in_argList134 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_arg_in_argList139 = new BitSet(new long[]{0x00000000000001D8L});
	public static final BitSet FOLLOW_SIGNATURE_in_signature161 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_Identifier_in_signature165 = new BitSet(new long[]{0x0000000400000000L});
	public static final BitSet FOLLOW_parmlist_in_signature169 = new BitSet(new long[]{0x0000000400000000L});
	public static final BitSet FOLLOW_parmlist_in_signature173 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_PARMLIST_in_parmlist201 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_parm_in_parmlist206 = new BitSet(new long[]{0x0000000200000008L});
	public static final BitSet FOLLOW_PARM_in_parm232 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_INT_T_in_parm234 = new BitSet(new long[]{0x0000000001000000L});
	public static final BitSet FOLLOW_Identifier_in_parm238 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_PARM_in_parm252 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_DECIMAL_T_in_parm254 = new BitSet(new long[]{0x0000000001000000L});
	public static final BitSet FOLLOW_Identifier_in_parm258 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_PARM_in_parm268 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_STRING_T_in_parm270 = new BitSet(new long[]{0x0000000001000000L});
	public static final BitSet FOLLOW_Identifier_in_parm274 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_PARM_in_parm285 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_STREAM_T_in_parm287 = new BitSet(new long[]{0x0000000001000000L});
	public static final BitSet FOLLOW_Identifier_in_parm291 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_literal_in_baseArg316 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_Identifier_in_baseArg326 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_call_in_baseArg336 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_DEREF_in_deref356 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_Identifier_in_deref360 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_DEREFLIST_in_derefList386 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_deref_in_derefList391 = new BitSet(new long[]{0x0000000000020008L});
	public static final BitSet FOLLOW_ARG_O_in_arg419 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_baseArg_in_arg423 = new BitSet(new long[]{0x0000000180000000L});
	public static final BitSet FOLLOW_outkey_in_arg427 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_ARG_OD_in_arg437 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_baseArg_in_arg441 = new BitSet(new long[]{0x0000000180040000L});
	public static final BitSet FOLLOW_outkey_in_arg445 = new BitSet(new long[]{0x0000000000040000L});
	public static final BitSet FOLLOW_derefList_in_arg450 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_ARG_D_in_arg460 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_baseArg_in_arg464 = new BitSet(new long[]{0x0000000000040000L});
	public static final BitSet FOLLOW_derefList_in_arg468 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_ARG_in_arg478 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_baseArg_in_arg482 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_OUTKEY_in_outkey505 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_Identifier_in_outkey509 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_OUTINDEX_in_outkey519 = new BitSet(new long[]{0x0000000000000004L});
	public static final BitSet FOLLOW_Long_in_outkey521 = new BitSet(new long[]{0x0000000000000008L});
	public static final BitSet FOLLOW_String_in_literal544 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_Long_in_literal552 = new BitSet(new long[]{0x0000000000000002L});
	public static final BitSet FOLLOW_Double_in_literal560 = new BitSet(new long[]{0x0000000000000002L});
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy