Inheritance: Antlr.Runtime.ParserRuleReturnScope
コード例 #1
0
ファイル: spinachParser.cs プロジェクト: shranjan/pinac
    // $ANTLR start "expr"
    // spinach.g:27:1: expr returns [Element ret] : ( expr1 | parallelfor );
    public spinachParser.expr_return expr() // throws RecognitionException [1]
    {   
        spinachParser.expr_return retval = new spinachParser.expr_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        spinachParser.expr1_return expr12 = null;

        spinachParser.parallelfor_return parallelfor3 = null;



        try 
    	{
            // spinach.g:28:3: ( expr1 | parallelfor )
            int alt2 = 2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0 == VARIABLE || LA2_0 == VARTYPE || LA2_0 == STRINGTYPE || LA2_0 == 28 || LA2_0 == 32 || (LA2_0 >= 34 && LA2_0 <= 36) || LA2_0 == 40 || (LA2_0 >= 42 && LA2_0 <= 43) || LA2_0 == 46 || LA2_0 == 48 || (LA2_0 >= 52 && LA2_0 <= 56)) )
            {
                alt2 = 1;
            }
            else if ( (LA2_0 == 37) )
            {
                alt2 = 2;
            }
            else 
            {
                NoViableAltException nvae_d2s0 =
                    new NoViableAltException("", 2, 0, input);

                throw nvae_d2s0;
            }
            switch (alt2) 
            {
                case 1 :
                    // spinach.g:28:4: expr1
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_expr1_in_expr91);
                    	expr12 = expr1();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, expr12.Tree);
                    	retval.ret = ((expr12 != null) ? expr12.ret : null);

                    }
                    break;
                case 2 :
                    // spinach.g:28:37: parallelfor
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_parallelfor_in_expr95);
                    	parallelfor3 = parallelfor();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, parallelfor3.Tree);
                    	retval.ret = ((parallelfor3 != null) ? parallelfor3.ret : null);

                    }
                    break;

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

            	retval.Tree = (object)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 = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re);

        }
        finally 
    	{
        }
        return retval;
    }
コード例 #2
0
ファイル: spinachParser.cs プロジェクト: shranjan/SPINACH
    // $ANTLR start "expr"
    // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:32:1: expr returns [Element ret] : ( expr1 | parallelfor | structdec | functiondefination );
    public spinachParser.expr_return expr() // throws RecognitionException [1]
    {   
        spinachParser.expr_return retval = new spinachParser.expr_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        spinachParser.expr1_return expr12 = null;

        spinachParser.parallelfor_return parallelfor3 = null;

        spinachParser.structdec_return structdec4 = null;

        spinachParser.functiondefination_return functiondefination5 = null;



        try 
    	{
            // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:33:3: ( expr1 | parallelfor | structdec | functiondefination )
            int alt2 = 4;
            switch ( input.LA(1) ) 
            {
            case VARIABLE:
            case STRINGTYPE:
            case 28:
            case 32:
            case 35:
            case 36:
            case 40:
            case 42:
            case 46:
            case 48:
            case 52:
            case 53:
            case 54:
            case 55:
            case 56:
            	{
                alt2 = 1;
                }
                break;
            case VARTYPE:
            	{
                int LA2_2 = input.LA(2);

                if ( (LA2_2 == VARIABLE) )
                {
                    int LA2_6 = input.LA(3);

                    if ( (LA2_6 == END_OF_STATEMENT) )
                    {
                        alt2 = 1;
                    }
                    else if ( (LA2_6 == LEFTBRACE) )
                    {
                        alt2 = 4;
                    }
                    else 
                    {
                        NoViableAltException nvae_d2s6 =
                            new NoViableAltException("", 2, 6, input);

                        throw nvae_d2s6;
                    }
                }
                else 
                {
                    NoViableAltException nvae_d2s2 =
                        new NoViableAltException("", 2, 2, input);

                    throw nvae_d2s2;
                }
                }
                break;
            case 37:
            	{
                alt2 = 2;
                }
                break;
            case 34:
            	{
                alt2 = 3;
                }
                break;
            case 43:
            	{
                alt2 = 4;
                }
                break;
            	default:
            	    NoViableAltException nvae_d2s0 =
            	        new NoViableAltException("", 2, 0, input);

            	    throw nvae_d2s0;
            }

            switch (alt2) 
            {
                case 1 :
                    // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:33:4: expr1
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_expr1_in_expr96);
                    	expr12 = expr1();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, expr12.Tree);
                    	retval.ret = ((expr12 != null) ? expr12.ret : null);

                    }
                    break;
                case 2 :
                    // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:33:37: parallelfor
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_parallelfor_in_expr100);
                    	parallelfor3 = parallelfor();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, parallelfor3.Tree);
                    	retval.ret = ((parallelfor3 != null) ? parallelfor3.ret : null);

                    }
                    break;
                case 3 :
                    // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:33:82: structdec
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_structdec_in_expr104);
                    	structdec4 = structdec();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, structdec4.Tree);
                    	retval.ret = ((structdec4 != null) ? structdec4.ret : null);

                    }
                    break;
                case 4 :
                    // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:34:8: functiondefination
                    {
                    	root_0 = (object)adaptor.GetNilNode();

                    	PushFollow(FOLLOW_functiondefination_in_expr115);
                    	functiondefination5 = functiondefination();
                    	state.followingStackPointer--;

                    	adaptor.AddChild(root_0, functiondefination5.Tree);
                    	retval.ret = ((functiondefination5 != null) ? functiondefination5.ret : null);

                    }
                    break;

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

            	retval.Tree = (object)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 = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re);

        }
        finally 
    	{
        }
        return retval;
    }
