예제 #1
0
    // $ANTLR start "find_deps"
    // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:13:1: find_deps[DepsCollector dc] : ( find_dep_item[dc] )* ;
    public SqlServerParser.find_deps_return find_deps(DepsCollector dc) // throws RecognitionException [1]
    {   
        SqlServerParser.find_deps_return retval = new SqlServerParser.find_deps_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        SqlServerParser.find_dep_item_return find_dep_item1 = default(SqlServerParser.find_dep_item_return);



        try 
    	{
            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:14:5: ( ( find_dep_item[dc] )* )
            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:14:7: ( find_dep_item[dc] )*
            {
            	root_0 = (object)adaptor.GetNilNode();

            	// ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:14:7: ( find_dep_item[dc] )*
            	do 
            	{
            	    int alt1 = 2;
            	    int LA1_0 = input.LA(1);

            	    if ( ((LA1_0 >= T_NSTRING && LA1_0 <= T_BLOB) || (LA1_0 >= ASTERISK && LA1_0 <= ARROW_UP) || (LA1_0 >= ADD && LA1_0 <= XOR)) )
            	    {
            	        alt1 = 1;
            	    }


            	    switch (alt1) 
            		{
            			case 1 :
            			    // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:14:7: find_dep_item[dc]
            			    {
            			    	PushFollow(FOLLOW_find_dep_item_in_find_deps38);
            			    	find_dep_item1 = find_dep_item(dc);
            			    	state.followingStackPointer--;

            			    	adaptor.AddChild(root_0, find_dep_item1.Tree);

            			    }
            			    break;

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

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


            }

            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 "find_deps"
    // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:13:1: find_deps[DepsCollector dc] : ( find_dep_item[dc] )* ;
    public SqlServerParser.find_deps_return find_deps(DepsCollector dc) // throws RecognitionException [1]
    {
        SqlServerParser.find_deps_return retval = new SqlServerParser.find_deps_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        SqlServerParser.find_dep_item_return find_dep_item1 = default(SqlServerParser.find_dep_item_return);



        try
        {
            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:14:5: ( ( find_dep_item[dc] )* )
            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:14:7: ( find_dep_item[dc] )*
            {
                root_0 = (object)adaptor.GetNilNode();

                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:14:7: ( find_dep_item[dc] )*
                do
                {
                    int alt1  = 2;
                    int LA1_0 = input.LA(1);

                    if (((LA1_0 >= T_NSTRING && LA1_0 <= T_BLOB) || (LA1_0 >= ASTERISK && LA1_0 <= ARROW_UP) || (LA1_0 >= ADD && LA1_0 <= XOR)))
                    {
                        alt1 = 1;
                    }


                    switch (alt1)
                    {
                    case 1:
                        // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:14:7: find_dep_item[dc]
                    {
                        PushFollow(FOLLOW_find_dep_item_in_find_deps38);
                        find_dep_item1 = find_dep_item(dc);
                        state.followingStackPointer--;

                        adaptor.AddChild(root_0, find_dep_item1.Tree);
                    }
                    break;

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

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

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