Inheritance: Antlr.Runtime.ParserRuleReturnScope
示例#1
0
    // $ANTLR start "structassign"
    // Interp.g:116:1: structassign returns [StructAssignDeclaration ret] : (el1= variable '.' el2= variable ) ;
    public InterpParser.structassign_return structassign() // throws RecognitionException [1]
    {   
        InterpParser.structassign_return retval = new InterpParser.structassign_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken char_literal35 = null;
        InterpParser.variable_return el1 = null;

        InterpParser.variable_return el2 = null;


        object char_literal35_tree=null;


        	retval.ret = new StructAssignDeclaration();
        	
        try 
    	{
            // Interp.g:120:2: ( (el1= variable '.' el2= variable ) )
            // Interp.g:120:3: (el1= variable '.' el2= variable )
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// Interp.g:120:3: (el1= variable '.' el2= variable )
            	// Interp.g:120:4: el1= variable '.' el2= variable
            	{
            		PushFollow(FOLLOW_variable_in_structassign559);
            		el1 = variable();
            		state.followingStackPointer--;

            		adaptor.AddChild(root_0, el1.Tree);
            		retval.ret.setName(((el1 != null) ? el1.ret : null));
            		char_literal35=(IToken)Match(input,19,FOLLOW_19_in_structassign562); 
            			char_literal35_tree = (object)adaptor.Create(char_literal35);
            			adaptor.AddChild(root_0, char_literal35_tree);

            		PushFollow(FOLLOW_variable_in_structassign565);
            		el2 = variable();
            		state.followingStackPointer--;

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

            	}


            }

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

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

        }
        finally 
    	{
        }
        return retval;
    }
示例#2
0
    // $ANTLR start "structassign"
    // C:\\Documents and Settings\\Administrator\\Desktop\\SPINA\\Interp_CSharp\\Interp_CSharp\\Interp.g:109:1: structassign returns [StructAssignDeclaration ret] : (el1= variable '.' el2= variable ) ;
    public InterpParser.structassign_return structassign() // throws RecognitionException [1]
    {   
        InterpParser.structassign_return retval = new InterpParser.structassign_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken char_literal33 = null;
        InterpParser.variable_return el1 = null;

        InterpParser.variable_return el2 = null;


        object char_literal33_tree=null;


        	retval.ret = new StructAssignDeclaration();
        	
        try {
        	dbg.EnterRule(GrammarFileName, "structassign");
        	if ( RuleLevel==0 ) {dbg.Commence();}
        	IncRuleLevel();
        	dbg.Location(109, 1);

        try 
    	{
            // C:\\Documents and Settings\\Administrator\\Desktop\\SPINA\\Interp_CSharp\\Interp_CSharp\\Interp.g:113:2: ( (el1= variable '.' el2= variable ) )
            dbg.EnterAlt(1);

            // C:\\Documents and Settings\\Administrator\\Desktop\\SPINA\\Interp_CSharp\\Interp_CSharp\\Interp.g:113:3: (el1= variable '.' el2= variable )
            {
            	root_0 = (object)adaptor.GetNilNode();

            	dbg.Location(113,3);
            	// C:\\Documents and Settings\\Administrator\\Desktop\\SPINA\\Interp_CSharp\\Interp_CSharp\\Interp.g:113:3: (el1= variable '.' el2= variable )
            	dbg.EnterAlt(1);

            	// C:\\Documents and Settings\\Administrator\\Desktop\\SPINA\\Interp_CSharp\\Interp_CSharp\\Interp.g:113:4: el1= variable '.' el2= variable
            	{
            		dbg.Location(113,7);
            		PushFollow(FOLLOW_variable_in_structassign536);
            		el1 = variable();
            		state.followingStackPointer--;

            		adaptor.AddChild(root_0, el1.Tree);
            		dbg.Location(113,17);
            		retval.ret.setName(((el1 != null) ? el1.ret : null));
            		dbg.Location(113,48);
            		char_literal33=(IToken)Match(input,19,FOLLOW_19_in_structassign539); 
            			char_literal33_tree = (object)adaptor.Create(char_literal33);
            			adaptor.AddChild(root_0, char_literal33_tree);

            		dbg.Location(113,54);
            		PushFollow(FOLLOW_variable_in_structassign542);
            		el2 = variable();
            		state.followingStackPointer--;

            		adaptor.AddChild(root_0, el2.Tree);
            		dbg.Location(113,64);
            		retval.ret.setObj(((el2 != null) ? el2.ret : null));

            	}


            }

            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 
    	{
        }
        dbg.Location(113, 95);

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

        return retval;
    }