Inheritance: Antlr.Runtime.ParserRuleReturnScope
Example #1
0
    // $ANTLR start "functioncall"
    // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:278:4: functioncall returns [FunctionCallElement ret] : variable '(' ( (el1= var_int_or_double_literal | e13= string_literal ) ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )* )? ')' END_OF_STATEMENT ;
    public spinachParser.functioncall_return functioncall() // throws RecognitionException [1]
    {   
        spinachParser.functioncall_return retval = new spinachParser.functioncall_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken char_literal132 = null;
        IToken char_literal133 = null;
        IToken char_literal134 = null;
        IToken END_OF_STATEMENT135 = null;
        spinachParser.var_int_or_double_literal_return el1 = null;

        spinachParser.string_literal_return e13 = null;

        spinachParser.var_int_or_double_literal_return el2 = null;

        spinachParser.variable_return variable131 = null;


        object char_literal132_tree=null;
        object char_literal133_tree=null;
        object char_literal134_tree=null;
        object END_OF_STATEMENT135_tree=null;

         retval.ret = new FunctionCallElement();
         
        try 
    	{
            // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:281:3: ( variable '(' ( (el1= var_int_or_double_literal | e13= string_literal ) ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )* )? ')' END_OF_STATEMENT )
            // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:281:4: variable '(' ( (el1= var_int_or_double_literal | e13= string_literal ) ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )* )? ')' END_OF_STATEMENT
            {
            	root_0 = (object)adaptor.GetNilNode();

            	PushFollow(FOLLOW_variable_in_functioncall1679);
            	variable131 = variable();
            	state.followingStackPointer--;

            	adaptor.AddChild(root_0, variable131.Tree);
            	retval.ret.setfunctioncallname(((variable131 != null) ? variable131.ret : null));
            	char_literal132=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_functioncall1684); 
            		char_literal132_tree = (object)adaptor.Create(char_literal132);
            		adaptor.AddChild(root_0, char_literal132_tree);

            	// C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:282:6: ( (el1= var_int_or_double_literal | e13= string_literal ) ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )* )?
            	int alt42 = 2;
            	int LA42_0 = input.LA(1);

            	if ( ((LA42_0 >= VARIABLE && LA42_0 <= DOUBLE_LITERAL) || LA42_0 == 27) )
            	{
            	    alt42 = 1;
            	}
            	switch (alt42) 
            	{
            	    case 1 :
            	        // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:282:7: (el1= var_int_or_double_literal | e13= string_literal ) ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )*
            	        {
            	        	// C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:282:7: (el1= var_int_or_double_literal | e13= string_literal )
            	        	int alt39 = 2;
            	        	int LA39_0 = input.LA(1);

            	        	if ( ((LA39_0 >= VARIABLE && LA39_0 <= DOUBLE_LITERAL)) )
            	        	{
            	        	    alt39 = 1;
            	        	}
            	        	else if ( (LA39_0 == 27) )
            	        	{
            	        	    alt39 = 2;
            	        	}
            	        	else 
            	        	{
            	        	    NoViableAltException nvae_d39s0 =
            	        	        new NoViableAltException("", 39, 0, input);

            	        	    throw nvae_d39s0;
            	        	}
            	        	switch (alt39) 
            	        	{
            	        	    case 1 :
            	        	        // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:282:8: el1= var_int_or_double_literal
            	        	        {
            	        	        	PushFollow(FOLLOW_var_int_or_double_literal_in_functioncall1689);
            	        	        	el1 = var_int_or_double_literal();
            	        	        	state.followingStackPointer--;

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

            	        	        }
            	        	        break;
            	        	    case 2 :
            	        	        // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:282:75: e13= string_literal
            	        	        {
            	        	        	PushFollow(FOLLOW_string_literal_in_functioncall1695);
            	        	        	e13 = string_literal();
            	        	        	state.followingStackPointer--;

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

            	        	        }
            	        	        break;

            	        	}

            	        	// C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:282:133: ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )*
            	        	do 
            	        	{
            	        	    int alt41 = 2;
            	        	    int LA41_0 = input.LA(1);

            	        	    if ( (LA41_0 == 31) )
            	        	    {
            	        	        alt41 = 1;
            	        	    }


            	        	    switch (alt41) 
            	        		{
            	        			case 1 :
            	        			    // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:282:134: ',' (el2= var_int_or_double_literal | e13= string_literal )
            	        			    {
            	        			    	char_literal133=(IToken)Match(input,31,FOLLOW_31_in_functioncall1700); 
            	        			    		char_literal133_tree = (object)adaptor.Create(char_literal133);
            	        			    		adaptor.AddChild(root_0, char_literal133_tree);

            	        			    	// C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:282:138: (el2= var_int_or_double_literal | e13= string_literal )
            	        			    	int alt40 = 2;
            	        			    	int LA40_0 = input.LA(1);

            	        			    	if ( ((LA40_0 >= VARIABLE && LA40_0 <= DOUBLE_LITERAL)) )
            	        			    	{
            	        			    	    alt40 = 1;
            	        			    	}
            	        			    	else if ( (LA40_0 == 27) )
            	        			    	{
            	        			    	    alt40 = 2;
            	        			    	}
            	        			    	else 
            	        			    	{
            	        			    	    NoViableAltException nvae_d40s0 =
            	        			    	        new NoViableAltException("", 40, 0, input);

            	        			    	    throw nvae_d40s0;
            	        			    	}
            	        			    	switch (alt40) 
            	        			    	{
            	        			    	    case 1 :
            	        			    	        // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:282:139: el2= var_int_or_double_literal
            	        			    	        {
            	        			    	        	PushFollow(FOLLOW_var_int_or_double_literal_in_functioncall1705);
            	        			    	        	el2 = var_int_or_double_literal();
            	        			    	        	state.followingStackPointer--;

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

            	        			    	        }
            	        			    	        break;
            	        			    	    case 2 :
            	        			    	        // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:282:206: e13= string_literal
            	        			    	        {
            	        			    	        	PushFollow(FOLLOW_string_literal_in_functioncall1711);
            	        			    	        	e13 = string_literal();
            	        			    	        	state.followingStackPointer--;

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

            	        			    	        }
            	        			    	        break;

            	        			    	}


            	        			    }
            	        			    break;

            	        			default:
            	        			    goto loop41;
            	        	    }
            	        	} while (true);

            	        	loop41:
            	        		;	// Stops C# compiler whining that label 'loop41' has no statements


            	        }
            	        break;

            	}

            	char_literal134=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_functioncall1719); 
            		char_literal134_tree = (object)adaptor.Create(char_literal134);
            		adaptor.AddChild(root_0, char_literal134_tree);

            	END_OF_STATEMENT135=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_functioncall1723); 
            		END_OF_STATEMENT135_tree = (object)adaptor.Create(END_OF_STATEMENT135);
            		adaptor.AddChild(root_0, END_OF_STATEMENT135_tree);


            }

            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;
    }
