Пример #1
0
    // $ANTLR start "keyword"
    // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:215:1: keyword : ( ADD | ALTER | AND | AS | ASC | BEGIN | BETWEEN | BY | CASCADE | CASE | CAST | CHECK | COLLATE | COLUMN | COMMIT | CONFLICT | CONSTRAINT | CREATE | CROSS | CURRENT_TIME | CURRENT_DATE | CURRENT_TIMESTAMP | UTC_TIMESTAMP | DATABASE | DEFAULT | DELETE | DESC | DISTINCT | DROP | ELSE | END | ESCAPE | EXCEPT | EXCLUSIVE | EXISTS | EXPLAIN | FOR | FOREIGN | FROM | GROUP | HAVING | IF | IN | INDEX | INNER | INSERT | INTERSECT | INTO | IS | JOIN | KEY | LEFT | LIKE | NOT | NULL | OF | ON | OR | ORDER | OUTER | PRIMARY | REFERENCES | ROLLBACK | SELECT | SET | TABLE | TEMPORARY | TEMP | THEN | TO | TRANSACTION | TRIGGER | UNION | UNIQUE | UPDATE | VALUES | VIEW | WHEN | WHERE | WITH | PARSER | XOR );
    public SqlServerParser.keyword_return keyword() // throws RecognitionException [1]
    {
        SqlServerParser.keyword_return retval = new SqlServerParser.keyword_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken set17 = null;

        object set17_tree = null;

        try
        {
            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:215:9: ( ADD | ALTER | AND | AS | ASC | BEGIN | BETWEEN | BY | CASCADE | CASE | CAST | CHECK | COLLATE | COLUMN | COMMIT | CONFLICT | CONSTRAINT | CREATE | CROSS | CURRENT_TIME | CURRENT_DATE | CURRENT_TIMESTAMP | UTC_TIMESTAMP | DATABASE | DEFAULT | DELETE | DESC | DISTINCT | DROP | ELSE | END | ESCAPE | EXCEPT | EXCLUSIVE | EXISTS | EXPLAIN | FOR | FOREIGN | FROM | GROUP | HAVING | IF | IN | INDEX | INNER | INSERT | INTERSECT | INTO | IS | JOIN | KEY | LEFT | LIKE | NOT | NULL | OF | ON | OR | ORDER | OUTER | PRIMARY | REFERENCES | ROLLBACK | SELECT | SET | TABLE | TEMPORARY | TEMP | THEN | TO | TRANSACTION | TRIGGER | UNION | UNIQUE | UPDATE | VALUES | VIEW | WHEN | WHERE | WITH | PARSER | XOR )
            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:
            {
                root_0 = (object)adaptor.GetNilNode();

                set17 = (IToken)input.LT(1);
                if ((input.LA(1) >= ADD && input.LA(1) <= XOR))
                {
                    input.Consume();
                    adaptor.AddChild(root_0, (object)adaptor.Create(set17));
                    state.errorRecovery = false;
                }
                else
                {
                    MismatchedSetException mse = new MismatchedSetException(null, input);
                    throw mse;
                }
            }

            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 "keyword"
    // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:215:1: keyword : ( ADD | ALTER | AND | AS | ASC | BEGIN | BETWEEN | BY | CASCADE | CASE | CAST | CHECK | COLLATE | COLUMN | COMMIT | CONFLICT | CONSTRAINT | CREATE | CROSS | CURRENT_TIME | CURRENT_DATE | CURRENT_TIMESTAMP | UTC_TIMESTAMP | DATABASE | DEFAULT | DELETE | DESC | DISTINCT | DROP | ELSE | END | ESCAPE | EXCEPT | EXCLUSIVE | EXISTS | EXPLAIN | FOR | FOREIGN | FROM | GROUP | HAVING | IF | IN | INDEX | INNER | INSERT | INTERSECT | INTO | IS | JOIN | KEY | LEFT | LIKE | NOT | NULL | OF | ON | OR | ORDER | OUTER | PRIMARY | REFERENCES | ROLLBACK | SELECT | SET | TABLE | TEMPORARY | TEMP | THEN | TO | TRANSACTION | TRIGGER | UNION | UNIQUE | UPDATE | VALUES | VIEW | WHEN | WHERE | WITH | PARSER | XOR );
    public SqlServerParser.keyword_return keyword() // throws RecognitionException [1]
    {   
        SqlServerParser.keyword_return retval = new SqlServerParser.keyword_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken set17 = null;

        object set17_tree=null;

        try 
    	{
            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:215:9: ( ADD | ALTER | AND | AS | ASC | BEGIN | BETWEEN | BY | CASCADE | CASE | CAST | CHECK | COLLATE | COLUMN | COMMIT | CONFLICT | CONSTRAINT | CREATE | CROSS | CURRENT_TIME | CURRENT_DATE | CURRENT_TIMESTAMP | UTC_TIMESTAMP | DATABASE | DEFAULT | DELETE | DESC | DISTINCT | DROP | ELSE | END | ESCAPE | EXCEPT | EXCLUSIVE | EXISTS | EXPLAIN | FOR | FOREIGN | FROM | GROUP | HAVING | IF | IN | INDEX | INNER | INSERT | INTERSECT | INTO | IS | JOIN | KEY | LEFT | LIKE | NOT | NULL | OF | ON | OR | ORDER | OUTER | PRIMARY | REFERENCES | ROLLBACK | SELECT | SET | TABLE | TEMPORARY | TEMP | THEN | TO | TRANSACTION | TRIGGER | UNION | UNIQUE | UPDATE | VALUES | VIEW | WHEN | WHERE | WITH | PARSER | XOR )
            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:
            {
            	root_0 = (object)adaptor.GetNilNode();

            	set17 = (IToken)input.LT(1);
            	if ( (input.LA(1) >= ADD && input.LA(1) <= XOR) ) 
            	{
            	    input.Consume();
            	    adaptor.AddChild(root_0, (object)adaptor.Create(set17));
            	    state.errorRecovery = false;
            	}
            	else 
            	{
            	    MismatchedSetException mse = new MismatchedSetException(null,input);
            	    throw mse;
            	}


            }

            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;
    }
Пример #3
0
    // $ANTLR start "find_dep_item"
    // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:15:1: find_dep_item[DepsCollector dc] : ( keyword | operator_no_dot | T_NSTRING | T_STRING | T_INTEGER | T_FLOAT | T_BINARYNUM | T_BLOB | name1= id ( DOT ( DOT )? (name2= id | ASTERISK ) )* );
    public SqlServerParser.find_dep_item_return find_dep_item(DepsCollector dc) // throws RecognitionException [1]
    {
        SqlServerParser.find_dep_item_return retval = new SqlServerParser.find_dep_item_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken T_NSTRING4   = null;
        IToken T_STRING5    = null;
        IToken T_INTEGER6   = null;
        IToken T_FLOAT7     = null;
        IToken T_BINARYNUM8 = null;
        IToken T_BLOB9      = null;
        IToken DOT10        = null;
        IToken DOT11        = null;
        IToken ASTERISK12   = null;

        SqlServerParser.id_return name1 = default(SqlServerParser.id_return);

        SqlServerParser.id_return name2 = default(SqlServerParser.id_return);

        SqlServerParser.keyword_return keyword2 = default(SqlServerParser.keyword_return);

        SqlServerParser.operator_no_dot_return operator_no_dot3 = default(SqlServerParser.operator_no_dot_return);


        object T_NSTRING4_tree   = null;
        object T_STRING5_tree    = null;
        object T_INTEGER6_tree   = null;
        object T_FLOAT7_tree     = null;
        object T_BINARYNUM8_tree = null;
        object T_BLOB9_tree      = null;
        object DOT10_tree        = null;
        object DOT11_tree        = null;
        object ASTERISK12_tree   = null;

        try
        {
            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:16:5: ( keyword | operator_no_dot | T_NSTRING | T_STRING | T_INTEGER | T_FLOAT | T_BINARYNUM | T_BLOB | name1= id ( DOT ( DOT )? (name2= id | ASTERISK ) )* )
            int alt5 = 9;
            switch (input.LA(1))
            {
            case ADD:
            case ALTER:
            case AND:
            case AS:
            case ASC:
            case BEGIN:
            case BETWEEN:
            case BY:
            case CASCADE:
            case CASE:
            case CAST:
            case CHECK:
            case COLLATE:
            case COLUMN:
            case COMMIT:
            case CONFLICT:
            case CONSTRAINT:
            case CREATE:
            case CROSS:
            case CURRENT_TIME:
            case CURRENT_DATE:
            case CURRENT_TIMESTAMP:
            case UTC_TIMESTAMP:
            case DATABASE:
            case DEFAULT:
            case DELETE:
            case DESC:
            case DISTINCT:
            case DROP:
            case ELSE:
            case END:
            case ESCAPE:
            case EXCEPT:
            case EXCLUSIVE:
            case EXISTS:
            case EXPLAIN:
            case FOR:
            case FOREIGN:
            case FROM:
            case GROUP:
            case HAVING:
            case IF:
            case IN:
            case INDEX:
            case INNER:
            case INSERT:
            case INTERSECT:
            case INTO:
            case IS:
            case JOIN:
            case KEY:
            case LEFT:
            case LIKE:
            case NOT:
            case NULL:
            case OF:
            case ON:
            case OR:
            case ORDER:
            case OUTER:
            case PRIMARY:
            case REFERENCES:
            case ROLLBACK:
            case SELECT:
            case SET:
            case TABLE:
            case TEMPORARY:
            case TEMP:
            case THEN:
            case TO:
            case TRANSACTION:
            case TRIGGER:
            case UNION:
            case UNIQUE:
            case UPDATE:
            case VALUES:
            case VIEW:
            case WHEN:
            case WHERE:
            case WITH:
            case PARSER:
            case XOR:
            {
                alt5 = 1;
            }
            break;

            case ASTERISK:
            case EQUALS:
            case SAFEEQUALS:
            case EQUALS2:
            case NOT_EQUALS:
            case NOT_EQUALS2:
            case LESS:
            case LESS_OR_EQ:
            case GREATER:
            case GREATER_OR_EQ:
            case SHIFT_LEFT:
            case SHIFT_RIGHT:
            case AMPERSAND:
            case DOUBLE_AMPERSAND:
            case PIPE:
            case DOUBLE_PIPE:
            case PLUS:
            case MINUS:
            case TILDA:
            case SLASH:
            case PERCENT:
            case SEMI:
            case COMMA:
            case LPAREN:
            case RPAREN:
            case QUESTION:
            case EXCLAMATION:
            case COLON:
            case AT:
            case DOLLAR:
            case ARROW_UP:
            {
                alt5 = 2;
            }
            break;

            case T_NSTRING:
            {
                alt5 = 3;
            }
            break;

            case T_STRING:
            {
                alt5 = 4;
            }
            break;

            case T_INTEGER:
            {
                alt5 = 5;
            }
            break;

            case T_FLOAT:
            {
                alt5 = 6;
            }
            break;

            case T_BINARYNUM:
            {
                alt5 = 7;
            }
            break;

            case T_BLOB:
            {
                alt5 = 8;
            }
            break;

            case T_IDENT:
            case T_QUOTED_IDENT:
            {
                alt5 = 9;
            }
            break;

            default:
                NoViableAltException nvae_d5s0 =
                    new NoViableAltException("", 5, 0, input);

                throw nvae_d5s0;
            }

            switch (alt5)
            {
            case 1:
                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:16:7: keyword
            {
                root_0 = (object)adaptor.GetNilNode();

                PushFollow(FOLLOW_keyword_in_find_dep_item52);
                keyword2 = keyword();
                state.followingStackPointer--;

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

            case 2:
                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:16:17: operator_no_dot
            {
                root_0 = (object)adaptor.GetNilNode();

                PushFollow(FOLLOW_operator_no_dot_in_find_dep_item56);
                operator_no_dot3 = operator_no_dot();
                state.followingStackPointer--;

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

            case 3:
                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:16:35: T_NSTRING
            {
                root_0 = (object)adaptor.GetNilNode();

                T_NSTRING4      = (IToken)Match(input, T_NSTRING, FOLLOW_T_NSTRING_in_find_dep_item60);
                T_NSTRING4_tree = (object)adaptor.Create(T_NSTRING4);
                adaptor.AddChild(root_0, T_NSTRING4_tree);
            }
            break;

            case 4:
                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:16:47: T_STRING
            {
                root_0 = (object)adaptor.GetNilNode();

                T_STRING5      = (IToken)Match(input, T_STRING, FOLLOW_T_STRING_in_find_dep_item64);
                T_STRING5_tree = (object)adaptor.Create(T_STRING5);
                adaptor.AddChild(root_0, T_STRING5_tree);
            }
            break;

            case 5:
                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:16:58: T_INTEGER
            {
                root_0 = (object)adaptor.GetNilNode();

                T_INTEGER6      = (IToken)Match(input, T_INTEGER, FOLLOW_T_INTEGER_in_find_dep_item68);
                T_INTEGER6_tree = (object)adaptor.Create(T_INTEGER6);
                adaptor.AddChild(root_0, T_INTEGER6_tree);
            }
            break;

            case 6:
                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:16:70: T_FLOAT
            {
                root_0 = (object)adaptor.GetNilNode();

                T_FLOAT7      = (IToken)Match(input, T_FLOAT, FOLLOW_T_FLOAT_in_find_dep_item72);
                T_FLOAT7_tree = (object)adaptor.Create(T_FLOAT7);
                adaptor.AddChild(root_0, T_FLOAT7_tree);
            }
            break;

            case 7:
                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:16:80: T_BINARYNUM
            {
                root_0 = (object)adaptor.GetNilNode();

                T_BINARYNUM8      = (IToken)Match(input, T_BINARYNUM, FOLLOW_T_BINARYNUM_in_find_dep_item76);
                T_BINARYNUM8_tree = (object)adaptor.Create(T_BINARYNUM8);
                adaptor.AddChild(root_0, T_BINARYNUM8_tree);
            }
            break;

            case 8:
                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:16:94: T_BLOB
            {
                root_0 = (object)adaptor.GetNilNode();

                T_BLOB9      = (IToken)Match(input, T_BLOB, FOLLOW_T_BLOB_in_find_dep_item80);
                T_BLOB9_tree = (object)adaptor.Create(T_BLOB9);
                adaptor.AddChild(root_0, T_BLOB9_tree);
            }
            break;

            case 9:
                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:17:9: name1= id ( DOT ( DOT )? (name2= id | ASTERISK ) )*
            {
                root_0 = (object)adaptor.GetNilNode();

                PushFollow(FOLLOW_id_in_find_dep_item94);
                name1 = id();
                state.followingStackPointer--;

                adaptor.AddChild(root_0, name1.Tree);
                var name = new DepsName(); name.AddComponent(UnquoteName(((name1 != null) ? input.ToString((IToken)(name1.Start), (IToken)(name1.Stop)) : null)));
                // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:18:9: ( DOT ( DOT )? (name2= id | ASTERISK ) )*
                do
                {
                    int alt4  = 2;
                    int LA4_0 = input.LA(1);

                    if ((LA4_0 == DOT))
                    {
                        alt4 = 1;
                    }


                    switch (alt4)
                    {
                    case 1:
                        // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:18:10: DOT ( DOT )? (name2= id | ASTERISK )
                    {
                        DOT10      = (IToken)Match(input, DOT, FOLLOW_DOT_in_find_dep_item107);
                        DOT10_tree = (object)adaptor.Create(DOT10);
                        adaptor.AddChild(root_0, DOT10_tree);

                        // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:18:14: ( DOT )?
                        int alt2  = 2;
                        int LA2_0 = input.LA(1);

                        if ((LA2_0 == DOT))
                        {
                            alt2 = 1;
                        }
                        switch (alt2)
                        {
                        case 1:
                            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:18:14: DOT
                        {
                            DOT11      = (IToken)Match(input, DOT, FOLLOW_DOT_in_find_dep_item109);
                            DOT11_tree = (object)adaptor.Create(DOT11);
                            adaptor.AddChild(root_0, DOT11_tree);
                        }
                        break;
                        }

                        // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:18:19: (name2= id | ASTERISK )
                        int alt3  = 2;
                        int LA3_0 = input.LA(1);

                        if (((LA3_0 >= T_IDENT && LA3_0 <= T_QUOTED_IDENT)))
                        {
                            alt3 = 1;
                        }
                        else if ((LA3_0 == ASTERISK))
                        {
                            alt3 = 2;
                        }
                        else
                        {
                            NoViableAltException nvae_d3s0 =
                                new NoViableAltException("", 3, 0, input);

                            throw nvae_d3s0;
                        }
                        switch (alt3)
                        {
                        case 1:
                            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:18:20: name2= id
                        {
                            PushFollow(FOLLOW_id_in_find_dep_item115);
                            name2 = id();
                            state.followingStackPointer--;

                            adaptor.AddChild(root_0, name2.Tree);
                            name.AddComponent(UnquoteName(((name2 != null) ? input.ToString((IToken)(name2.Start), (IToken)(name2.Stop)) : null)));
                        }
                        break;

                        case 2:
                            // ..\\DbShell.Driver.SqlServer\\antlr\\SqlServer.g:18:79: ASTERISK
                        {
                            ASTERISK12      = (IToken)Match(input, ASTERISK, FOLLOW_ASTERISK_in_find_dep_item121);
                            ASTERISK12_tree = (object)adaptor.Create(ASTERISK12);
                            adaptor.AddChild(root_0, ASTERISK12_tree);
                        }
                        break;
                        }
                    }
                    break;

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

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

                dc.AddName(name);
            }
            break;
            }
            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);
    }