コード例 #3
0
ファイル: spinachParser.cs プロジェクト: smanicka/pinac
    // throws RecognitionException [1]
    // $ANTLR start "expr"
    // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:26:1: expr returns [Element ret] : ( expr1 | parallelfor );
    public spinachParser.expr_return expr()
    {
        spinachParser.expr_return retval = new spinachParser.expr_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        spinachParser.expr1_return expr12 = null;

        spinachParser.parallelfor_return parallelfor3 = null;

        try
        {
            // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:27:3: ( expr1 | parallelfor )
            int alt2 = 2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0 == VARIABLE || LA2_0 == VARTYPE || LA2_0 == STRINGTYPE || LA2_0 == 23 || (LA2_0 >= 29 && LA2_0 <= 32) || LA2_0 == 36 || (LA2_0 >= 38 && LA2_0 <= 46)) )
            {
                alt2 = 1;
            }
            else if ( (LA2_0 == 33) )
            {
                alt2 = 2;
            }
            else
            {
                NoViableAltException nvae_d2s0 =
                    new NoViableAltException("", 2, 0, input);

                throw nvae_d2s0;
            }
            switch (alt2)
            {
                case 1 :
                    // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:27:4: expr1
                    {
                        root_0 = (object)adaptor.GetNilNode();

                        PushFollow(FOLLOW_expr1_in_expr85);
                        expr12 = expr1();
                        state.followingStackPointer--;

                        adaptor.AddChild(root_0, expr12.Tree);
                        retval.ret = ((expr12 != null) ? expr12.ret : null);

                    }
                    break;
                case 2 :
                    // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:27:37: parallelfor
                    {
                        root_0 = (object)adaptor.GetNilNode();

                        PushFollow(FOLLOW_parallelfor_in_expr89);
                        parallelfor3 = parallelfor();
                        state.followingStackPointer--;

                        adaptor.AddChild(root_0, parallelfor3.Tree);
                        retval.ret = ((parallelfor3 != null) ? parallelfor3.ret : null);

                    }
                    break;

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

                retval.Tree = (object)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 = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re);

        }
        finally
        {
        }
        return retval;
    }