Example #2
0
    // throws RecognitionException [1]
    // $ANTLR start "functioncall"
    // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:188:4: functioncall returns [FunctionCallElement ret] : variable '(' (el1= var_int_or_double_literal ( ',' el2= var_int_or_double_literal )* )? ')' END_OF_STATEMENT ;
    public spinachParser.functioncall_return functioncall()
    {
        spinachParser.functioncall_return retval = new spinachParser.functioncall_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken char_literal97 = null;
        IToken char_literal98 = null;
        IToken char_literal99 = null;
        IToken END_OF_STATEMENT100 = null;
        spinachParser.var_int_or_double_literal_return el1 = null;

        spinachParser.var_int_or_double_literal_return el2 = null;

        spinachParser.variable_return variable96 = null;

        object char_literal97_tree=null;
        object char_literal98_tree=null;
        object char_literal99_tree=null;
        object END_OF_STATEMENT100_tree=null;

         retval.ret = new FunctionCallElement();

        try
        {
            // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:191:3: ( variable '(' (el1= var_int_or_double_literal ( ',' el2= var_int_or_double_literal )* )? ')' END_OF_STATEMENT )
            // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:191:4: variable '(' (el1= var_int_or_double_literal ( ',' el2= var_int_or_double_literal )* )? ')' END_OF_STATEMENT
            {
                root_0 = (object)adaptor.GetNilNode();

                PushFollow(FOLLOW_variable_in_functioncall1057);
                variable96 = variable();
                state.followingStackPointer--;

                adaptor.AddChild(root_0, variable96.Tree);
                retval.ret.setfunctioncallname(((variable96 != null) ? variable96.ret : null));
                char_literal97=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_functioncall1062);
                    char_literal97_tree = (object)adaptor.Create(char_literal97);
                    adaptor.AddChild(root_0, char_literal97_tree);

                // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:192:6: (el1= var_int_or_double_literal ( ',' el2= var_int_or_double_literal )* )?
                int alt22 = 2;
                int LA22_0 = input.LA(1);

                if ( ((LA22_0 >= VARIABLE && LA22_0 <= DOUBLE_LITERAL)) )
                {
                    alt22 = 1;
                }
                switch (alt22)
                {
                    case 1 :
                        // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:192:7: el1= var_int_or_double_literal ( ',' el2= var_int_or_double_literal )*
                        {
                            PushFollow(FOLLOW_var_int_or_double_literal_in_functioncall1066);
                            el1 = var_int_or_double_literal();
                            state.followingStackPointer--;

                            adaptor.AddChild(root_0, el1.Tree);
                            retval.ret.setparameters(((el1 != null) ? el1.ret : null));
                            // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:192:74: ( ',' el2= var_int_or_double_literal )*
                            do
                            {
                                int alt21 = 2;
                                int LA21_0 = input.LA(1);

                                if ( (LA21_0 == 28) )
                                {
                                    alt21 = 1;
                                }

                                switch (alt21)
                                {
                                    case 1 :
                                        // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:192:75: ',' el2= var_int_or_double_literal
                                        {
                                            char_literal98=(IToken)Match(input,28,FOLLOW_28_in_functioncall1070);
                                                char_literal98_tree = (object)adaptor.Create(char_literal98);
                                                adaptor.AddChild(root_0, char_literal98_tree);

                                            PushFollow(FOLLOW_var_int_or_double_literal_in_functioncall1074);
                                            el2 = var_int_or_double_literal();
                                            state.followingStackPointer--;

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

                                        }
                                        break;

                                    default:
                                        goto loop21;
                                }
                            } while (true);

                            loop21:
                                ;	// Stops C# compiler whining that label 'loop21' has no statements

                        }
                        break;

                }

                char_literal99=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_functioncall1081);
                    char_literal99_tree = (object)adaptor.Create(char_literal99);
                    adaptor.AddChild(root_0, char_literal99_tree);

                END_OF_STATEMENT100=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_functioncall1085);
                    END_OF_STATEMENT100_tree = (object)adaptor.Create(END_OF_STATEMENT100);
                    adaptor.AddChild(root_0, END_OF_STATEMENT100_tree);

            }

            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;
    }
