Inheritance: Antlr.Runtime.ParserRuleReturnScope
コード例 #1
0
ファイル: spinachParser.cs プロジェクト: shranjan/pinac
    // $ANTLR start "equality"
    // spinach.g:261:1: equality returns [EqualityOperationElement ret] : e11= variable EQUALITYEXPRESSION var_int_or_double_literal ;
    public spinachParser.equality_return equality() // throws RecognitionException [1]
    {   
        spinachParser.equality_return retval = new spinachParser.equality_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken EQUALITYEXPRESSION112 = null;
        spinachParser.variable_return e11 = null;

        spinachParser.var_int_or_double_literal_return var_int_or_double_literal113 = null;


        object EQUALITYEXPRESSION112_tree=null;


          retval.ret = new EqualityOperationElement();

        try 
    	{
            // spinach.g:267:1: (e11= variable EQUALITYEXPRESSION var_int_or_double_literal )
            // spinach.g:267:3: e11= variable EQUALITYEXPRESSION var_int_or_double_literal
            {
            	root_0 = (object)adaptor.GetNilNode();

            	PushFollow(FOLLOW_variable_in_equality1547);
            	e11 = variable();
            	state.followingStackPointer--;

            	adaptor.AddChild(root_0, e11.Tree);
            	retval.ret.setequalityLhs(((e11 != null) ? e11.ret : null)); 
            	EQUALITYEXPRESSION112=(IToken)Match(input,EQUALITYEXPRESSION,FOLLOW_EQUALITYEXPRESSION_in_equality1556); 
            		EQUALITYEXPRESSION112_tree = (object)adaptor.Create(EQUALITYEXPRESSION112);
            		adaptor.AddChild(root_0, EQUALITYEXPRESSION112_tree);

            	PushFollow(FOLLOW_var_int_or_double_literal_in_equality1566);
            	var_int_or_double_literal113 = var_int_or_double_literal();
            	state.followingStackPointer--;

            	adaptor.AddChild(root_0, var_int_or_double_literal113.Tree);
            	retval.ret.setequalityRhs(((var_int_or_double_literal113 != null) ? var_int_or_double_literal113.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
ファイル: spinachParser.cs プロジェクト: smanicka/pinac
    // throws RecognitionException [1]
    // $ANTLR start "equality"
    // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:197:1: equality returns [EqualityOperationElement ret] : variable EQUALITYEXPRESSION var_int_or_double_literal ;
    public spinachParser.equality_return equality()
    {
        spinachParser.equality_return retval = new spinachParser.equality_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken EQUALITYEXPRESSION102 = null;
        spinachParser.variable_return variable101 = null;

        spinachParser.var_int_or_double_literal_return var_int_or_double_literal103 = null;

        object EQUALITYEXPRESSION102_tree=null;

          retval.ret = new EqualityOperationElement();

        try
        {
            // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:203:1: ( variable EQUALITYEXPRESSION var_int_or_double_literal )
            // C:\\Users\\Jegan\\Documents\\MSCE\\FALL 09\\SoftwareStudio\\SPINACH-Srinivasan\\ConsoleApplication1\\ConsoleApplication1\\spinach.g:203:3: variable EQUALITYEXPRESSION var_int_or_double_literal
            {
                root_0 = (object)adaptor.GetNilNode();

                PushFollow(FOLLOW_variable_in_equality1110);
                variable101 = variable();
                state.followingStackPointer--;

                adaptor.AddChild(root_0, variable101.Tree);
                retval.ret.setequalityLhs(((variable101 != null) ? variable101.ret : null));
                EQUALITYEXPRESSION102=(IToken)Match(input,EQUALITYEXPRESSION,FOLLOW_EQUALITYEXPRESSION_in_equality1119);
                    EQUALITYEXPRESSION102_tree = (object)adaptor.Create(EQUALITYEXPRESSION102);
                    adaptor.AddChild(root_0, EQUALITYEXPRESSION102_tree);

                PushFollow(FOLLOW_var_int_or_double_literal_in_equality1129);
                var_int_or_double_literal103 = var_int_or_double_literal();
                state.followingStackPointer--;

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