// $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; }
// $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; }