Inheritance: Antlr.Runtime.ParserRuleReturnScope
Example #1
0
    // $ANTLR start "getExpr"
    // C:\\Development\\TT.Net\\TT\\Template.g:85:1: getExpr : ( ( 'GET' )? ID -> ^( GET ID ) | ( 'GET' )? LITERAL -> ^( GET LITERAL ) | ( 'GET' )? ILITERAL -> ^( GET ILITERAL ) );
    public TemplateParser.getExpr_return getExpr() // throws RecognitionException [1]
    {   
        TemplateParser.getExpr_return retval = new TemplateParser.getExpr_return();
        retval.Start = input.LT(1);

        CommonTree root_0 = null;

        IToken string_literal7 = null;
        IToken ID8 = null;
        IToken string_literal9 = null;
        IToken LITERAL10 = null;
        IToken string_literal11 = null;
        IToken ILITERAL12 = null;

        CommonTree string_literal7_tree=null;
        CommonTree ID8_tree=null;
        CommonTree string_literal9_tree=null;
        CommonTree LITERAL10_tree=null;
        CommonTree string_literal11_tree=null;
        CommonTree ILITERAL12_tree=null;
        RewriteRuleTokenStream stream_LITERAL = new RewriteRuleTokenStream(adaptor,"token LITERAL");
        RewriteRuleTokenStream stream_55 = new RewriteRuleTokenStream(adaptor,"token 55");
        RewriteRuleTokenStream stream_ID = new RewriteRuleTokenStream(adaptor,"token ID");
        RewriteRuleTokenStream stream_ILITERAL = new RewriteRuleTokenStream(adaptor,"token ILITERAL");

        try {
        	dbg.EnterRule(GrammarFileName, "getExpr");
        	if ( RuleLevel==0 ) {dbg.Commence();}
        	IncRuleLevel();
        	dbg.Location(85, 1);

        try 
    	{
            // C:\\Development\\TT.Net\\TT\\Template.g:86:2: ( ( 'GET' )? ID -> ^( GET ID ) | ( 'GET' )? LITERAL -> ^( GET LITERAL ) | ( 'GET' )? ILITERAL -> ^( GET ILITERAL ) )
            int alt6 = 3;
            try { dbg.EnterDecision(6);

            switch ( input.LA(1) ) 
            {
            case 55:
            	{
                switch ( input.LA(2) ) 
                {
                case ILITERAL:
                	{
                    alt6 = 3;
                    }
                    break;
                case ID:
                	{
                    alt6 = 1;
                    }
                    break;
                case LITERAL:
                	{
                    alt6 = 2;
                    }
                    break;
                	default:
                	    NoViableAltException nvae_d6s1 =
                	        new NoViableAltException("", 6, 1, input);

                	    dbg.RecognitionException(nvae_d6s1);
                	    throw nvae_d6s1;
                }

                }
                break;
            case ID:
            	{
                alt6 = 1;
                }
                break;
            case LITERAL:
            	{
                alt6 = 2;
                }
                break;
            case ILITERAL:
            	{
                alt6 = 3;
                }
                break;
            	default:
            	    NoViableAltException nvae_d6s0 =
            	        new NoViableAltException("", 6, 0, input);

            	    dbg.RecognitionException(nvae_d6s0);
            	    throw nvae_d6s0;
            }

            } finally { dbg.ExitDecision(6); }

            switch (alt6) 
            {
                case 1 :
                    dbg.EnterAlt(1);

                    // C:\\Development\\TT.Net\\TT\\Template.g:86:4: ( 'GET' )? ID
                    {
                    	dbg.Location(86,4);
                    	// C:\\Development\\TT.Net\\TT\\Template.g:86:4: ( 'GET' )?
                    	int alt3 = 2;
                    	try { dbg.EnterSubRule(3);
                    	try { dbg.EnterDecision(3);

                    	int LA3_0 = input.LA(1);

                    	if ( (LA3_0 == 55) )
                    	{
                    	    alt3 = 1;
                    	}
                    	} finally { dbg.ExitDecision(3); }

                    	switch (alt3) 
                    	{
                    	    case 1 :
                    	        dbg.EnterAlt(1);

                    	        // C:\\Development\\TT.Net\\TT\\Template.g:86:4: 'GET'
                    	        {
                    	        	dbg.Location(86,4);
                    	        	string_literal7=(IToken)Match(input,55,FOLLOW_55_in_getExpr522);  
                    	        	stream_55.Add(string_literal7);


                    	        }
                    	        break;

                    	}
                    	} finally { dbg.ExitSubRule(3); }

                    	dbg.Location(86,11);
                    	ID8=(IToken)Match(input,ID,FOLLOW_ID_in_getExpr525);  
                    	stream_ID.Add(ID8);



                    	// AST REWRITE
                    	// elements:          ID
                    	// token labels:      
                    	// rule labels:       retval
                    	// token list labels: 
                    	// rule list labels:  
                    	// wildcard labels: 
                    	retval.Tree = root_0;
                    	RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null);

                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    	// 86:20: -> ^( GET ID )
                    	{
                    	    dbg.Location(86,23);
                    	    // C:\\Development\\TT.Net\\TT\\Template.g:86:23: ^( GET ID )
                    	    {
                    	    CommonTree root_1 = (CommonTree)adaptor.GetNilNode();
                    	    dbg.Location(86,25);
                    	    root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(GET, "GET"), root_1);

                    	    dbg.Location(86,29);
                    	    adaptor.AddChild(root_1, stream_ID.NextNode());

                    	    adaptor.AddChild(root_0, root_1);
                    	    }

                    	}

                    	retval.Tree = root_0;retval.Tree = root_0;
                    }
                    break;
                case 2 :
                    dbg.EnterAlt(2);

                    // C:\\Development\\TT.Net\\TT\\Template.g:87:4: ( 'GET' )? LITERAL
                    {
                    	dbg.Location(87,4);
                    	// C:\\Development\\TT.Net\\TT\\Template.g:87:4: ( 'GET' )?
                    	int alt4 = 2;
                    	try { dbg.EnterSubRule(4);
                    	try { dbg.EnterDecision(4);

                    	int LA4_0 = input.LA(1);

                    	if ( (LA4_0 == 55) )
                    	{
                    	    alt4 = 1;
                    	}
                    	} finally { dbg.ExitDecision(4); }

                    	switch (alt4) 
                    	{
                    	    case 1 :
                    	        dbg.EnterAlt(1);

                    	        // C:\\Development\\TT.Net\\TT\\Template.g:87:4: 'GET'
                    	        {
                    	        	dbg.Location(87,4);
                    	        	string_literal9=(IToken)Match(input,55,FOLLOW_55_in_getExpr544);  
                    	        	stream_55.Add(string_literal9);


                    	        }
                    	        break;

                    	}
                    	} finally { dbg.ExitSubRule(4); }

                    	dbg.Location(87,11);
                    	LITERAL10=(IToken)Match(input,LITERAL,FOLLOW_LITERAL_in_getExpr547);  
                    	stream_LITERAL.Add(LITERAL10);



                    	// AST REWRITE
                    	// elements:          LITERAL
                    	// token labels:      
                    	// rule labels:       retval
                    	// token list labels: 
                    	// rule list labels:  
                    	// wildcard labels: 
                    	retval.Tree = root_0;
                    	RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null);

                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    	// 87:20: -> ^( GET LITERAL )
                    	{
                    	    dbg.Location(87,23);
                    	    // C:\\Development\\TT.Net\\TT\\Template.g:87:23: ^( GET LITERAL )
                    	    {
                    	    CommonTree root_1 = (CommonTree)adaptor.GetNilNode();
                    	    dbg.Location(87,25);
                    	    root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(GET, "GET"), root_1);

                    	    dbg.Location(87,29);
                    	    adaptor.AddChild(root_1, stream_LITERAL.NextNode());

                    	    adaptor.AddChild(root_0, root_1);
                    	    }

                    	}

                    	retval.Tree = root_0;retval.Tree = root_0;
                    }
                    break;
                case 3 :
                    dbg.EnterAlt(3);

                    // C:\\Development\\TT.Net\\TT\\Template.g:88:4: ( 'GET' )? ILITERAL
                    {
                    	dbg.Location(88,4);
                    	// C:\\Development\\TT.Net\\TT\\Template.g:88:4: ( 'GET' )?
                    	int alt5 = 2;
                    	try { dbg.EnterSubRule(5);
                    	try { dbg.EnterDecision(5);

                    	int LA5_0 = input.LA(1);

                    	if ( (LA5_0 == 55) )
                    	{
                    	    alt5 = 1;
                    	}
                    	} finally { dbg.ExitDecision(5); }

                    	switch (alt5) 
                    	{
                    	    case 1 :
                    	        dbg.EnterAlt(1);

                    	        // C:\\Development\\TT.Net\\TT\\Template.g:88:4: 'GET'
                    	        {
                    	        	dbg.Location(88,4);
                    	        	string_literal11=(IToken)Match(input,55,FOLLOW_55_in_getExpr561);  
                    	        	stream_55.Add(string_literal11);


                    	        }
                    	        break;

                    	}
                    	} finally { dbg.ExitSubRule(5); }

                    	dbg.Location(88,11);
                    	ILITERAL12=(IToken)Match(input,ILITERAL,FOLLOW_ILITERAL_in_getExpr564);  
                    	stream_ILITERAL.Add(ILITERAL12);



                    	// AST REWRITE
                    	// elements:          ILITERAL
                    	// token labels:      
                    	// rule labels:       retval
                    	// token list labels: 
                    	// rule list labels:  
                    	// wildcard labels: 
                    	retval.Tree = root_0;
                    	RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null);

                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    	// 88:20: -> ^( GET ILITERAL )
                    	{
                    	    dbg.Location(88,23);
                    	    // C:\\Development\\TT.Net\\TT\\Template.g:88:23: ^( GET ILITERAL )
                    	    {
                    	    CommonTree root_1 = (CommonTree)adaptor.GetNilNode();
                    	    dbg.Location(88,25);
                    	    root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(GET, "GET"), root_1);

                    	    dbg.Location(88,29);
                    	    adaptor.AddChild(root_1, stream_ILITERAL.NextNode());

                    	    adaptor.AddChild(root_0, root_1);
                    	    }

                    	}

                    	retval.Tree = root_0;retval.Tree = root_0;
                    }
                    break;

            }
            retval.Stop = input.LT(-1);

            	retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0);
            	adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);
        }
        catch (RecognitionException re) 
    	{
            ReportError(re);
            Recover(input,re);
    	// Conversion of the second argument necessary, but harmless
    	retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re);

        }
        finally 
    	{
        }
        dbg.Location(89, 2);

        }
        finally {
            dbg.ExitRule(GrammarFileName, "getExpr");
            DecRuleLevel();
            if ( RuleLevel==0 ) {dbg.Terminate();}
        }

        return retval;
    }
