Inheritance: Antlr.Runtime.ParserRuleReturnScope
Exemple #1
0
    // $ANTLR start "string_literal"
    // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:90:1: string_literal returns [StringElement ret] : ( '\"' (el1= var_int_or_double_literal )* '\"' ) ;
    public spinachParser.string_literal_return string_literal() // throws RecognitionException [1]
    {   
        spinachParser.string_literal_return retval = new spinachParser.string_literal_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken char_literal21 = null;
        IToken char_literal22 = null;
        spinachParser.var_int_or_double_literal_return el1 = null;


        object char_literal21_tree=null;
        object char_literal22_tree=null;


         retval.ret = new StringElement();

        try 
    	{
            // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:94:2: ( ( '\"' (el1= var_int_or_double_literal )* '\"' ) )
            // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:94:3: ( '\"' (el1= var_int_or_double_literal )* '\"' )
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:94:3: ( '\"' (el1= var_int_or_double_literal )* '\"' )
            	// C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:94:4: '\"' (el1= var_int_or_double_literal )* '\"'
            	{
            		char_literal21=(IToken)Match(input,27,FOLLOW_27_in_string_literal437); 
            			char_literal21_tree = (object)adaptor.Create(char_literal21);
            			adaptor.AddChild(root_0, char_literal21_tree);

            		// C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:94:7: (el1= var_int_or_double_literal )*
            		do 
            		{
            		    int alt8 = 2;
            		    int LA8_0 = input.LA(1);

            		    if ( ((LA8_0 >= VARIABLE && LA8_0 <= DOUBLE_LITERAL)) )
            		    {
            		        alt8 = 1;
            		    }


            		    switch (alt8) 
            			{
            				case 1 :
            				    // C:\\Documents and Settings\\Administrator\\Desktop\\Spinach\\InterpreterFrontEnd\\spinach.g:94:8: el1= var_int_or_double_literal
            				    {
            				    	PushFollow(FOLLOW_var_int_or_double_literal_in_string_literal441);
            				    	el1 = var_int_or_double_literal();
            				    	state.followingStackPointer--;

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

            				    }
            				    break;

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

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

            		char_literal22=(IToken)Match(input,27,FOLLOW_27_in_string_literal446); 
            			char_literal22_tree = (object)adaptor.Create(char_literal22);
            			adaptor.AddChild(root_0, char_literal22_tree);

            		retval.ret.appendText();

            	}


            }

            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;
    }
Exemple #2
0
    // $ANTLR start "string_literal"
    // spinach.g:461:1: string_literal returns [StringElement ret] : ( '\"' (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | PERCENT | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | '[' | ']' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' | 'return' | 'delete' | 'DOT' | 'T' | 'else' | 'if' | 'for' | 'parallelfor' | 'SYNC' | 'print' | 'to' )* '\"' ) ;
    public spinachParser.string_literal_return string_literal() // throws RecognitionException [1]
    {   
        spinachParser.string_literal_return retval = new spinachParser.string_literal_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken el3 = null;
        IToken el2 = null;
        IToken el1 = null;
        IToken char_literal300 = null;
        IToken char_literal301 = null;
        IToken string_literal302 = null;
        IToken string_literal303 = null;
        IToken char_literal304 = null;
        IToken char_literal305 = null;
        IToken VARTYPE306 = null;
        IToken SCALEMODE307 = null;
        IToken STRINGTYPE308 = null;
        IToken ASSIGNMENT309 = null;
        IToken char_literal310 = null;
        IToken PLUS311 = null;
        IToken MULTIPLY312 = null;
        IToken string_literal313 = null;
        IToken string_literal314 = null;
        IToken string_literal315 = null;
        IToken string_literal316 = null;
        IToken string_literal317 = null;
        IToken string_literal318 = null;
        IToken char_literal319 = null;
        IToken char_literal320 = null;
        IToken char_literal321 = null;
        IToken char_literal322 = null;
        IToken string_literal323 = null;
        IToken string_literal324 = null;
        IToken string_literal325 = null;
        IToken string_literal326 = null;
        IToken char_literal327 = null;
        IToken PERCENT328 = null;
        IToken char_literal329 = null;
        IToken char_literal330 = null;
        IToken char_literal331 = null;
        IToken char_literal332 = null;
        IToken char_literal333 = null;
        IToken char_literal334 = null;
        IToken char_literal335 = null;
        IToken char_literal336 = null;
        IToken char_literal337 = null;
        IToken char_literal338 = null;
        IToken char_literal339 = null;
        IToken char_literal340 = null;
        IToken string_literal341 = null;
        IToken string_literal342 = null;
        IToken string_literal343 = null;
        IToken string_literal344 = null;
        IToken string_literal345 = null;
        IToken string_literal346 = null;
        IToken string_literal347 = null;
        IToken string_literal348 = null;
        IToken char_literal349 = null;
        IToken string_literal350 = null;
        IToken string_literal351 = null;
        IToken string_literal352 = null;
        IToken string_literal353 = null;
        IToken string_literal354 = null;
        IToken string_literal355 = null;
        IToken string_literal356 = null;
        IToken char_literal357 = null;

        object el3_tree=null;
        object el2_tree=null;
        object el1_tree=null;
        object char_literal300_tree=null;
        object char_literal301_tree=null;
        object string_literal302_tree=null;
        object string_literal303_tree=null;
        object char_literal304_tree=null;
        object char_literal305_tree=null;
        object VARTYPE306_tree=null;
        object SCALEMODE307_tree=null;
        object STRINGTYPE308_tree=null;
        object ASSIGNMENT309_tree=null;
        object char_literal310_tree=null;
        object PLUS311_tree=null;
        object MULTIPLY312_tree=null;
        object string_literal313_tree=null;
        object string_literal314_tree=null;
        object string_literal315_tree=null;
        object string_literal316_tree=null;
        object string_literal317_tree=null;
        object string_literal318_tree=null;
        object char_literal319_tree=null;
        object char_literal320_tree=null;
        object char_literal321_tree=null;
        object char_literal322_tree=null;
        object string_literal323_tree=null;
        object string_literal324_tree=null;
        object string_literal325_tree=null;
        object string_literal326_tree=null;
        object char_literal327_tree=null;
        object PERCENT328_tree=null;
        object char_literal329_tree=null;
        object char_literal330_tree=null;
        object char_literal331_tree=null;
        object char_literal332_tree=null;
        object char_literal333_tree=null;
        object char_literal334_tree=null;
        object char_literal335_tree=null;
        object char_literal336_tree=null;
        object char_literal337_tree=null;
        object char_literal338_tree=null;
        object char_literal339_tree=null;
        object char_literal340_tree=null;
        object string_literal341_tree=null;
        object string_literal342_tree=null;
        object string_literal343_tree=null;
        object string_literal344_tree=null;
        object string_literal345_tree=null;
        object string_literal346_tree=null;
        object string_literal347_tree=null;
        object string_literal348_tree=null;
        object char_literal349_tree=null;
        object string_literal350_tree=null;
        object string_literal351_tree=null;
        object string_literal352_tree=null;
        object string_literal353_tree=null;
        object string_literal354_tree=null;
        object string_literal355_tree=null;
        object string_literal356_tree=null;
        object char_literal357_tree=null;


         retval.ret = new StringElement();

        try 
    	{
            // spinach.g:465:2: ( ( '\"' (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | PERCENT | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | '[' | ']' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' | 'return' | 'delete' | 'DOT' | 'T' | 'else' | 'if' | 'for' | 'parallelfor' | 'SYNC' | 'print' | 'to' )* '\"' ) )
            // spinach.g:465:3: ( '\"' (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | PERCENT | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | '[' | ']' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' | 'return' | 'delete' | 'DOT' | 'T' | 'else' | 'if' | 'for' | 'parallelfor' | 'SYNC' | 'print' | 'to' )* '\"' )
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// spinach.g:465:3: ( '\"' (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | PERCENT | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | '[' | ']' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' | 'return' | 'delete' | 'DOT' | 'T' | 'else' | 'if' | 'for' | 'parallelfor' | 'SYNC' | 'print' | 'to' )* '\"' )
            	// spinach.g:465:4: '\"' (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | PERCENT | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | '[' | ']' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' | 'return' | 'delete' | 'DOT' | 'T' | 'else' | 'if' | 'for' | 'parallelfor' | 'SYNC' | 'print' | 'to' )* '\"'
            	{
            		char_literal300=(IToken)Match(input,58,FOLLOW_58_in_string_literal2758); 
            			char_literal300_tree = (object)adaptor.Create(char_literal300);
            			adaptor.AddChild(root_0, char_literal300_tree);

            		// spinach.g:466:2: (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | PERCENT | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | '[' | ']' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' | 'return' | 'delete' | 'DOT' | 'T' | 'else' | 'if' | 'for' | 'parallelfor' | 'SYNC' | 'print' | 'to' )*
            		do 
            		{
            		    int alt61 = 60;
            		    switch ( input.LA(1) ) 
            		    {
            		    case VARIABLE:
            		    	{
            		        alt61 = 1;
            		        }
            		        break;
            		    case INT_LITERAL:
            		    	{
            		        alt61 = 2;
            		        }
            		        break;
            		    case DOUBLE_LITERAL:
            		    	{
            		        alt61 = 3;
            		        }
            		        break;
            		    case DOT:
            		    	{
            		        alt61 = 4;
            		        }
            		        break;
            		    case 28:
            		    	{
            		        alt61 = 5;
            		        }
            		        break;
            		    case 32:
            		    	{
            		        alt61 = 6;
            		        }
            		        break;
            		    case LESSTHANEXPRESSION:
            		    	{
            		        alt61 = 7;
            		        }
            		        break;
            		    case GREATERTHANEXPRESSION:
            		    	{
            		        alt61 = 8;
            		        }
            		        break;
            		    case VARTYPE:
            		    	{
            		        alt61 = 9;
            		        }
            		        break;
            		    case SCALEMODE:
            		    	{
            		        alt61 = 10;
            		        }
            		        break;
            		    case STRINGTYPE:
            		    	{
            		        alt61 = 11;
            		        }
            		        break;
            		    case ASSIGNMENT:
            		    	{
            		        alt61 = 12;
            		        }
            		        break;
            		    case 33:
            		    	{
            		        alt61 = 13;
            		        }
            		        break;
            		    case PLUS:
            		    	{
            		        alt61 = 14;
            		        }
            		        break;
            		    case MULTIPLY:
            		    	{
            		        alt61 = 15;
            		        }
            		        break;
            		    case 47:
            		    	{
            		        alt61 = 16;
            		        }
            		        break;
            		    case 51:
            		    	{
            		        alt61 = 17;
            		        }
            		        break;
            		    case 52:
            		    	{
            		        alt61 = 18;
            		        }
            		        break;
            		    case 53:
            		    	{
            		        alt61 = 19;
            		        }
            		        break;
            		    case 54:
            		    	{
            		        alt61 = 20;
            		        }
            		        break;
            		    case 57:
            		    	{
            		        alt61 = 21;
            		        }
            		        break;
            		    case LEFTBRACE:
            		    	{
            		        alt61 = 22;
            		        }
            		        break;
            		    case RIGHTBRACE:
            		    	{
            		        alt61 = 23;
            		        }
            		        break;
            		    case LEFTPARANTHESIS:
            		    	{
            		        alt61 = 24;
            		        }
            		        break;
            		    case RIGHTPARANTHESIS:
            		    	{
            		        alt61 = 25;
            		        }
            		        break;
            		    case POINT:
            		    	{
            		        alt61 = 26;
            		        }
            		        break;
            		    case EQUALITYEXPRESSION:
            		    	{
            		        alt61 = 27;
            		        }
            		        break;
            		    case NONEQUALITYEXPRESSION:
            		    	{
            		        alt61 = 28;
            		        }
            		        break;
            		    case LESSTHANEQUALTOEXPRESSION:
            		    	{
            		        alt61 = 29;
            		        }
            		        break;
            		    case 59:
            		    	{
            		        alt61 = 30;
            		        }
            		        break;
            		    case PERCENT:
            		    	{
            		        alt61 = 31;
            		        }
            		        break;
            		    case 61:
            		    	{
            		        alt61 = 32;
            		        }
            		        break;
            		    case 62:
            		    	{
            		        alt61 = 33;
            		        }
            		        break;
            		    case 63:
            		    	{
            		        alt61 = 34;
            		        }
            		        break;
            		    case 64:
            		    	{
            		        alt61 = 35;
            		        }
            		        break;
            		    case END_OF_STATEMENT:
            		    	{
            		        alt61 = 36;
            		        }
            		        break;
            		    case 65:
            		    	{
            		        alt61 = 37;
            		        }
            		        break;
            		    case 66:
            		    	{
            		        alt61 = 38;
            		        }
            		        break;
            		    case 67:
            		    	{
            		        alt61 = 39;
            		        }
            		        break;
            		    case 60:
            		    	{
            		        alt61 = 40;
            		        }
            		        break;
            		    case 29:
            		    	{
            		        alt61 = 41;
            		        }
            		        break;
            		    case 30:
            		    	{
            		        alt61 = 42;
            		        }
            		        break;
            		    case 31:
            		    	{
            		        alt61 = 43;
            		        }
            		        break;
            		    case 48:
            		    	{
            		        alt61 = 44;
            		        }
            		        break;
            		    case 49:
            		    	{
            		        alt61 = 45;
            		        }
            		        break;
            		    case 50:
            		    	{
            		        alt61 = 46;
            		        }
            		        break;
            		    case 43:
            		    	{
            		        alt61 = 47;
            		        }
            		        break;
            		    case 34:
            		    	{
            		        alt61 = 48;
            		        }
            		        break;
            		    case 46:
            		    	{
            		        alt61 = 49;
            		        }
            		        break;
            		    case 35:
            		    	{
            		        alt61 = 50;
            		        }
            		        break;
            		    case 44:
            		    	{
            		        alt61 = 51;
            		        }
            		        break;
            		    case 45:
            		    	{
            		        alt61 = 52;
            		        }
            		        break;
            		    case 41:
            		    	{
            		        alt61 = 53;
            		        }
            		        break;
            		    case 40:
            		    	{
            		        alt61 = 54;
            		        }
            		        break;
            		    case 42:
            		    	{
            		        alt61 = 55;
            		        }
            		        break;
            		    case 37:
            		    	{
            		        alt61 = 56;
            		        }
            		        break;
            		    case 39:
            		    	{
            		        alt61 = 57;
            		        }
            		        break;
            		    case 36:
            		    	{
            		        alt61 = 58;
            		        }
            		        break;
            		    case 38:
            		    	{
            		        alt61 = 59;
            		        }
            		        break;

            		    }

            		    switch (alt61) 
            			{
            				case 1 :
            				    // spinach.g:466:3: el3= VARIABLE
            				    {
            				    	el3=(IToken)Match(input,VARIABLE,FOLLOW_VARIABLE_in_string_literal2764); 
            				    		el3_tree = (object)adaptor.Create(el3);
            				    		adaptor.AddChild(root_0, el3_tree);

            				    	retval.ret.setText(((el3 != null) ? el3.Text : null));

            				    }
            				    break;
            				case 2 :
            				    // spinach.g:467:3: el2= INT_LITERAL
            				    {
            				    	el2=(IToken)Match(input,INT_LITERAL,FOLLOW_INT_LITERAL_in_string_literal2771); 
            				    		el2_tree = (object)adaptor.Create(el2);
            				    		adaptor.AddChild(root_0, el2_tree);

            				    	retval.ret.setText(((el2 != null) ? el2.Text : null));

            				    }
            				    break;
            				case 3 :
            				    // spinach.g:468:3: el1= DOUBLE_LITERAL
            				    {
            				    	el1=(IToken)Match(input,DOUBLE_LITERAL,FOLLOW_DOUBLE_LITERAL_in_string_literal2778); 
            				    		el1_tree = (object)adaptor.Create(el1);
            				    		adaptor.AddChild(root_0, el1_tree);

            				    	retval.ret.setText(((el1 != null) ? el1.Text : null));

            				    }
            				    break;
            				case 4 :
            				    // spinach.g:469:3: '.'
            				    {
            				    	char_literal301=(IToken)Match(input,DOT,FOLLOW_DOT_in_string_literal2783); 
            				    		char_literal301_tree = (object)adaptor.Create(char_literal301);
            				    		adaptor.AddChild(root_0, char_literal301_tree);

            				    	retval.ret.setText(".");

            				    }
            				    break;
            				case 5 :
            				    // spinach.g:470:3: 'matrix'
            				    {
            				    	string_literal302=(IToken)Match(input,28,FOLLOW_28_in_string_literal2788); 
            				    		string_literal302_tree = (object)adaptor.Create(string_literal302);
            				    		adaptor.AddChild(root_0, string_literal302_tree);

            				    	retval.ret.setText("matrix");

            				    }
            				    break;
            				case 6 :
            				    // spinach.g:471:3: 'vector'
            				    {
            				    	string_literal303=(IToken)Match(input,32,FOLLOW_32_in_string_literal2793); 
            				    		string_literal303_tree = (object)adaptor.Create(string_literal303);
            				    		adaptor.AddChild(root_0, string_literal303_tree);

            				    	retval.ret.setText("vector");

            				    }
            				    break;
            				case 7 :
            				    // spinach.g:472:3: '<'
            				    {
            				    	char_literal304=(IToken)Match(input,LESSTHANEXPRESSION,FOLLOW_LESSTHANEXPRESSION_in_string_literal2798); 
            				    		char_literal304_tree = (object)adaptor.Create(char_literal304);
            				    		adaptor.AddChild(root_0, char_literal304_tree);

            				    	retval.ret.setText("<");

            				    }
            				    break;
            				case 8 :
            				    // spinach.g:473:3: '>'
            				    {
            				    	char_literal305=(IToken)Match(input,GREATERTHANEXPRESSION,FOLLOW_GREATERTHANEXPRESSION_in_string_literal2803); 
            				    		char_literal305_tree = (object)adaptor.Create(char_literal305);
            				    		adaptor.AddChild(root_0, char_literal305_tree);

            				    	retval.ret.setText(">");

            				    }
            				    break;
            				case 9 :
            				    // spinach.g:474:3: VARTYPE
            				    {
            				    	VARTYPE306=(IToken)Match(input,VARTYPE,FOLLOW_VARTYPE_in_string_literal2808); 
            				    		VARTYPE306_tree = (object)adaptor.Create(VARTYPE306);
            				    		adaptor.AddChild(root_0, VARTYPE306_tree);

            				    	retval.ret.setText(((VARTYPE306 != null) ? VARTYPE306.Text : null));

            				    }
            				    break;
            				case 10 :
            				    // spinach.g:475:3: SCALEMODE
            				    {
            				    	SCALEMODE307=(IToken)Match(input,SCALEMODE,FOLLOW_SCALEMODE_in_string_literal2813); 
            				    		SCALEMODE307_tree = (object)adaptor.Create(SCALEMODE307);
            				    		adaptor.AddChild(root_0, SCALEMODE307_tree);

            				    	retval.ret.setText(((SCALEMODE307 != null) ? SCALEMODE307.Text : null));

            				    }
            				    break;
            				case 11 :
            				    // spinach.g:476:3: STRINGTYPE
            				    {
            				    	STRINGTYPE308=(IToken)Match(input,STRINGTYPE,FOLLOW_STRINGTYPE_in_string_literal2818); 
            				    		STRINGTYPE308_tree = (object)adaptor.Create(STRINGTYPE308);
            				    		adaptor.AddChild(root_0, STRINGTYPE308_tree);

            				    	retval.ret.setText(((STRINGTYPE308 != null) ? STRINGTYPE308.Text : null));

            				    }
            				    break;
            				case 12 :
            				    // spinach.g:477:3: ASSIGNMENT
            				    {
            				    	ASSIGNMENT309=(IToken)Match(input,ASSIGNMENT,FOLLOW_ASSIGNMENT_in_string_literal2823); 
            				    		ASSIGNMENT309_tree = (object)adaptor.Create(ASSIGNMENT309);
            				    		adaptor.AddChild(root_0, ASSIGNMENT309_tree);

            				    	retval.ret.setText(((ASSIGNMENT309 != null) ? ASSIGNMENT309.Text : null));

            				    }
            				    break;
            				case 13 :
            				    // spinach.g:478:3: '-'
            				    {
            				    	char_literal310=(IToken)Match(input,33,FOLLOW_33_in_string_literal2828); 
            				    		char_literal310_tree = (object)adaptor.Create(char_literal310);
            				    		adaptor.AddChild(root_0, char_literal310_tree);

            				    	retval.ret.setText("-");

            				    }
            				    break;
            				case 14 :
            				    // spinach.g:479:3: PLUS
            				    {
            				    	PLUS311=(IToken)Match(input,PLUS,FOLLOW_PLUS_in_string_literal2833); 
            				    		PLUS311_tree = (object)adaptor.Create(PLUS311);
            				    		adaptor.AddChild(root_0, PLUS311_tree);

            				    	retval.ret.setText(((PLUS311 != null) ? PLUS311.Text : null));

            				    }
            				    break;
            				case 15 :
            				    // spinach.g:480:3: MULTIPLY
            				    {
            				    	MULTIPLY312=(IToken)Match(input,MULTIPLY,FOLLOW_MULTIPLY_in_string_literal2838); 
            				    		MULTIPLY312_tree = (object)adaptor.Create(MULTIPLY312);
            				    		adaptor.AddChild(root_0, MULTIPLY312_tree);

            				    	retval.ret.setText(((MULTIPLY312 != null) ? MULTIPLY312.Text : null));

            				    }
            				    break;
            				case 16 :
            				    // spinach.g:481:3: 'subPlot'
            				    {
            				    	string_literal313=(IToken)Match(input,47,FOLLOW_47_in_string_literal2843); 
            				    		string_literal313_tree = (object)adaptor.Create(string_literal313);
            				    		adaptor.AddChild(root_0, string_literal313_tree);

            				    	retval.ret.setText("subPlot");

            				    }
            				    break;
            				case 17 :
            				    // spinach.g:482:3: 'plot'
            				    {
            				    	string_literal314=(IToken)Match(input,51,FOLLOW_51_in_string_literal2848); 
            				    		string_literal314_tree = (object)adaptor.Create(string_literal314);
            				    		adaptor.AddChild(root_0, string_literal314_tree);

            				    	retval.ret.setText("plot");

            				    }
            				    break;
            				case 18 :
            				    // spinach.g:483:3: 'resetPlot'
            				    {
            				    	string_literal315=(IToken)Match(input,52,FOLLOW_52_in_string_literal2853); 
            				    		string_literal315_tree = (object)adaptor.Create(string_literal315);
            				    		adaptor.AddChild(root_0, string_literal315_tree);

            				    	retval.ret.setText("resetPlot");

            				    }
            				    break;
            				case 19 :
            				    // spinach.g:484:3: 'setPlotAxis'
            				    {
            				    	string_literal316=(IToken)Match(input,53,FOLLOW_53_in_string_literal2858); 
            				    		string_literal316_tree = (object)adaptor.Create(string_literal316);
            				    		adaptor.AddChild(root_0, string_literal316_tree);

            				    	retval.ret.setText("setPlotAxis");

            				    }
            				    break;
            				case 20 :
            				    // spinach.g:485:3: 'setAxisTitle'
            				    {
            				    	string_literal317=(IToken)Match(input,54,FOLLOW_54_in_string_literal2863); 
            				    		string_literal317_tree = (object)adaptor.Create(string_literal317);
            				    		adaptor.AddChild(root_0, string_literal317_tree);

            				    	retval.ret.setText("setAxisTitle");

            				    }
            				    break;
            				case 21 :
            				    // spinach.g:486:3: 'setScaleMode'
            				    {
            				    	string_literal318=(IToken)Match(input,57,FOLLOW_57_in_string_literal2868); 
            				    		string_literal318_tree = (object)adaptor.Create(string_literal318);
            				    		adaptor.AddChild(root_0, string_literal318_tree);

            				    	retval.ret.setText("setScaleMode");

            				    }
            				    break;
            				case 22 :
            				    // spinach.g:487:3: '('
            				    {
            				    	char_literal319=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_string_literal2873); 
            				    		char_literal319_tree = (object)adaptor.Create(char_literal319);
            				    		adaptor.AddChild(root_0, char_literal319_tree);

            				    	retval.ret.setText("(");

            				    }
            				    break;
            				case 23 :
            				    // spinach.g:488:3: ')'
            				    {
            				    	char_literal320=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_string_literal2878); 
            				    		char_literal320_tree = (object)adaptor.Create(char_literal320);
            				    		adaptor.AddChild(root_0, char_literal320_tree);

            				    	retval.ret.setText(")");

            				    }
            				    break;
            				case 24 :
            				    // spinach.g:489:3: '{'
            				    {
            				    	char_literal321=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_string_literal2883); 
            				    		char_literal321_tree = (object)adaptor.Create(char_literal321);
            				    		adaptor.AddChild(root_0, char_literal321_tree);

            				    	retval.ret.setText("{");

            				    }
            				    break;
            				case 25 :
            				    // spinach.g:490:3: '}'
            				    {
            				    	char_literal322=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_string_literal2888); 
            				    		char_literal322_tree = (object)adaptor.Create(char_literal322);
            				    		adaptor.AddChild(root_0, char_literal322_tree);

            				    	retval.ret.setText("}");

            				    }
            				    break;
            				case 26 :
            				    // spinach.g:491:3: '->'
            				    {
            				    	string_literal323=(IToken)Match(input,POINT,FOLLOW_POINT_in_string_literal2893); 
            				    		string_literal323_tree = (object)adaptor.Create(string_literal323);
            				    		adaptor.AddChild(root_0, string_literal323_tree);

            				    	retval.ret.setText("->");

            				    }
            				    break;
            				case 27 :
            				    // spinach.g:492:3: '=='
            				    {
            				    	string_literal324=(IToken)Match(input,EQUALITYEXPRESSION,FOLLOW_EQUALITYEXPRESSION_in_string_literal2898); 
            				    		string_literal324_tree = (object)adaptor.Create(string_literal324);
            				    		adaptor.AddChild(root_0, string_literal324_tree);

            				    	retval.ret.setText("==");

            				    }
            				    break;
            				case 28 :
            				    // spinach.g:493:3: '!='
            				    {
            				    	string_literal325=(IToken)Match(input,NONEQUALITYEXPRESSION,FOLLOW_NONEQUALITYEXPRESSION_in_string_literal2903); 
            				    		string_literal325_tree = (object)adaptor.Create(string_literal325);
            				    		adaptor.AddChild(root_0, string_literal325_tree);

            				    	retval.ret.setText("!=");

            				    }
            				    break;
            				case 29 :
            				    // spinach.g:494:3: '<='
            				    {
            				    	string_literal326=(IToken)Match(input,LESSTHANEQUALTOEXPRESSION,FOLLOW_LESSTHANEQUALTOEXPRESSION_in_string_literal2908); 
            				    		string_literal326_tree = (object)adaptor.Create(string_literal326);
            				    		adaptor.AddChild(root_0, string_literal326_tree);

            				    	retval.ret.setText("<=");

            				    }
            				    break;
            				case 30 :
            				    // spinach.g:495:3: '&'
            				    {
            				    	char_literal327=(IToken)Match(input,59,FOLLOW_59_in_string_literal2913); 
            				    		char_literal327_tree = (object)adaptor.Create(char_literal327);
            				    		adaptor.AddChild(root_0, char_literal327_tree);

            				    	retval.ret.setText("&");

            				    }
            				    break;
            				case 31 :
            				    // spinach.g:496:3: PERCENT
            				    {
            				    	PERCENT328=(IToken)Match(input,PERCENT,FOLLOW_PERCENT_in_string_literal2918); 
            				    		PERCENT328_tree = (object)adaptor.Create(PERCENT328);
            				    		adaptor.AddChild(root_0, PERCENT328_tree);

            				    	retval.ret.setText(((PERCENT328 != null) ? PERCENT328.Text : null));

            				    }
            				    break;
            				case 32 :
            				    // spinach.g:497:3: '^'
            				    {
            				    	char_literal329=(IToken)Match(input,61,FOLLOW_61_in_string_literal2923); 
            				    		char_literal329_tree = (object)adaptor.Create(char_literal329);
            				    		adaptor.AddChild(root_0, char_literal329_tree);

            				    	retval.ret.setText("^");

            				    }
            				    break;
            				case 33 :
            				    // spinach.g:498:3: '$'
            				    {
            				    	char_literal330=(IToken)Match(input,62,FOLLOW_62_in_string_literal2928); 
            				    		char_literal330_tree = (object)adaptor.Create(char_literal330);
            				    		adaptor.AddChild(root_0, char_literal330_tree);

            				    	retval.ret.setText("$");

            				    }
            				    break;
            				case 34 :
            				    // spinach.g:499:3: '#'
            				    {
            				    	char_literal331=(IToken)Match(input,63,FOLLOW_63_in_string_literal2933); 
            				    		char_literal331_tree = (object)adaptor.Create(char_literal331);
            				    		adaptor.AddChild(root_0, char_literal331_tree);

            				    	retval.ret.setText("#");

            				    }
            				    break;
            				case 35 :
            				    // spinach.g:500:3: '@'
            				    {
            				    	char_literal332=(IToken)Match(input,64,FOLLOW_64_in_string_literal2938); 
            				    		char_literal332_tree = (object)adaptor.Create(char_literal332);
            				    		adaptor.AddChild(root_0, char_literal332_tree);

            				    	retval.ret.setText("@");

            				    }
            				    break;
            				case 36 :
            				    // spinach.g:501:3: ';'
            				    {
            				    	char_literal333=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_string_literal2943); 
            				    		char_literal333_tree = (object)adaptor.Create(char_literal333);
            				    		adaptor.AddChild(root_0, char_literal333_tree);

            				    	retval.ret.setText(";");

            				    }
            				    break;
            				case 37 :
            				    // spinach.g:502:3: '!'
            				    {
            				    	char_literal334=(IToken)Match(input,65,FOLLOW_65_in_string_literal2948); 
            				    		char_literal334_tree = (object)adaptor.Create(char_literal334);
            				    		adaptor.AddChild(root_0, char_literal334_tree);

            				    	retval.ret.setText("!");

            				    }
            				    break;
            				case 38 :
            				    // spinach.g:503:3: '?'
            				    {
            				    	char_literal335=(IToken)Match(input,66,FOLLOW_66_in_string_literal2953); 
            				    		char_literal335_tree = (object)adaptor.Create(char_literal335);
            				    		adaptor.AddChild(root_0, char_literal335_tree);

            				    	retval.ret.setText("?");

            				    }
            				    break;
            				case 39 :
            				    // spinach.g:504:3: '/'
            				    {
            				    	char_literal336=(IToken)Match(input,67,FOLLOW_67_in_string_literal2958); 
            				    		char_literal336_tree = (object)adaptor.Create(char_literal336);
            				    		adaptor.AddChild(root_0, char_literal336_tree);

            				    	retval.ret.setText("/");

            				    }
            				    break;
            				case 40 :
            				    // spinach.g:505:3: ':'
            				    {
            				    	char_literal337=(IToken)Match(input,60,FOLLOW_60_in_string_literal2963); 
            				    		char_literal337_tree = (object)adaptor.Create(char_literal337);
            				    		adaptor.AddChild(root_0, char_literal337_tree);

            				    	retval.ret.setText(":");

            				    }
            				    break;
            				case 41 :
            				    // spinach.g:506:3: '['
            				    {
            				    	char_literal338=(IToken)Match(input,29,FOLLOW_29_in_string_literal2968); 
            				    		char_literal338_tree = (object)adaptor.Create(char_literal338);
            				    		adaptor.AddChild(root_0, char_literal338_tree);

            				    	retval.ret.setText("[");

            				    }
            				    break;
            				case 42 :
            				    // spinach.g:507:3: ']'
            				    {
            				    	char_literal339=(IToken)Match(input,30,FOLLOW_30_in_string_literal2973); 
            				    		char_literal339_tree = (object)adaptor.Create(char_literal339);
            				    		adaptor.AddChild(root_0, char_literal339_tree);

            				    	retval.ret.setText("]");

            				    }
            				    break;
            				case 43 :
            				    // spinach.g:508:3: ','
            				    {
            				    	char_literal340=(IToken)Match(input,31,FOLLOW_31_in_string_literal2979); 
            				    		char_literal340_tree = (object)adaptor.Create(char_literal340);
            				    		adaptor.AddChild(root_0, char_literal340_tree);

            				    	retval.ret.setText(",");

            				    }
            				    break;
            				case 44 :
            				    // spinach.g:509:3: '1D'
            				    {
            				    	string_literal341=(IToken)Match(input,48,FOLLOW_48_in_string_literal2984); 
            				    		string_literal341_tree = (object)adaptor.Create(string_literal341);
            				    		adaptor.AddChild(root_0, string_literal341_tree);

            				    	retval.ret.setText("1D");

            				    }
            				    break;
            				case 45 :
            				    // spinach.g:510:3: '2D'
            				    {
            				    	string_literal342=(IToken)Match(input,49,FOLLOW_49_in_string_literal2989); 
            				    		string_literal342_tree = (object)adaptor.Create(string_literal342);
            				    		adaptor.AddChild(root_0, string_literal342_tree);

            				    	retval.ret.setText("2D");

            				    }
            				    break;
            				case 46 :
            				    // spinach.g:511:3: '3D'
            				    {
            				    	string_literal343=(IToken)Match(input,50,FOLLOW_50_in_string_literal2994); 
            				    		string_literal343_tree = (object)adaptor.Create(string_literal343);
            				    		adaptor.AddChild(root_0, string_literal343_tree);

            				    	retval.ret.setText("3D");

            				    }
            				    break;
            				case 47 :
            				    // spinach.g:512:3: 'void'
            				    {
            				    	string_literal344=(IToken)Match(input,43,FOLLOW_43_in_string_literal2999); 
            				    		string_literal344_tree = (object)adaptor.Create(string_literal344);
            				    		adaptor.AddChild(root_0, string_literal344_tree);

            				    	retval.ret.setText("void");

            				    }
            				    break;
            				case 48 :
            				    // spinach.g:513:3: 'struct'
            				    {
            				    	string_literal345=(IToken)Match(input,34,FOLLOW_34_in_string_literal3004); 
            				    		string_literal345_tree = (object)adaptor.Create(string_literal345);
            				    		adaptor.AddChild(root_0, string_literal345_tree);

            				    	retval.ret.setText("struct");

            				    }
            				    break;
            				case 49 :
            				    // spinach.g:514:4: 'return'
            				    {
            				    	string_literal346=(IToken)Match(input,46,FOLLOW_46_in_string_literal3010); 
            				    		string_literal346_tree = (object)adaptor.Create(string_literal346);
            				    		adaptor.AddChild(root_0, string_literal346_tree);

            				    	retval.ret.setText("return");

            				    }
            				    break;
            				case 50 :
            				    // spinach.g:515:4: 'delete'
            				    {
            				    	string_literal347=(IToken)Match(input,35,FOLLOW_35_in_string_literal3016); 
            				    		string_literal347_tree = (object)adaptor.Create(string_literal347);
            				    		adaptor.AddChild(root_0, string_literal347_tree);

            				    	retval.ret.setText("delete");

            				    }
            				    break;
            				case 51 :
            				    // spinach.g:516:4: 'DOT'
            				    {
            				    	string_literal348=(IToken)Match(input,44,FOLLOW_44_in_string_literal3023); 
            				    		string_literal348_tree = (object)adaptor.Create(string_literal348);
            				    		adaptor.AddChild(root_0, string_literal348_tree);

            				    	retval.ret.setText("DOT");

            				    }
            				    break;
            				case 52 :
            				    // spinach.g:517:4: 'T'
            				    {
            				    	char_literal349=(IToken)Match(input,45,FOLLOW_45_in_string_literal3030); 
            				    		char_literal349_tree = (object)adaptor.Create(char_literal349);
            				    		adaptor.AddChild(root_0, char_literal349_tree);

            				    	retval.ret.setText("T");

            				    }
            				    break;
            				case 53 :
            				    // spinach.g:518:4: 'else'
            				    {
            				    	string_literal350=(IToken)Match(input,41,FOLLOW_41_in_string_literal3037); 
            				    		string_literal350_tree = (object)adaptor.Create(string_literal350);
            				    		adaptor.AddChild(root_0, string_literal350_tree);

            				    	retval.ret.setText("else");

            				    }
            				    break;
            				case 54 :
            				    // spinach.g:519:4: 'if'
            				    {
            				    	string_literal351=(IToken)Match(input,40,FOLLOW_40_in_string_literal3044); 
            				    		string_literal351_tree = (object)adaptor.Create(string_literal351);
            				    		adaptor.AddChild(root_0, string_literal351_tree);

            				    	retval.ret.setText("if");

            				    }
            				    break;
            				case 55 :
            				    // spinach.g:520:4: 'for'
            				    {
            				    	string_literal352=(IToken)Match(input,42,FOLLOW_42_in_string_literal3051); 
            				    		string_literal352_tree = (object)adaptor.Create(string_literal352);
            				    		adaptor.AddChild(root_0, string_literal352_tree);

            				    	retval.ret.setText("for");

            				    }
            				    break;
            				case 56 :
            				    // spinach.g:521:3: 'parallelfor'
            				    {
            				    	string_literal353=(IToken)Match(input,37,FOLLOW_37_in_string_literal3056); 
            				    		string_literal353_tree = (object)adaptor.Create(string_literal353);
            				    		adaptor.AddChild(root_0, string_literal353_tree);

            				    	retval.ret.setText("parallelfor");

            				    }
            				    break;
            				case 57 :
            				    // spinach.g:522:4: 'SYNC'
            				    {
            				    	string_literal354=(IToken)Match(input,39,FOLLOW_39_in_string_literal3062); 
            				    		string_literal354_tree = (object)adaptor.Create(string_literal354);
            				    		adaptor.AddChild(root_0, string_literal354_tree);

            				    	retval.ret.setText("SYNC");

            				    }
            				    break;
            				case 58 :
            				    // spinach.g:523:4: 'print'
            				    {
            				    	string_literal355=(IToken)Match(input,36,FOLLOW_36_in_string_literal3069); 
            				    		string_literal355_tree = (object)adaptor.Create(string_literal355);
            				    		adaptor.AddChild(root_0, string_literal355_tree);

            				    	retval.ret.setText("print");

            				    }
            				    break;
            				case 59 :
            				    // spinach.g:524:4: 'to'
            				    {
            				    	string_literal356=(IToken)Match(input,38,FOLLOW_38_in_string_literal3076); 
            				    		string_literal356_tree = (object)adaptor.Create(string_literal356);
            				    		adaptor.AddChild(root_0, string_literal356_tree);

            				    	retval.ret.setText("to");

            				    }
            				    break;

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

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

            		char_literal357=(IToken)Match(input,58,FOLLOW_58_in_string_literal3084); 
            			char_literal357_tree = (object)adaptor.Create(char_literal357);
            			adaptor.AddChild(root_0, char_literal357_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;
    }
Exemple #3
0
    // $ANTLR start "string_literal"
    // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:73:1: string_literal returns [StringElement ret] : ( '\"' (el1= var_int_or_double_literal )* '\"' ) ;
    public spinachParser.string_literal_return string_literal() // throws RecognitionException [1]
    {   
        spinachParser.string_literal_return retval = new spinachParser.string_literal_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken char_literal15 = null;
        IToken char_literal16 = null;
        spinachParser.var_int_or_double_literal_return el1 = null;


        object char_literal15_tree=null;
        object char_literal16_tree=null;


         retval.ret = new StringElement();

        try 
    	{
            // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:77:2: ( ( '\"' (el1= var_int_or_double_literal )* '\"' ) )
            // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:77:3: ( '\"' (el1= var_int_or_double_literal )* '\"' )
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:77:3: ( '\"' (el1= var_int_or_double_literal )* '\"' )
            	// C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:77:4: '\"' (el1= var_int_or_double_literal )* '\"'
            	{
            		char_literal15=(IToken)Match(input,27,FOLLOW_27_in_string_literal386); 
            			char_literal15_tree = (object)adaptor.Create(char_literal15);
            			adaptor.AddChild(root_0, char_literal15_tree);

            		// C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:77:7: (el1= var_int_or_double_literal )*
            		do 
            		{
            		    int alt6 = 2;
            		    int LA6_0 = input.LA(1);

            		    if ( ((LA6_0 >= VARIABLE && LA6_0 <= DOUBLE_LITERAL)) )
            		    {
            		        alt6 = 1;
            		    }


            		    switch (alt6) 
            			{
            				case 1 :
            				    // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:77:8: el1= var_int_or_double_literal
            				    {
            				    	PushFollow(FOLLOW_var_int_or_double_literal_in_string_literal390);
            				    	el1 = var_int_or_double_literal();
            				    	state.followingStackPointer--;

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

            				    }
            				    break;

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

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

            		char_literal16=(IToken)Match(input,27,FOLLOW_27_in_string_literal395); 
            			char_literal16_tree = (object)adaptor.Create(char_literal16);
            			adaptor.AddChild(root_0, char_literal16_tree);

            		retval.ret.appendText();

            	}


            }

            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;
    }
Exemple #4
0
    // $ANTLR start "string_literal"
    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:479:1: string_literal returns [StringElement ret] : ( '\"' (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' )* '\"' ) ;
    public spinachParser.string_literal_return string_literal() // throws RecognitionException [1]
    {   
        spinachParser.string_literal_return retval = new spinachParser.string_literal_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken el3 = null;
        IToken el2 = null;
        IToken el1 = null;
        IToken char_literal293 = null;
        IToken char_literal294 = null;
        IToken string_literal295 = null;
        IToken string_literal296 = null;
        IToken char_literal297 = null;
        IToken char_literal298 = null;
        IToken VARTYPE299 = null;
        IToken SCALEMODE300 = null;
        IToken STRINGTYPE301 = null;
        IToken ASSIGNMENT302 = null;
        IToken char_literal303 = null;
        IToken PLUS304 = null;
        IToken MULTIPLY305 = null;
        IToken string_literal306 = null;
        IToken string_literal307 = null;
        IToken string_literal308 = null;
        IToken string_literal309 = null;
        IToken string_literal310 = null;
        IToken string_literal311 = null;
        IToken char_literal312 = null;
        IToken char_literal313 = null;
        IToken char_literal314 = null;
        IToken char_literal315 = null;
        IToken string_literal316 = null;
        IToken string_literal317 = null;
        IToken string_literal318 = null;
        IToken string_literal319 = null;
        IToken char_literal320 = null;
        IToken char_literal321 = null;
        IToken char_literal322 = null;
        IToken char_literal323 = null;
        IToken char_literal324 = null;
        IToken char_literal325 = null;
        IToken char_literal326 = null;
        IToken char_literal327 = null;
        IToken char_literal328 = null;
        IToken char_literal329 = null;
        IToken char_literal330 = null;
        IToken string_literal331 = null;
        IToken string_literal332 = null;
        IToken string_literal333 = null;
        IToken string_literal334 = null;
        IToken string_literal335 = null;
        IToken char_literal336 = null;

        object el3_tree=null;
        object el2_tree=null;
        object el1_tree=null;
        object char_literal293_tree=null;
        object char_literal294_tree=null;
        object string_literal295_tree=null;
        object string_literal296_tree=null;
        object char_literal297_tree=null;
        object char_literal298_tree=null;
        object VARTYPE299_tree=null;
        object SCALEMODE300_tree=null;
        object STRINGTYPE301_tree=null;
        object ASSIGNMENT302_tree=null;
        object char_literal303_tree=null;
        object PLUS304_tree=null;
        object MULTIPLY305_tree=null;
        object string_literal306_tree=null;
        object string_literal307_tree=null;
        object string_literal308_tree=null;
        object string_literal309_tree=null;
        object string_literal310_tree=null;
        object string_literal311_tree=null;
        object char_literal312_tree=null;
        object char_literal313_tree=null;
        object char_literal314_tree=null;
        object char_literal315_tree=null;
        object string_literal316_tree=null;
        object string_literal317_tree=null;
        object string_literal318_tree=null;
        object string_literal319_tree=null;
        object char_literal320_tree=null;
        object char_literal321_tree=null;
        object char_literal322_tree=null;
        object char_literal323_tree=null;
        object char_literal324_tree=null;
        object char_literal325_tree=null;
        object char_literal326_tree=null;
        object char_literal327_tree=null;
        object char_literal328_tree=null;
        object char_literal329_tree=null;
        object char_literal330_tree=null;
        object string_literal331_tree=null;
        object string_literal332_tree=null;
        object string_literal333_tree=null;
        object string_literal334_tree=null;
        object string_literal335_tree=null;
        object char_literal336_tree=null;


         retval.ret = new StringElement();

        try 
    	{
            // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:483:2: ( ( '\"' (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' )* '\"' ) )
            // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:483:3: ( '\"' (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' )* '\"' )
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:483:3: ( '\"' (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' )* '\"' )
            	// C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:483:4: '\"' (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' )* '\"'
            	{
            		char_literal293=(IToken)Match(input,57,FOLLOW_57_in_string_literal2837); 
            			char_literal293_tree = (object)adaptor.Create(char_literal293);
            			adaptor.AddChild(root_0, char_literal293_tree);

            		// C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:484:2: (el3= VARIABLE | el2= INT_LITERAL | el1= DOUBLE_LITERAL | '.' | 'matrix' | 'vector' | '<' | '>' | VARTYPE | SCALEMODE | STRINGTYPE | ASSIGNMENT | '-' | PLUS | MULTIPLY | 'subPlot' | 'plot' | 'resetPlot' | 'setPlotAxis' | 'setAxisTitle' | 'setScaleMode' | '(' | ')' | '{' | '}' | '->' | '==' | '!=' | '<=' | '&' | '^' | '$' | '#' | '@' | ';' | '!' | '?' | '/' | ':' | ',' | '1D' | '2D' | '3D' | 'void' | 'struct' )*
            		do 
            		{
            		    int alt62 = 46;
            		    switch ( input.LA(1) ) 
            		    {
            		    case VARIABLE:
            		    	{
            		        alt62 = 1;
            		        }
            		        break;
            		    case INT_LITERAL:
            		    	{
            		        alt62 = 2;
            		        }
            		        break;
            		    case DOUBLE_LITERAL:
            		    	{
            		        alt62 = 3;
            		        }
            		        break;
            		    case DOT:
            		    	{
            		        alt62 = 4;
            		        }
            		        break;
            		    case 27:
            		    	{
            		        alt62 = 5;
            		        }
            		        break;
            		    case 31:
            		    	{
            		        alt62 = 6;
            		        }
            		        break;
            		    case LESSTHANEXPRESSION:
            		    	{
            		        alt62 = 7;
            		        }
            		        break;
            		    case GREATERTHANEXPRESSION:
            		    	{
            		        alt62 = 8;
            		        }
            		        break;
            		    case VARTYPE:
            		    	{
            		        alt62 = 9;
            		        }
            		        break;
            		    case SCALEMODE:
            		    	{
            		        alt62 = 10;
            		        }
            		        break;
            		    case STRINGTYPE:
            		    	{
            		        alt62 = 11;
            		        }
            		        break;
            		    case ASSIGNMENT:
            		    	{
            		        alt62 = 12;
            		        }
            		        break;
            		    case 32:
            		    	{
            		        alt62 = 13;
            		        }
            		        break;
            		    case PLUS:
            		    	{
            		        alt62 = 14;
            		        }
            		        break;
            		    case MULTIPLY:
            		    	{
            		        alt62 = 15;
            		        }
            		        break;
            		    case 46:
            		    	{
            		        alt62 = 16;
            		        }
            		        break;
            		    case 50:
            		    	{
            		        alt62 = 17;
            		        }
            		        break;
            		    case 51:
            		    	{
            		        alt62 = 18;
            		        }
            		        break;
            		    case 52:
            		    	{
            		        alt62 = 19;
            		        }
            		        break;
            		    case 53:
            		    	{
            		        alt62 = 20;
            		        }
            		        break;
            		    case 56:
            		    	{
            		        alt62 = 21;
            		        }
            		        break;
            		    case LEFTBRACE:
            		    	{
            		        alt62 = 22;
            		        }
            		        break;
            		    case RIGHTBRACE:
            		    	{
            		        alt62 = 23;
            		        }
            		        break;
            		    case LEFTPARANTHESIS:
            		    	{
            		        alt62 = 24;
            		        }
            		        break;
            		    case RIGHTPARANTHESIS:
            		    	{
            		        alt62 = 25;
            		        }
            		        break;
            		    case POINT:
            		    	{
            		        alt62 = 26;
            		        }
            		        break;
            		    case EQUALITYEXPRESSION:
            		    	{
            		        alt62 = 27;
            		        }
            		        break;
            		    case NONEQUALITYEXPRESSION:
            		    	{
            		        alt62 = 28;
            		        }
            		        break;
            		    case LESSTHANEQUALTOEXPRESSION:
            		    	{
            		        alt62 = 29;
            		        }
            		        break;
            		    case 58:
            		    	{
            		        alt62 = 30;
            		        }
            		        break;
            		    case 60:
            		    	{
            		        alt62 = 31;
            		        }
            		        break;
            		    case 61:
            		    	{
            		        alt62 = 32;
            		        }
            		        break;
            		    case 62:
            		    	{
            		        alt62 = 33;
            		        }
            		        break;
            		    case 63:
            		    	{
            		        alt62 = 34;
            		        }
            		        break;
            		    case END_OF_STATEMENT:
            		    	{
            		        alt62 = 35;
            		        }
            		        break;
            		    case 64:
            		    	{
            		        alt62 = 36;
            		        }
            		        break;
            		    case 65:
            		    	{
            		        alt62 = 37;
            		        }
            		        break;
            		    case 66:
            		    	{
            		        alt62 = 38;
            		        }
            		        break;
            		    case 59:
            		    	{
            		        alt62 = 39;
            		        }
            		        break;
            		    case 30:
            		    	{
            		        alt62 = 40;
            		        }
            		        break;
            		    case 47:
            		    	{
            		        alt62 = 41;
            		        }
            		        break;
            		    case 48:
            		    	{
            		        alt62 = 42;
            		        }
            		        break;
            		    case 49:
            		    	{
            		        alt62 = 43;
            		        }
            		        break;
            		    case 42:
            		    	{
            		        alt62 = 44;
            		        }
            		        break;
            		    case 33:
            		    	{
            		        alt62 = 45;
            		        }
            		        break;

            		    }

            		    switch (alt62) 
            			{
            				case 1 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:484:3: el3= VARIABLE
            				    {
            				    	el3=(IToken)Match(input,VARIABLE,FOLLOW_VARIABLE_in_string_literal2843); 
            				    		el3_tree = (object)adaptor.Create(el3);
            				    		adaptor.AddChild(root_0, el3_tree);

            				    	retval.ret.setText(((el3 != null) ? el3.Text : null));

            				    }
            				    break;
            				case 2 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:485:3: el2= INT_LITERAL
            				    {
            				    	el2=(IToken)Match(input,INT_LITERAL,FOLLOW_INT_LITERAL_in_string_literal2850); 
            				    		el2_tree = (object)adaptor.Create(el2);
            				    		adaptor.AddChild(root_0, el2_tree);

            				    	retval.ret.setText(((el2 != null) ? el2.Text : null));

            				    }
            				    break;
            				case 3 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:486:3: el1= DOUBLE_LITERAL
            				    {
            				    	el1=(IToken)Match(input,DOUBLE_LITERAL,FOLLOW_DOUBLE_LITERAL_in_string_literal2857); 
            				    		el1_tree = (object)adaptor.Create(el1);
            				    		adaptor.AddChild(root_0, el1_tree);

            				    	retval.ret.setText(((el1 != null) ? el1.Text : null));

            				    }
            				    break;
            				case 4 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:487:3: '.'
            				    {
            				    	char_literal294=(IToken)Match(input,DOT,FOLLOW_DOT_in_string_literal2862); 
            				    		char_literal294_tree = (object)adaptor.Create(char_literal294);
            				    		adaptor.AddChild(root_0, char_literal294_tree);

            				    	retval.ret.setText(".");

            				    }
            				    break;
            				case 5 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:488:3: 'matrix'
            				    {
            				    	string_literal295=(IToken)Match(input,27,FOLLOW_27_in_string_literal2867); 
            				    		string_literal295_tree = (object)adaptor.Create(string_literal295);
            				    		adaptor.AddChild(root_0, string_literal295_tree);

            				    	retval.ret.setText("matrix");

            				    }
            				    break;
            				case 6 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:489:3: 'vector'
            				    {
            				    	string_literal296=(IToken)Match(input,31,FOLLOW_31_in_string_literal2872); 
            				    		string_literal296_tree = (object)adaptor.Create(string_literal296);
            				    		adaptor.AddChild(root_0, string_literal296_tree);

            				    	retval.ret.setText("vector");

            				    }
            				    break;
            				case 7 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:490:3: '<'
            				    {
            				    	char_literal297=(IToken)Match(input,LESSTHANEXPRESSION,FOLLOW_LESSTHANEXPRESSION_in_string_literal2877); 
            				    		char_literal297_tree = (object)adaptor.Create(char_literal297);
            				    		adaptor.AddChild(root_0, char_literal297_tree);

            				    	retval.ret.setText("<");

            				    }
            				    break;
            				case 8 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:491:3: '>'
            				    {
            				    	char_literal298=(IToken)Match(input,GREATERTHANEXPRESSION,FOLLOW_GREATERTHANEXPRESSION_in_string_literal2882); 
            				    		char_literal298_tree = (object)adaptor.Create(char_literal298);
            				    		adaptor.AddChild(root_0, char_literal298_tree);

            				    	retval.ret.setText(">");

            				    }
            				    break;
            				case 9 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:492:3: VARTYPE
            				    {
            				    	VARTYPE299=(IToken)Match(input,VARTYPE,FOLLOW_VARTYPE_in_string_literal2887); 
            				    		VARTYPE299_tree = (object)adaptor.Create(VARTYPE299);
            				    		adaptor.AddChild(root_0, VARTYPE299_tree);

            				    	retval.ret.setText(((VARTYPE299 != null) ? VARTYPE299.Text : null));

            				    }
            				    break;
            				case 10 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:493:3: SCALEMODE
            				    {
            				    	SCALEMODE300=(IToken)Match(input,SCALEMODE,FOLLOW_SCALEMODE_in_string_literal2892); 
            				    		SCALEMODE300_tree = (object)adaptor.Create(SCALEMODE300);
            				    		adaptor.AddChild(root_0, SCALEMODE300_tree);

            				    	retval.ret.setText(((SCALEMODE300 != null) ? SCALEMODE300.Text : null));

            				    }
            				    break;
            				case 11 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:494:3: STRINGTYPE
            				    {
            				    	STRINGTYPE301=(IToken)Match(input,STRINGTYPE,FOLLOW_STRINGTYPE_in_string_literal2897); 
            				    		STRINGTYPE301_tree = (object)adaptor.Create(STRINGTYPE301);
            				    		adaptor.AddChild(root_0, STRINGTYPE301_tree);

            				    	retval.ret.setText(((STRINGTYPE301 != null) ? STRINGTYPE301.Text : null));

            				    }
            				    break;
            				case 12 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:495:3: ASSIGNMENT
            				    {
            				    	ASSIGNMENT302=(IToken)Match(input,ASSIGNMENT,FOLLOW_ASSIGNMENT_in_string_literal2902); 
            				    		ASSIGNMENT302_tree = (object)adaptor.Create(ASSIGNMENT302);
            				    		adaptor.AddChild(root_0, ASSIGNMENT302_tree);

            				    	retval.ret.setText(((ASSIGNMENT302 != null) ? ASSIGNMENT302.Text : null));

            				    }
            				    break;
            				case 13 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:496:3: '-'
            				    {
            				    	char_literal303=(IToken)Match(input,32,FOLLOW_32_in_string_literal2907); 
            				    		char_literal303_tree = (object)adaptor.Create(char_literal303);
            				    		adaptor.AddChild(root_0, char_literal303_tree);

            				    	retval.ret.setText("-");

            				    }
            				    break;
            				case 14 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:497:3: PLUS
            				    {
            				    	PLUS304=(IToken)Match(input,PLUS,FOLLOW_PLUS_in_string_literal2912); 
            				    		PLUS304_tree = (object)adaptor.Create(PLUS304);
            				    		adaptor.AddChild(root_0, PLUS304_tree);

            				    	retval.ret.setText(((PLUS304 != null) ? PLUS304.Text : null));

            				    }
            				    break;
            				case 15 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:498:3: MULTIPLY
            				    {
            				    	MULTIPLY305=(IToken)Match(input,MULTIPLY,FOLLOW_MULTIPLY_in_string_literal2917); 
            				    		MULTIPLY305_tree = (object)adaptor.Create(MULTIPLY305);
            				    		adaptor.AddChild(root_0, MULTIPLY305_tree);

            				    	retval.ret.setText(((MULTIPLY305 != null) ? MULTIPLY305.Text : null));

            				    }
            				    break;
            				case 16 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:499:3: 'subPlot'
            				    {
            				    	string_literal306=(IToken)Match(input,46,FOLLOW_46_in_string_literal2922); 
            				    		string_literal306_tree = (object)adaptor.Create(string_literal306);
            				    		adaptor.AddChild(root_0, string_literal306_tree);

            				    	retval.ret.setText("subPlot");

            				    }
            				    break;
            				case 17 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:500:2: 'plot'
            				    {
            				    	string_literal307=(IToken)Match(input,50,FOLLOW_50_in_string_literal2926); 
            				    		string_literal307_tree = (object)adaptor.Create(string_literal307);
            				    		adaptor.AddChild(root_0, string_literal307_tree);

            				    	retval.ret.setText("plot");

            				    }
            				    break;
            				case 18 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:501:2: 'resetPlot'
            				    {
            				    	string_literal308=(IToken)Match(input,51,FOLLOW_51_in_string_literal2930); 
            				    		string_literal308_tree = (object)adaptor.Create(string_literal308);
            				    		adaptor.AddChild(root_0, string_literal308_tree);

            				    	retval.ret.setText("resetPlot");

            				    }
            				    break;
            				case 19 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:502:2: 'setPlotAxis'
            				    {
            				    	string_literal309=(IToken)Match(input,52,FOLLOW_52_in_string_literal2934); 
            				    		string_literal309_tree = (object)adaptor.Create(string_literal309);
            				    		adaptor.AddChild(root_0, string_literal309_tree);

            				    	retval.ret.setText("setPlotAxis");

            				    }
            				    break;
            				case 20 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:503:2: 'setAxisTitle'
            				    {
            				    	string_literal310=(IToken)Match(input,53,FOLLOW_53_in_string_literal2938); 
            				    		string_literal310_tree = (object)adaptor.Create(string_literal310);
            				    		adaptor.AddChild(root_0, string_literal310_tree);

            				    	retval.ret.setText("setAxisTitle");

            				    }
            				    break;
            				case 21 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:504:2: 'setScaleMode'
            				    {
            				    	string_literal311=(IToken)Match(input,56,FOLLOW_56_in_string_literal2942); 
            				    		string_literal311_tree = (object)adaptor.Create(string_literal311);
            				    		adaptor.AddChild(root_0, string_literal311_tree);

            				    	retval.ret.setText("setScaleMode");

            				    }
            				    break;
            				case 22 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:505:3: '('
            				    {
            				    	char_literal312=(IToken)Match(input,LEFTBRACE,FOLLOW_LEFTBRACE_in_string_literal2947); 
            				    		char_literal312_tree = (object)adaptor.Create(char_literal312);
            				    		adaptor.AddChild(root_0, char_literal312_tree);

            				    	retval.ret.setText("(");

            				    }
            				    break;
            				case 23 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:506:3: ')'
            				    {
            				    	char_literal313=(IToken)Match(input,RIGHTBRACE,FOLLOW_RIGHTBRACE_in_string_literal2952); 
            				    		char_literal313_tree = (object)adaptor.Create(char_literal313);
            				    		adaptor.AddChild(root_0, char_literal313_tree);

            				    	retval.ret.setText(")");

            				    }
            				    break;
            				case 24 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:507:3: '{'
            				    {
            				    	char_literal314=(IToken)Match(input,LEFTPARANTHESIS,FOLLOW_LEFTPARANTHESIS_in_string_literal2957); 
            				    		char_literal314_tree = (object)adaptor.Create(char_literal314);
            				    		adaptor.AddChild(root_0, char_literal314_tree);

            				    	retval.ret.setText("{");

            				    }
            				    break;
            				case 25 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:508:3: '}'
            				    {
            				    	char_literal315=(IToken)Match(input,RIGHTPARANTHESIS,FOLLOW_RIGHTPARANTHESIS_in_string_literal2962); 
            				    		char_literal315_tree = (object)adaptor.Create(char_literal315);
            				    		adaptor.AddChild(root_0, char_literal315_tree);

            				    	retval.ret.setText("}");

            				    }
            				    break;
            				case 26 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:509:3: '->'
            				    {
            				    	string_literal316=(IToken)Match(input,POINT,FOLLOW_POINT_in_string_literal2967); 
            				    		string_literal316_tree = (object)adaptor.Create(string_literal316);
            				    		adaptor.AddChild(root_0, string_literal316_tree);

            				    	retval.ret.setText("->");

            				    }
            				    break;
            				case 27 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:510:3: '=='
            				    {
            				    	string_literal317=(IToken)Match(input,EQUALITYEXPRESSION,FOLLOW_EQUALITYEXPRESSION_in_string_literal2972); 
            				    		string_literal317_tree = (object)adaptor.Create(string_literal317);
            				    		adaptor.AddChild(root_0, string_literal317_tree);

            				    	retval.ret.setText("==");

            				    }
            				    break;
            				case 28 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:511:3: '!='
            				    {
            				    	string_literal318=(IToken)Match(input,NONEQUALITYEXPRESSION,FOLLOW_NONEQUALITYEXPRESSION_in_string_literal2977); 
            				    		string_literal318_tree = (object)adaptor.Create(string_literal318);
            				    		adaptor.AddChild(root_0, string_literal318_tree);

            				    	retval.ret.setText("!=");

            				    }
            				    break;
            				case 29 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:512:3: '<='
            				    {
            				    	string_literal319=(IToken)Match(input,LESSTHANEQUALTOEXPRESSION,FOLLOW_LESSTHANEQUALTOEXPRESSION_in_string_literal2982); 
            				    		string_literal319_tree = (object)adaptor.Create(string_literal319);
            				    		adaptor.AddChild(root_0, string_literal319_tree);

            				    	retval.ret.setText("<=");

            				    }
            				    break;
            				case 30 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:513:4: '&'
            				    {
            				    	char_literal320=(IToken)Match(input,58,FOLLOW_58_in_string_literal2988); 
            				    		char_literal320_tree = (object)adaptor.Create(char_literal320);
            				    		adaptor.AddChild(root_0, char_literal320_tree);

            				    	retval.ret.setText("&");

            				    }
            				    break;
            				case 31 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:515:5: '^'
            				    {
            				    	char_literal321=(IToken)Match(input,60,FOLLOW_60_in_string_literal2999); 
            				    		char_literal321_tree = (object)adaptor.Create(char_literal321);
            				    		adaptor.AddChild(root_0, char_literal321_tree);

            				    	retval.ret.setText("^");

            				    }
            				    break;
            				case 32 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:516:5: '$'
            				    {
            				    	char_literal322=(IToken)Match(input,61,FOLLOW_61_in_string_literal3006); 
            				    		char_literal322_tree = (object)adaptor.Create(char_literal322);
            				    		adaptor.AddChild(root_0, char_literal322_tree);

            				    	retval.ret.setText("$");

            				    }
            				    break;
            				case 33 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:517:5: '#'
            				    {
            				    	char_literal323=(IToken)Match(input,62,FOLLOW_62_in_string_literal3013); 
            				    		char_literal323_tree = (object)adaptor.Create(char_literal323);
            				    		adaptor.AddChild(root_0, char_literal323_tree);

            				    	retval.ret.setText("#");

            				    }
            				    break;
            				case 34 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:518:5: '@'
            				    {
            				    	char_literal324=(IToken)Match(input,63,FOLLOW_63_in_string_literal3020); 
            				    		char_literal324_tree = (object)adaptor.Create(char_literal324);
            				    		adaptor.AddChild(root_0, char_literal324_tree);

            				    	retval.ret.setText("@");

            				    }
            				    break;
            				case 35 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:519:5: ';'
            				    {
            				    	char_literal325=(IToken)Match(input,END_OF_STATEMENT,FOLLOW_END_OF_STATEMENT_in_string_literal3027); 
            				    		char_literal325_tree = (object)adaptor.Create(char_literal325);
            				    		adaptor.AddChild(root_0, char_literal325_tree);

            				    	retval.ret.setText(";");

            				    }
            				    break;
            				case 36 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:520:5: '!'
            				    {
            				    	char_literal326=(IToken)Match(input,64,FOLLOW_64_in_string_literal3034); 
            				    		char_literal326_tree = (object)adaptor.Create(char_literal326);
            				    		adaptor.AddChild(root_0, char_literal326_tree);

            				    	retval.ret.setText("!");

            				    }
            				    break;
            				case 37 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:521:6: '?'
            				    {
            				    	char_literal327=(IToken)Match(input,65,FOLLOW_65_in_string_literal3042); 
            				    		char_literal327_tree = (object)adaptor.Create(char_literal327);
            				    		adaptor.AddChild(root_0, char_literal327_tree);

            				    	retval.ret.setText("?");

            				    }
            				    break;
            				case 38 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:522:7: '/'
            				    {
            				    	char_literal328=(IToken)Match(input,66,FOLLOW_66_in_string_literal3051); 
            				    		char_literal328_tree = (object)adaptor.Create(char_literal328);
            				    		adaptor.AddChild(root_0, char_literal328_tree);

            				    	retval.ret.setText("/");

            				    }
            				    break;
            				case 39 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:523:10: ':'
            				    {
            				    	char_literal329=(IToken)Match(input,59,FOLLOW_59_in_string_literal3063); 
            				    		char_literal329_tree = (object)adaptor.Create(char_literal329);
            				    		adaptor.AddChild(root_0, char_literal329_tree);

            				    	retval.ret.setText(":");

            				    }
            				    break;
            				case 40 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:524:12: ','
            				    {
            				    	char_literal330=(IToken)Match(input,30,FOLLOW_30_in_string_literal3077); 
            				    		char_literal330_tree = (object)adaptor.Create(char_literal330);
            				    		adaptor.AddChild(root_0, char_literal330_tree);

            				    	retval.ret.setText(",");

            				    }
            				    break;
            				case 41 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:525:14: '1D'
            				    {
            				    	string_literal331=(IToken)Match(input,47,FOLLOW_47_in_string_literal3093); 
            				    		string_literal331_tree = (object)adaptor.Create(string_literal331);
            				    		adaptor.AddChild(root_0, string_literal331_tree);

            				    	retval.ret.setText("1D");

            				    }
            				    break;
            				case 42 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:526:16: '2D'
            				    {
            				    	string_literal332=(IToken)Match(input,48,FOLLOW_48_in_string_literal3111); 
            				    		string_literal332_tree = (object)adaptor.Create(string_literal332);
            				    		adaptor.AddChild(root_0, string_literal332_tree);

            				    	retval.ret.setText("2D");

            				    }
            				    break;
            				case 43 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:527:18: '3D'
            				    {
            				    	string_literal333=(IToken)Match(input,49,FOLLOW_49_in_string_literal3131); 
            				    		string_literal333_tree = (object)adaptor.Create(string_literal333);
            				    		adaptor.AddChild(root_0, string_literal333_tree);

            				    	retval.ret.setText("3D");

            				    }
            				    break;
            				case 44 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:528:11: 'void'
            				    {
            				    	string_literal334=(IToken)Match(input,42,FOLLOW_42_in_string_literal3144); 
            				    		string_literal334_tree = (object)adaptor.Create(string_literal334);
            				    		adaptor.AddChild(root_0, string_literal334_tree);

            				    	retval.ret.setText("void");

            				    }
            				    break;
            				case 45 :
            				    // C:\\Users\\Jegan\\Desktop\\SpinachLatestVersion\\Spinach\\InterpreterFrontEnd\\spinach.g:529:9: 'struct'
            				    {
            				    	string_literal335=(IToken)Match(input,33,FOLLOW_33_in_string_literal3155); 
            				    		string_literal335_tree = (object)adaptor.Create(string_literal335);
            				    		adaptor.AddChild(root_0, string_literal335_tree);

            				    	retval.ret.setText("struct");

            				    }
            				    break;

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

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

            		char_literal336=(IToken)Match(input,57,FOLLOW_57_in_string_literal3165); 
            			char_literal336_tree = (object)adaptor.Create(char_literal336);
            			adaptor.AddChild(root_0, char_literal336_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;
    }