Example #3
0
    // $ANTLR start "functioncall"
    // spinach.g:252:4: functioncall returns [FunctionCallElement ret] : variable '(' (el1= var_int_or_double_literal ( ',' el2= var_int_or_double_literal )* )? ')' END_OF_STATEMENT ;
    public spinachParser.functioncall_return functioncall() // throws RecognitionException [1]
    {   
        spinachParser.functioncall_return retval = new spinachParser.functioncall_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken char_literal108 = null;
        IToken char_literal109 = null;
        IToken char_literal110 = null;
        IToken END_OF_STATEMENT111 = null;
        spinachParser.var_int_or_double_literal_return el1 = null;

        spinachParser.var_int_or_double_literal_return el2 = null;

        spinachParser.variable_return variable107 = null;


        object char_literal108_tree=null;
        object char_literal109_tree=null;
        object char_literal110_tree=null;
        object END_OF_STATEMENT111_tree=null;

         retval.ret = new FunctionCallElement();
         
        try 
    	{
            // spinach.g:255:3: ( variable '(' (el1= var_int_or_double_literal ( ',' el2= var_int_or_double_literal )* )? ')' END_OF_STATEMENT )
            // spinach.g:255:4: variable '(' (el1= var_int_or_double_literal ( ',' el2= var_int_or_double_literal )* )? ')' END_OF_STATEMENT
            {
            	root_0 = (object)adaptor.GetNilNode();

            	PushFollow(FOLLOW_variable_in_functioncall1490);
            	variable107 = variable();
            	state.followingStackPointer--;

            	adaptor.AddChild(root_0, variable107.Tree);
            	retval.ret.setfunctioncallname(((variable107 != null) ? variable107.ret : null));
            	char_literal108=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_functioncall1495); 
            		char_literal108_tree = (object)adaptor.Create(char_literal108);
            		adaptor.AddChild(root_0, char_literal108_tree);

            	// spinach.g:256:6: (el1= var_int_or_double_literal ( ',' el2= var_int_or_double_literal )* )?
            	int alt32 = 2;
            	int LA32_0 = input.LA(1);

            	if ( ((LA32_0 >= VARIABLE && LA32_0 <= DOUBLE_LITERAL)) )
            	{
            	    alt32 = 1;
            	}
            	switch (alt32) 
            	{
            	    case 1 :
            	        // spinach.g:256:7: el1= var_int_or_double_literal ( ',' el2= var_int_or_double_literal )*
            	        {
            	        	PushFollow(FOLLOW_var_int_or_double_literal_in_functioncall1499);
            	        	el1 = var_int_or_double_literal();
            	        	state.followingStackPointer--;

            	        	adaptor.AddChild(root_0, el1.Tree);
            	        	retval.ret.setparameters(((el1 != null) ? el1.ret : null));
            	        	// spinach.g:256:74: ( ',' el2= var_int_or_double_literal )*
            	        	do 
            	        	{
            	        	    int alt31 = 2;
            	        	    int LA31_0 = input.LA(1);

            	        	    if ( (LA31_0 == 31) )
            	        	    {
            	        	        alt31 = 1;
            	        	    }


            	        	    switch (alt31) 
            	        		{
            	        			case 1 :
            	        			    // spinach.g:256:75: ',' el2= var_int_or_double_literal
            	        			    {
            	        			    	char_literal109=(IToken)Match(input,31,FOLLOW_31_in_functioncall1503); 
            	        			    		char_literal109_tree = (object)adaptor.Create(char_literal109);
            	        			    		adaptor.AddChild(root_0, char_literal109_tree);

            	        			    	PushFollow(FOLLOW_var_int_or_double_literal_in_functioncall1507);
            	        			    	el2 = var_int_or_double_literal();
            	        			    	state.followingStackPointer--;

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

            	        			    }
            	        			    break;

            	        			default:
            	        			    goto loop31;
            	        	    }
            	        	} while (true);

            	        	loop31:
            	        		;	// Stops C# compiler whining that label 'loop31' has no statements


            	        }
            	        break;

            	}

            	char_literal110=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_functioncall1514); 
            		char_literal110_tree = (object)adaptor.Create(char_literal110);
            		adaptor.AddChild(root_0, char_literal110_tree);

            	END_OF_STATEMENT111=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_functioncall1518); 
            		END_OF_STATEMENT111_tree = (object)adaptor.Create(END_OF_STATEMENT111);
            		adaptor.AddChild(root_0, END_OF_STATEMENT111_tree);


            }

            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;
    }