Example #2
0
    // $ANTLR start "getExpr"
    // TT\\Template.g:98:1: getExpr : ( ( 'GET' )? ID -> ^( GET ID ) | ( 'GET' )? LITERAL -> ^( GET LITERAL ) | ( 'GET' )? ILITERAL -> ^( GET ILITERAL ) );
    public TemplateParser.getExpr_return getExpr() // throws RecognitionException [1]
    {   
        TemplateParser.getExpr_return retval = new TemplateParser.getExpr_return();
        retval.Start = input.LT(1);

        CommonTree root_0 = null;

        IToken string_literal28 = null;
        IToken ID29 = null;
        IToken string_literal30 = null;
        IToken LITERAL31 = null;
        IToken string_literal32 = null;
        IToken ILITERAL33 = null;

        CommonTree string_literal28_tree=null;
        CommonTree ID29_tree=null;
        CommonTree string_literal30_tree=null;
        CommonTree LITERAL31_tree=null;
        CommonTree string_literal32_tree=null;
        CommonTree ILITERAL33_tree=null;
        RewriteRuleTokenStream stream_LITERAL = new RewriteRuleTokenStream(adaptor,"token LITERAL");
        RewriteRuleTokenStream stream_57 = new RewriteRuleTokenStream(adaptor,"token 57");
        RewriteRuleTokenStream stream_ID = new RewriteRuleTokenStream(adaptor,"token ID");
        RewriteRuleTokenStream stream_ILITERAL = new RewriteRuleTokenStream(adaptor,"token ILITERAL");

        try 
    	{
            // TT\\Template.g:99:2: ( ( 'GET' )? ID -> ^( GET ID ) | ( 'GET' )? LITERAL -> ^( GET LITERAL ) | ( 'GET' )? ILITERAL -> ^( GET ILITERAL ) )
            int alt14 = 3;
            switch ( input.LA(1) ) 
            {
            case 57:
            	{
                switch ( input.LA(2) ) 
                {
                case ID:
                	{
                    alt14 = 1;
                    }
                    break;
                case ILITERAL:
                	{
                    alt14 = 3;
                    }
                    break;
                case LITERAL:
                	{
                    alt14 = 2;
                    }
                    break;
                	default:
                	    NoViableAltException nvae_d14s1 =
                	        new NoViableAltException("", 14, 1, input);

                	    throw nvae_d14s1;
                }

                }
                break;
            case ID:
            	{
                alt14 = 1;
                }
                break;
            case LITERAL:
            	{
                alt14 = 2;
                }
                break;
            case ILITERAL:
            	{
                alt14 = 3;
                }
                break;
            	default:
            	    NoViableAltException nvae_d14s0 =
            	        new NoViableAltException("", 14, 0, input);

            	    throw nvae_d14s0;
            }

            switch (alt14) 
            {
                case 1 :
                    // TT\\Template.g:99:4: ( 'GET' )? ID
                    {
                    	// TT\\Template.g:99:4: ( 'GET' )?
                    	int alt11 = 2;
                    	int LA11_0 = input.LA(1);

                    	if ( (LA11_0 == 57) )
                    	{
                    	    alt11 = 1;
                    	}
                    	switch (alt11) 
                    	{
                    	    case 1 :
                    	        // TT\\Template.g:99:4: 'GET'
                    	        {
                    	        	string_literal28=(IToken)Match(input,57,FOLLOW_57_in_getExpr639);  
                    	        	stream_57.Add(string_literal28);


                    	        }
                    	        break;

                    	}

                    	ID29=(IToken)Match(input,ID,FOLLOW_ID_in_getExpr642);  
                    	stream_ID.Add(ID29);



                    	// AST REWRITE
                    	// elements:          ID
                    	// token labels:      
                    	// rule labels:       retval
                    	// token list labels: 
                    	// rule list labels:  
                    	// wildcard labels: 
                    	retval.Tree = root_0;
                    	RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null);

                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    	// 99:20: -> ^( GET ID )
                    	{
                    	    // TT\\Template.g:99:23: ^( GET ID )
                    	    {
                    	    CommonTree root_1 = (CommonTree)adaptor.GetNilNode();
                    	    root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(GET, "GET"), root_1);

                    	    adaptor.AddChild(root_1, stream_ID.NextNode());

                    	    adaptor.AddChild(root_0, root_1);
                    	    }

                    	}

                    	retval.Tree = root_0;retval.Tree = root_0;
                    }
                    break;
                case 2 :
                    // TT\\Template.g:100:4: ( 'GET' )? LITERAL
                    {
                    	// TT\\Template.g:100:4: ( 'GET' )?
                    	int alt12 = 2;
                    	int LA12_0 = input.LA(1);

                    	if ( (LA12_0 == 57) )
                    	{
                    	    alt12 = 1;
                    	}
                    	switch (alt12) 
                    	{
                    	    case 1 :
                    	        // TT\\Template.g:100:4: 'GET'
                    	        {
                    	        	string_literal30=(IToken)Match(input,57,FOLLOW_57_in_getExpr661);  
                    	        	stream_57.Add(string_literal30);


                    	        }
                    	        break;

                    	}

                    	LITERAL31=(IToken)Match(input,LITERAL,FOLLOW_LITERAL_in_getExpr664);  
                    	stream_LITERAL.Add(LITERAL31);



                    	// AST REWRITE
                    	// elements:          LITERAL
                    	// token labels:      
                    	// rule labels:       retval
                    	// token list labels: 
                    	// rule list labels:  
                    	// wildcard labels: 
                    	retval.Tree = root_0;
                    	RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null);

                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    	// 100:20: -> ^( GET LITERAL )
                    	{
                    	    // TT\\Template.g:100:23: ^( GET LITERAL )
                    	    {
                    	    CommonTree root_1 = (CommonTree)adaptor.GetNilNode();
                    	    root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(GET, "GET"), root_1);

                    	    adaptor.AddChild(root_1, stream_LITERAL.NextNode());

                    	    adaptor.AddChild(root_0, root_1);
                    	    }

                    	}

                    	retval.Tree = root_0;retval.Tree = root_0;
                    }
                    break;
                case 3 :
                    // TT\\Template.g:101:4: ( 'GET' )? ILITERAL
                    {
                    	// TT\\Template.g:101:4: ( 'GET' )?
                    	int alt13 = 2;
                    	int LA13_0 = input.LA(1);

                    	if ( (LA13_0 == 57) )
                    	{
                    	    alt13 = 1;
                    	}
                    	switch (alt13) 
                    	{
                    	    case 1 :
                    	        // TT\\Template.g:101:4: 'GET'
                    	        {
                    	        	string_literal32=(IToken)Match(input,57,FOLLOW_57_in_getExpr678);  
                    	        	stream_57.Add(string_literal32);


                    	        }
                    	        break;

                    	}

                    	ILITERAL33=(IToken)Match(input,ILITERAL,FOLLOW_ILITERAL_in_getExpr681);  
                    	stream_ILITERAL.Add(ILITERAL33);



                    	// AST REWRITE
                    	// elements:          ILITERAL
                    	// token labels:      
                    	// rule labels:       retval
                    	// token list labels: 
                    	// rule list labels:  
                    	// wildcard labels: 
                    	retval.Tree = root_0;
                    	RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval!=null ? retval.Tree : null);

                    	root_0 = (CommonTree)adaptor.GetNilNode();
                    	// 101:20: -> ^( GET ILITERAL )
                    	{
                    	    // TT\\Template.g:101:23: ^( GET ILITERAL )
                    	    {
                    	    CommonTree root_1 = (CommonTree)adaptor.GetNilNode();
                    	    root_1 = (CommonTree)adaptor.BecomeRoot((CommonTree)adaptor.Create(GET, "GET"), root_1);

                    	    adaptor.AddChild(root_1, stream_ILITERAL.NextNode());

                    	    adaptor.AddChild(root_0, root_1);
                    	    }

                    	}

                    	retval.Tree = root_0;retval.Tree = root_0;
                    }
                    break;

            }
            retval.Stop = input.LT(-1);

            	retval.Tree = (CommonTree)adaptor.RulePostProcessing(root_0);
            	adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);
        }
        catch (RecognitionException re) 
    	{
            ReportError(re);
            Recover(input,re);
    	// Conversion of the second argument necessary, but harmless
    	retval.Tree = (CommonTree)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re);

        }
        finally 
    	{
        }
        return retval;
    }