Ejemplo n.º 1
0
    // $ANTLR start "operator_no_dot"
    // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:60:1: operator_no_dot : ( EQUALS | SAFEEQUALS | EQUALS2 | NOT_EQUALS | NOT_EQUALS2 | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ | SHIFT_LEFT | SHIFT_RIGHT | AMPERSAND | DOUBLE_AMPERSAND | PIPE | DOUBLE_PIPE | PLUS | MINUS | TILDA | ASTERISK | SLASH | PERCENT | SEMI | COMMA | LPAREN | RPAREN | QUESTION | EXCLAMATION | COLON | AT | DOLLAR | ARROW_UP );
    public MSSQLParser.operator_no_dot_return operator_no_dot() // throws RecognitionException [1]
    {
        MSSQLParser.operator_no_dot_return retval = new MSSQLParser.operator_no_dot_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken set14 = null;

        object set14_tree = null;

        try
        {
            // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:60:17: ( EQUALS | SAFEEQUALS | EQUALS2 | NOT_EQUALS | NOT_EQUALS2 | LESS | LESS_OR_EQ | GREATER | GREATER_OR_EQ | SHIFT_LEFT | SHIFT_RIGHT | AMPERSAND | DOUBLE_AMPERSAND | PIPE | DOUBLE_PIPE | PLUS | MINUS | TILDA | ASTERISK | SLASH | PERCENT | SEMI | COMMA | LPAREN | RPAREN | QUESTION | EXCLAMATION | COLON | AT | DOLLAR | ARROW_UP )
            // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:
            {
                root_0 = (object)adaptor.GetNilNode();

                set14 = (IToken)input.LT(1);
                if (input.LA(1) == ASTERISK || (input.LA(1) >= EQUALS && input.LA(1) <= ARROW_UP))
                {
                    input.Consume();
                    adaptor.AddChild(root_0, (object)adaptor.Create(set14));
                    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);
    }
Ejemplo n.º 2
0
    // $ANTLR start "find_dep_item"
    // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:16: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 MSSQLParser.find_dep_item_return find_dep_item(DepsCollector dc) // throws RecognitionException [1]
    {
        MSSQLParser.find_dep_item_return retval = new MSSQLParser.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;

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

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

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

        MSSQLParser.operator_no_dot_return operator_no_dot3 = default(MSSQLParser.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
        {
            // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:17: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:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:17: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:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:17: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:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:17: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:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:17: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:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:17: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:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:17: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:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:17: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:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:17: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:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:18: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)));
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:19: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:
                        // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:19: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);

                        // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:19:14: ( DOT )?
                        int alt2  = 2;
                        int LA2_0 = input.LA(1);

                        if ((LA2_0 == DOT))
                        {
                            alt2 = 1;
                        }
                        switch (alt2)
                        {
                        case 1:
                            // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:19: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;
                        }

                        // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:19: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:
                            // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:19: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:
                            // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:19: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);
    }
Ejemplo n.º 3
0
    // $ANTLR start "any_operator"
    // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:67:1: any_operator : ( DOT | operator_no_dot );
    public MSSQLParser.any_operator_return any_operator() // throws RecognitionException [1]
    {
        MSSQLParser.any_operator_return retval = new MSSQLParser.any_operator_return();
        retval.Start = input.LT(1);

        object root_0 = null;

        IToken DOT15 = null;

        MSSQLParser.operator_no_dot_return operator_no_dot16 = default(MSSQLParser.operator_no_dot_return);


        object DOT15_tree = null;

        try
        {
            // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:67:13: ( DOT | operator_no_dot )
            int alt6  = 2;
            int LA6_0 = input.LA(1);

            if ((LA6_0 == DOT))
            {
                alt6 = 1;
            }
            else if ((LA6_0 == ASTERISK || (LA6_0 >= EQUALS && LA6_0 <= ARROW_UP)))
            {
                alt6 = 2;
            }
            else
            {
                NoViableAltException nvae_d6s0 =
                    new NoViableAltException("", 6, 0, input);

                throw nvae_d6s0;
            }
            switch (alt6)
            {
            case 1:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:67:15: DOT
            {
                root_0 = (object)adaptor.GetNilNode();

                DOT15      = (IToken)Match(input, DOT, FOLLOW_DOT_in_any_operator681);
                DOT15_tree = (object)adaptor.Create(DOT15);
                adaptor.AddChild(root_0, DOT15_tree);
            }
            break;

            case 2:
                // ..\\Plugin.mssql\\AntlrParser\\MSSQL.g:67:21: operator_no_dot
            {
                root_0 = (object)adaptor.GetNilNode();

                PushFollow(FOLLOW_operator_no_dot_in_any_operator685);
                operator_no_dot16 = operator_no_dot();
                state.followingStackPointer--;

                adaptor.AddChild(root_0, operator_no_dot16.Tree);
            }
            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);
    }