Example #4
0
    // $ANTLR start "functioncall"
    // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:269:4: functioncall returns [FunctionCallElement ret] : variable '(' ( (el1= var_int_or_double_literal | e13= string_literal ) ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )* )? ')' END_OF_STATEMENT ;
    public spinachParser.functioncall_return functioncall() // throws RecognitionException [1]
    {   
        spinachParser.functioncall_return retval = new spinachParser.functioncall_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken char_literal124 = null;
        IToken char_literal125 = null;
        IToken char_literal126 = null;
        IToken END_OF_STATEMENT127 = null;
        spinachParser.var_int_or_double_literal_return el1 = null;

        spinachParser.string_literal_return e13 = null;

        spinachParser.var_int_or_double_literal_return el2 = null;

        spinachParser.variable_return variable123 = null;


        object char_literal124_tree=null;
        object char_literal125_tree=null;
        object char_literal126_tree=null;
        object END_OF_STATEMENT127_tree=null;

         retval.ret = new FunctionCallElement();
         
        try 
    	{
            // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:272:3: ( variable '(' ( (el1= var_int_or_double_literal | e13= string_literal ) ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )* )? ')' END_OF_STATEMENT )
            // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:272:4: variable '(' ( (el1= var_int_or_double_literal | e13= string_literal ) ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )* )? ')' END_OF_STATEMENT
            {
            	root_0 = (object)adaptor.GetNilNode();

            	PushFollow(FOLLOW_variable_in_functioncall1618);
            	variable123 = variable();
            	state.followingStackPointer--;

            	adaptor.AddChild(root_0, variable123.Tree);
            	retval.ret.setfunctioncallname(((variable123 != null) ? variable123.ret : null));
            	char_literal124=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_functioncall1623); 
            		char_literal124_tree = (object)adaptor.Create(char_literal124);
            		adaptor.AddChild(root_0, char_literal124_tree);

            	// C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:273:6: ( (el1= var_int_or_double_literal | e13= string_literal ) ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )* )?
            	int alt40 = 2;
            	int LA40_0 = input.LA(1);

            	if ( ((LA40_0 >= VARIABLE && LA40_0 <= DOUBLE_LITERAL) || LA40_0 == 27) )
            	{
            	    alt40 = 1;
            	}
            	switch (alt40) 
            	{
            	    case 1 :
            	        // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:273:7: (el1= var_int_or_double_literal | e13= string_literal ) ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )*
            	        {
            	        	// C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:273:7: (el1= var_int_or_double_literal | e13= string_literal )
            	        	int alt37 = 2;
            	        	int LA37_0 = input.LA(1);

            	        	if ( ((LA37_0 >= VARIABLE && LA37_0 <= DOUBLE_LITERAL)) )
            	        	{
            	        	    alt37 = 1;
            	        	}
            	        	else if ( (LA37_0 == 27) )
            	        	{
            	        	    alt37 = 2;
            	        	}
            	        	else 
            	        	{
            	        	    NoViableAltException nvae_d37s0 =
            	        	        new NoViableAltException("", 37, 0, input);

            	        	    throw nvae_d37s0;
            	        	}
            	        	switch (alt37) 
            	        	{
            	        	    case 1 :
            	        	        // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:273:8: el1= var_int_or_double_literal
            	        	        {
            	        	        	PushFollow(FOLLOW_var_int_or_double_literal_in_functioncall1628);
            	        	        	el1 = var_int_or_double_literal();
            	        	        	state.followingStackPointer--;

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

            	        	        }
            	        	        break;
            	        	    case 2 :
            	        	        // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:273:75: e13= string_literal
            	        	        {
            	        	        	PushFollow(FOLLOW_string_literal_in_functioncall1634);
            	        	        	e13 = string_literal();
            	        	        	state.followingStackPointer--;

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

            	        	        }
            	        	        break;

            	        	}

            	        	// C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:273:133: ( ',' (el2= var_int_or_double_literal | e13= string_literal ) )*
            	        	do 
            	        	{
            	        	    int alt39 = 2;
            	        	    int LA39_0 = input.LA(1);

            	        	    if ( (LA39_0 == 31) )
            	        	    {
            	        	        alt39 = 1;
            	        	    }


            	        	    switch (alt39) 
            	        		{
            	        			case 1 :
            	        			    // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:273:134: ',' (el2= var_int_or_double_literal | e13= string_literal )
            	        			    {
            	        			    	char_literal125=(IToken)Match(input,31,FOLLOW_31_in_functioncall1639); 
            	        			    		char_literal125_tree = (object)adaptor.Create(char_literal125);
            	        			    		adaptor.AddChild(root_0, char_literal125_tree);

            	        			    	// C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:273:138: (el2= var_int_or_double_literal | e13= string_literal )
            	        			    	int alt38 = 2;
            	        			    	int LA38_0 = input.LA(1);

            	        			    	if ( ((LA38_0 >= VARIABLE && LA38_0 <= DOUBLE_LITERAL)) )
            	        			    	{
            	        			    	    alt38 = 1;
            	        			    	}
            	        			    	else if ( (LA38_0 == 27) )
            	        			    	{
            	        			    	    alt38 = 2;
            	        			    	}
            	        			    	else 
            	        			    	{
            	        			    	    NoViableAltException nvae_d38s0 =
            	        			    	        new NoViableAltException("", 38, 0, input);

            	        			    	    throw nvae_d38s0;
            	        			    	}
            	        			    	switch (alt38) 
            	        			    	{
            	        			    	    case 1 :
            	        			    	        // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:273:139: el2= var_int_or_double_literal
            	        			    	        {
            	        			    	        	PushFollow(FOLLOW_var_int_or_double_literal_in_functioncall1644);
            	        			    	        	el2 = var_int_or_double_literal();
            	        			    	        	state.followingStackPointer--;

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

            	        			    	        }
            	        			    	        break;
            	        			    	    case 2 :
            	        			    	        // C:\\Users\\KULDEEP GANDHI\\Desktop\\pinac\\Spinach\\InterpreterFrontEnd\\spinach.g:273:206: e13= string_literal
            	        			    	        {
            	        			    	        	PushFollow(FOLLOW_string_literal_in_functioncall1650);
            	        			    	        	e13 = string_literal();
            	        			    	        	state.followingStackPointer--;

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

            	        			    	        }
            	        			    	        break;

            	        			    	}


            	        			    }
            	        			    break;

            	        			default:
            	        			    goto loop39;
            	        	    }
            	        	} while (true);

            	        	loop39:
            	        		;	// Stops C# compiler whining that label 'loop39' has no statements


            	        }
            	        break;

            	}

            	char_literal126=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_functioncall1658); 
            		char_literal126_tree = (object)adaptor.Create(char_literal126);
            		adaptor.AddChild(root_0, char_literal126_tree);

            	END_OF_STATEMENT127=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_functioncall1662); 
            		END_OF_STATEMENT127_tree = (object)adaptor.Create(END_OF_STATEMENT127);
            		adaptor.AddChild(root_0, END_OF_STATEMENT127_tree);


            }

            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;
    }