상속: Antlr.Runtime.ParserRuleReturnScope
예제 #1
0
    // $ANTLR start "arguments"
    // spinach.g:368:1: arguments returns [Element ret] : ( scalarargument | matrixreference | vectorreference ) ;
    public spinachParser.arguments_return arguments() // throws RecognitionException [1]
    {   
        spinachParser.arguments_return retval = new spinachParser.arguments_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        spinachParser.scalarargument_return scalarargument167 = null;

        spinachParser.matrixreference_return matrixreference168 = null;

        spinachParser.vectorreference_return vectorreference169 = null;



        try 
    	{
            // spinach.g:369:1: ( ( scalarargument | matrixreference | vectorreference ) )
            // spinach.g:369:3: ( scalarargument | matrixreference | vectorreference )
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// spinach.g:369:3: ( scalarargument | matrixreference | vectorreference )
            	int alt40 = 3;
            	switch ( input.LA(1) ) 
            	{
            	case VARTYPE:
            		{
            	    alt40 = 1;
            	    }
            	    break;
            	case 28:
            		{
            	    alt40 = 2;
            	    }
            	    break;
            	case 32:
            		{
            	    alt40 = 3;
            	    }
            	    break;
            		default:
            		    NoViableAltException nvae_d40s0 =
            		        new NoViableAltException("", 40, 0, input);

            		    throw nvae_d40s0;
            	}

            	switch (alt40) 
            	{
            	    case 1 :
            	        // spinach.g:369:4: scalarargument
            	        {
            	        	PushFollow(FOLLOW_scalarargument_in_arguments2122);
            	        	scalarargument167 = scalarargument();
            	        	state.followingStackPointer--;

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

            	        }
            	        break;
            	    case 2 :
            	        // spinach.g:370:3: matrixreference
            	        {
            	        	PushFollow(FOLLOW_matrixreference_in_arguments2128);
            	        	matrixreference168 = matrixreference();
            	        	state.followingStackPointer--;

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

            	        }
            	        break;
            	    case 3 :
            	        // spinach.g:371:3: vectorreference
            	        {
            	        	PushFollow(FOLLOW_vectorreference_in_arguments2134);
            	        	vectorreference169 = vectorreference();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, vectorreference169.Tree);
            	        	retval.ret = ((vectorreference169 != null) ? vectorreference169.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
    // $ANTLR start "arguments"
    // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:344:1: arguments returns [Element ret] : ( scalarargument | matrixreference | vectorreference ) ;
    public spinachParser.arguments_return arguments() // throws RecognitionException [1]
    {   
        spinachParser.arguments_return retval = new spinachParser.arguments_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        spinachParser.scalarargument_return scalarargument183 = null;

        spinachParser.matrixreference_return matrixreference184 = null;

        spinachParser.vectorreference_return vectorreference185 = null;



        try 
    	{
            // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:345:1: ( ( scalarargument | matrixreference | vectorreference ) )
            // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:345:3: ( scalarargument | matrixreference | vectorreference )
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:345:3: ( scalarargument | matrixreference | vectorreference )
            	int alt52 = 3;
            	switch ( input.LA(1) ) 
            	{
            	case VARTYPE:
            		{
            	    alt52 = 1;
            	    }
            	    break;
            	case 28:
            		{
            	    alt52 = 2;
            	    }
            	    break;
            	case 32:
            		{
            	    alt52 = 3;
            	    }
            	    break;
            		default:
            		    NoViableAltException nvae_d52s0 =
            		        new NoViableAltException("", 52, 0, input);

            		    throw nvae_d52s0;
            	}

            	switch (alt52) 
            	{
            	    case 1 :
            	        // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:345:4: scalarargument
            	        {
            	        	PushFollow(FOLLOW_scalarargument_in_arguments2100);
            	        	scalarargument183 = scalarargument();
            	        	state.followingStackPointer--;

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

            	        }
            	        break;
            	    case 2 :
            	        // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:346:3: matrixreference
            	        {
            	        	PushFollow(FOLLOW_matrixreference_in_arguments2106);
            	        	matrixreference184 = matrixreference();
            	        	state.followingStackPointer--;

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

            	        }
            	        break;
            	    case 3 :
            	        // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:347:3: vectorreference
            	        {
            	        	PushFollow(FOLLOW_vectorreference_in_arguments2112);
            	        	vectorreference185 = vectorreference();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, vectorreference185.Tree);
            	        	retval.ret = ((vectorreference185 != null) ? vectorreference185.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
    // $ANTLR start "arguments"
    // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:335:1: arguments returns [Element ret] : ( scalarargument | matrixreference | vectorreference ) ;
    public spinachParser.arguments_return arguments() // throws RecognitionException [1]
    {   
        spinachParser.arguments_return retval = new spinachParser.arguments_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        spinachParser.scalarargument_return scalarargument175 = null;

        spinachParser.matrixreference_return matrixreference176 = null;

        spinachParser.vectorreference_return vectorreference177 = null;



        try 
    	{
            // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:336:1: ( ( scalarargument | matrixreference | vectorreference ) )
            // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:336:3: ( scalarargument | matrixreference | vectorreference )
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:336:3: ( scalarargument | matrixreference | vectorreference )
            	int alt50 = 3;
            	switch ( input.LA(1) ) 
            	{
            	case VARTYPE:
            		{
            	    alt50 = 1;
            	    }
            	    break;
            	case 28:
            		{
            	    alt50 = 2;
            	    }
            	    break;
            	case 32:
            		{
            	    alt50 = 3;
            	    }
            	    break;
            		default:
            		    NoViableAltException nvae_d50s0 =
            		        new NoViableAltException("", 50, 0, input);

            		    throw nvae_d50s0;
            	}

            	switch (alt50) 
            	{
            	    case 1 :
            	        // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:336:4: scalarargument
            	        {
            	        	PushFollow(FOLLOW_scalarargument_in_arguments2039);
            	        	scalarargument175 = scalarargument();
            	        	state.followingStackPointer--;

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

            	        }
            	        break;
            	    case 2 :
            	        // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:337:3: matrixreference
            	        {
            	        	PushFollow(FOLLOW_matrixreference_in_arguments2045);
            	        	matrixreference176 = matrixreference();
            	        	state.followingStackPointer--;

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

            	        }
            	        break;
            	    case 3 :
            	        // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:338:3: vectorreference
            	        {
            	        	PushFollow(FOLLOW_vectorreference_in_arguments2051);
            	        	vectorreference177 = vectorreference();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, vectorreference177.Tree);
            	        	retval.ret = ((vectorreference177 != null) ? vectorreference177.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;
    }