feat: add generic and plsql basic parser file
This commit is contained in:
@ -23,7 +23,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
|
||||
lexer grammar MySQLLexer;
|
||||
lexer grammar SqlLexer;
|
||||
|
||||
channels { MYSQLCOMMENT, ERRORCHANNEL }
|
||||
|
@ -23,13 +23,15 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
|
||||
parser grammar MySQLParser;
|
||||
parser grammar SqlParser;
|
||||
|
||||
options { tokenVocab=MySQLLexer; }
|
||||
options { tokenVocab=SqlLexer; }
|
||||
|
||||
|
||||
// Top Level Description
|
||||
|
||||
program: statement EOF;
|
||||
|
||||
statement
|
||||
: sqlStatements? MINUSMINUS? EOF
|
||||
;
|
@ -1,4 +0,0 @@
|
||||
grammar helloSQL;
|
||||
r: 'hello' ID ;
|
||||
ID: [a-z]+ ;
|
||||
WS: [ \t\r\n]+ -> skip ;
|
1540
src/grammar/hive/HiveSql.g4
Normal file
1540
src/grammar/hive/HiveSql.g4
Normal file
File diff suppressed because it is too large
Load Diff
435
src/grammar/hive/HiveSqlLexer.g4
Normal file
435
src/grammar/hive/HiveSqlLexer.g4
Normal file
@ -0,0 +1,435 @@
|
||||
lexer grammar HiveSqlLexer;
|
||||
|
||||
// Lexer rules
|
||||
T_ACTION : A C T I O N ;
|
||||
T_ADD2 : A D D ;
|
||||
T_ALL : A L L ;
|
||||
T_ALLOCATE : A L L O C A T E ;
|
||||
T_ALTER : A L T E R ;
|
||||
T_AND : A N D ;
|
||||
T_ANSI_NULLS : A N S I '_' N U L L S ;
|
||||
T_ANSI_PADDING : A N S I '_' P A D D I N G ;
|
||||
T_AS : A S ;
|
||||
T_ASC : A S C ;
|
||||
T_ASSOCIATE : A S S O C I A T E ;
|
||||
T_AT : A T ;
|
||||
T_AUTO_INCREMENT : A U T O '_' I N C R E M E N T ;
|
||||
T_AVG : A V G ;
|
||||
T_BATCHSIZE : B A T C H S I Z E ;
|
||||
T_BEGIN : B E G I N ;
|
||||
T_BETWEEN : B E T W E E N ;
|
||||
T_BIGINT : B I G I N T ;
|
||||
T_BINARY_DOUBLE : B I N A R Y '_' D O U B L E ;
|
||||
T_BINARY_FLOAT : B I N A R Y '_' F L O A T ;
|
||||
T_BINARY_INTEGER : B I N A R Y '_' I N T E G E R ;
|
||||
T_BIT : B I T ;
|
||||
T_BODY : B O D Y ;
|
||||
T_BREAK : B R E A K ;
|
||||
T_BY : B Y ;
|
||||
T_BYTE : B Y T E ;
|
||||
T_CALL : C A L L ;
|
||||
T_CALLER : C A L L E R ;
|
||||
T_CASCADE : C A S C A D E ;
|
||||
T_CASE : C A S E ;
|
||||
T_CASESPECIFIC : C A S E S P E C I F I C ;
|
||||
T_CAST : C A S T ;
|
||||
T_CHAR : C H A R ;
|
||||
T_CHARACTER : C H A R A C T E R ;
|
||||
T_CHARSET : C H A R S E T ;
|
||||
T_CLIENT : C L I E N T ;
|
||||
T_CLOSE : C L O S E ;
|
||||
T_CLUSTERED : C L U S T E R E D;
|
||||
T_CMP : C M P ;
|
||||
T_COLLECT : C O L L E C T ;
|
||||
T_COLLECTION : C O L L E C T I O N ;
|
||||
T_COLUMN : C O L U M N ;
|
||||
T_COMMENT : C O M M E N T;
|
||||
T_CONSTANT : C O N S T A N T ;
|
||||
T_COMMIT : C O M M I T ;
|
||||
T_COMPRESS : C O M P R E S S ;
|
||||
T_CONCAT : C O N C A T;
|
||||
T_CONDITION : C O N D I T I O N ;
|
||||
T_CONSTRAINT : C O N S T R A I N T ;
|
||||
T_CONTINUE : C O N T I N U E ;
|
||||
T_COPY : C O P Y ;
|
||||
T_COUNT : C O U N T ;
|
||||
T_COUNT_BIG : C O U N T '_' B I G;
|
||||
T_CREATE : C R E A T E ;
|
||||
T_CREATION : C R E A T I O N ;
|
||||
T_CREATOR : C R E A T O R ;
|
||||
T_CS : C S;
|
||||
T_CURRENT : C U R R E N T ;
|
||||
T_CURRENT_SCHEMA : C U R R E N T '_' S C H E M A ;
|
||||
T_CURSOR : C U R S O R ;
|
||||
T_DATABASE : D A T A B A S E ;
|
||||
T_DATA : D A T A ;
|
||||
T_DATE : D A T E ;
|
||||
T_DATETIME : D A T E T I M E ;
|
||||
T_DAY : D A Y ;
|
||||
T_DAYS : D A Y S ;
|
||||
T_DEC : D E C ;
|
||||
T_DECIMAL : D E C I M A L ;
|
||||
T_DECLARE : D E C L A R E ;
|
||||
T_DEFAULT : D E F A U L T ;
|
||||
T_DEFERRED : D E F E R R E D ;
|
||||
T_DEFINED : D E F I N E D ;
|
||||
T_DEFINER : D E F I N E R ;
|
||||
T_DEFINITION : D E F I N I T I O N ;
|
||||
T_DELETE : D E L E T E ;
|
||||
T_DELIMITED : D E L I M I T E D ;
|
||||
T_DELIMITER : D E L I M I T E R ;
|
||||
T_DESC : D E S C ;
|
||||
T_DESCRIBE : D E S C R I B E ;
|
||||
T_DIAGNOSTICS : D I A G N O S T I C S ;
|
||||
T_DIR : D I R ;
|
||||
T_DIRECTORY : D I R E C T O R Y ;
|
||||
T_DISTINCT : D I S T I N C T ;
|
||||
T_DISTRIBUTE : D I S T R I B U T E ;
|
||||
T_DO : D O ;
|
||||
T_DOUBLE : D O U B L E ;
|
||||
T_DROP : D R O P ;
|
||||
T_DYNAMIC : D Y N A M I C ;
|
||||
T_ELSE : E L S E ;
|
||||
T_ELSEIF : E L S E I F ;
|
||||
T_ELSIF : E L S I F ;
|
||||
T_ENABLE : E N A B L E ;
|
||||
T_END : E N D ;
|
||||
T_ENGINE : E N G I N E ;
|
||||
T_ESCAPED : E S C A P E D ;
|
||||
T_EXCEPT : E X C E P T ;
|
||||
T_EXEC : E X E C ;
|
||||
T_EXECUTE : E X E C U T E ;
|
||||
T_EXCEPTION : E X C E P T I O N ;
|
||||
T_EXCLUSIVE : E X C L U S I V E ;
|
||||
T_EXISTS : E X I S T S ;
|
||||
T_EXIT : E X I T ;
|
||||
T_FALLBACK : F A L L B A C K ;
|
||||
T_FALSE : F A L S E ;
|
||||
T_FETCH : F E T C H ;
|
||||
T_FIELDS : F I E L D S ;
|
||||
T_FILE : F I L E ;
|
||||
T_FILES : F I L E S ;
|
||||
T_FLOAT : F L O A T ;
|
||||
T_FOR : F O R ;
|
||||
T_FOREIGN : F O R E I G N ;
|
||||
T_FORMAT : F O R M A T ;
|
||||
T_FOUND : F O U N D ;
|
||||
T_FROM : F R O M ;
|
||||
T_FULL : F U L L ;
|
||||
T_FUNCTION : F U N C T I O N ;
|
||||
T_GET : G E T ;
|
||||
T_GLOBAL : G L O B A L ;
|
||||
T_GO : G O ;
|
||||
T_GRANT : G R A N T ;
|
||||
T_GROUP : G R O U P ;
|
||||
T_HANDLER : H A N D L E R ;
|
||||
T_HASH : H A S H ;
|
||||
T_HAVING : H A V I N G ;
|
||||
T_HDFS : H D F S ;
|
||||
T_HIVE : H I V E ;
|
||||
T_HOST : H O S T ;
|
||||
T_IDENTITY : I D E N T I T Y ;
|
||||
T_IF : I F ;
|
||||
T_IGNORE : I G N O R E ;
|
||||
T_IMMEDIATE : I M M E D I A T E ;
|
||||
T_IN : I N ;
|
||||
T_INCLUDE : I N C L U D E ;
|
||||
T_INDEX : I N D E X ;
|
||||
T_INITRANS : I N I T R A N S ;
|
||||
T_INNER : I N N E R ;
|
||||
T_INOUT : I N O U T;
|
||||
T_INSERT : I N S E R T ;
|
||||
T_INT : I N T ;
|
||||
T_INT2 : I N T '2';
|
||||
T_INT4 : I N T '4';
|
||||
T_INT8 : I N T '8';
|
||||
T_INTEGER : I N T E G E R ;
|
||||
T_INTERSECT : I N T E R S E C T ;
|
||||
T_INTERVAL : I N T E R V A L ;
|
||||
T_INTO : I N T O ;
|
||||
T_INVOKER : I N V O K E R ;
|
||||
T_IS : I S ;
|
||||
T_ISOPEN : I S O P E N ;
|
||||
T_ITEMS : I T E M S ;
|
||||
T_JOIN : J O I N ;
|
||||
T_KEEP : K E E P;
|
||||
T_KEY : K E Y ;
|
||||
T_KEYS : K E Y S ;
|
||||
T_LANGUAGE : L A N G U A G E ;
|
||||
T_LEAVE : L E A V E ;
|
||||
T_LEFT : L E F T ;
|
||||
T_LIKE : L I K E ;
|
||||
T_LIMIT : L I M I T ;
|
||||
T_LINES : L I N E S ;
|
||||
T_LOCAL : L O C A L ;
|
||||
T_LOCATION : L O C A T I O N ;
|
||||
T_LOCATOR : L O C A T O R ;
|
||||
T_LOCATORS : L O C A T O R S ;
|
||||
T_LOCKS : L O C K S ;
|
||||
T_LOG : L O G ;
|
||||
T_LOGGED : L O G G E D ;
|
||||
T_LOGGING : L O G G I N G ;
|
||||
T_LOOP : L O O P ;
|
||||
T_MAP : M A P ;
|
||||
T_MATCHED : M A T C H E D ;
|
||||
T_MAX : M A X ;
|
||||
T_MAXTRANS : M A X T R A N S ;
|
||||
T_MERGE : M E R G E ;
|
||||
T_MESSAGE_TEXT : M E S S A G E '_' T E X T ;
|
||||
T_MICROSECOND : M I C R O S E C O N D ;
|
||||
T_MICROSECONDS : M I C R O S E C O N D S;
|
||||
T_MIN : M I N ;
|
||||
T_MULTISET : M U L T I S E T ;
|
||||
T_NCHAR : N C H A R ;
|
||||
T_NEW : N E W ;
|
||||
T_NVARCHAR : N V A R C H A R ;
|
||||
T_NO : N O ;
|
||||
T_NOCOUNT : N O C O U N T ;
|
||||
T_NOCOMPRESS : N O C O M P R E S S ;
|
||||
T_NOLOGGING : N O L O G G I N G ;
|
||||
T_NONE : N O N E ;
|
||||
T_NOT : N O T ;
|
||||
T_NOTFOUND : N O T F O U N D ;
|
||||
T_NULL : N U L L ;
|
||||
T_NUMERIC : N U M E R I C ;
|
||||
T_NUMBER : N U M B E R ;
|
||||
T_OBJECT : O B J E C T ;
|
||||
T_OFF : O F F ;
|
||||
T_ON : O N ;
|
||||
T_ONLY : O N L Y ;
|
||||
T_OPEN : O P E N ;
|
||||
T_OR : O R ;
|
||||
T_ORDER : O R D E R;
|
||||
T_OUT : O U T ;
|
||||
T_OUTER : O U T E R ;
|
||||
T_OVER : O V E R ;
|
||||
T_OVERWRITE : O V E R W R I T E ;
|
||||
T_OWNER : O W N E R ;
|
||||
T_PACKAGE : P A C K A G E ;
|
||||
T_PARTITION : P A R T I T I O N ;
|
||||
T_PCTFREE : P C T F R E E ;
|
||||
T_PCTUSED : P C T U S E D ;
|
||||
T_PLS_INTEGER : P L S '_' I N T E G E R ;
|
||||
T_PRECISION : P R E C I S I O N ;
|
||||
T_PRESERVE : P R E S E R V E ;
|
||||
T_PRIMARY : P R I M A R Y ;
|
||||
T_PRINT : P R I N T ;
|
||||
T_PROC : P R O C ;
|
||||
T_PROCEDURE : P R O C E D U R E ;
|
||||
T_QUALIFY : Q U A L I F Y ;
|
||||
T_QUERY_BAND : Q U E R Y '_' B A N D ;
|
||||
T_QUIT : Q U I T ;
|
||||
T_QUOTED_IDENTIFIER : Q U O T E D '_' I D E N T I F I E R ;
|
||||
T_RAISE : R A I S E ;
|
||||
T_REAL : R E A L ;
|
||||
T_REFERENCES : R E F E R E N C E S ;
|
||||
T_REGEXP : R E G E X P ;
|
||||
T_REPLACE : R E P L A C E ;
|
||||
T_RESIGNAL : R E S I G N A L ;
|
||||
T_RESTRICT : R E S T R I C T ;
|
||||
T_RESULT : R E S U L T ;
|
||||
T_RESULT_SET_LOCATOR : R E S U L T '_' S E T '_' L O C A T O R ;
|
||||
T_RETURN : R E T U R N ;
|
||||
T_RETURNS : R E T U R N S ;
|
||||
T_REVERSE : R E V E R S E ;
|
||||
T_RIGHT : R I G H T ;
|
||||
T_RLIKE : R L I K E ;
|
||||
T_ROLE : R O L E ;
|
||||
T_ROLLBACK : R O L L B A C K ;
|
||||
T_ROW : R O W ;
|
||||
T_ROWS : R O W S ;
|
||||
T_ROWTYPE : R O W T Y P E ;
|
||||
T_ROW_COUNT : R O W '_' C O U N T ;
|
||||
T_RR : R R;
|
||||
T_RS : R S ;
|
||||
T_PWD : P W D ;
|
||||
T_TRIM : T R I M ;
|
||||
T_SCHEMA : S C H E M A ;
|
||||
T_SECOND : S E C O N D ;
|
||||
T_SECONDS : S E C O N D S;
|
||||
T_SECURITY : S E C U R I T Y ;
|
||||
T_SEGMENT : S E G M E N T ;
|
||||
T_SEL : S E L ;
|
||||
T_SELECT : S E L E C T ;
|
||||
T_SET : S E T ;
|
||||
T_SESSION : S E S S I O N ;
|
||||
T_SESSIONS : S E S S I O N S ;
|
||||
T_SETS : S E T S;
|
||||
T_SHARE : S H A R E ;
|
||||
T_SIGNAL : S I G N A L ;
|
||||
T_SIMPLE_DOUBLE : S I M P L E '_' D O U B L E ;
|
||||
T_SIMPLE_FLOAT : S I M P L E '_' F L O A T ;
|
||||
T_SIMPLE_INTEGER : S I M P L E '_' I N T E G E R ;
|
||||
T_SMALLDATETIME : S M A L L D A T E T I M E ;
|
||||
T_SMALLINT : S M A L L I N T ;
|
||||
T_SQL : S Q L ;
|
||||
T_SQLEXCEPTION : S Q L E X C E P T I O N ;
|
||||
T_SQLINSERT : S Q L I N S E R T ;
|
||||
T_SQLSTATE : S Q L S T A T E ;
|
||||
T_SQLWARNING : S Q L W A R N I N G ;
|
||||
T_STATS : S T A T S ;
|
||||
T_STATISTICS : S T A T I S T I C S ;
|
||||
T_STEP : S T E P ;
|
||||
T_STORAGE : S T O R A G E ;
|
||||
T_STORED : S T O R E D ;
|
||||
T_STRING : S T R I N G ;
|
||||
T_SUBDIR : S U B D I R ;
|
||||
T_SUBSTRING : S U B S T R I N G ;
|
||||
T_SUM : S U M ;
|
||||
T_SUMMARY : S U M M A R Y ;
|
||||
T_SYS_REFCURSOR : S Y S '_' R E F C U R S O R ;
|
||||
T_TABLE : T A B L E ;
|
||||
T_TABLESPACE : T A B L E S P A C E ;
|
||||
T_TEMPORARY : T E M P O R A R Y ;
|
||||
T_TERMINATED : T E R M I N A T E D ;
|
||||
T_TEXTIMAGE_ON : T E X T I M A G E '_' O N ;
|
||||
T_THEN : T H E N ;
|
||||
T_TIMESTAMP : T I M E S T A M P ;
|
||||
T_TINYINT : T I N Y I N T ;
|
||||
T_TITLE : T I T L E ;
|
||||
T_TO : T O ;
|
||||
T_TOP : T O P ;
|
||||
T_TRANSACTION : T R A N S A C T I O N ;
|
||||
T_TRUE : T R U E ;
|
||||
T_TRUNCATE : T R U N C A T E;
|
||||
T_TYPE : T Y P E ;
|
||||
T_UNION : U N I O N ;
|
||||
T_UNIQUE : U N I Q U E ;
|
||||
T_UPDATE : U P D A T E ;
|
||||
T_UR : U R ;
|
||||
T_USE : U S E ;
|
||||
T_USING : U S I N G ;
|
||||
T_VALUE : V A L U E ;
|
||||
T_VALUES : V A L U E S ;
|
||||
T_VAR : V A R ;
|
||||
T_VARCHAR : V A R C H A R ;
|
||||
T_VARCHAR2 : V A R C H A R '2' ;
|
||||
T_VARYING : V A R Y I N G ;
|
||||
T_VOLATILE : V O L A T I L E ;
|
||||
T_WHEN : W H E N ;
|
||||
T_WHERE : W H E R E ;
|
||||
T_WHILE : W H I L E ;
|
||||
T_WITH : W I T H ;
|
||||
T_WITHOUT : W I T H O U T ;
|
||||
T_WORK : W O R K ;
|
||||
T_XACT_ABORT : X A C T '_' A B O R T ;
|
||||
T_XML : X M L ;
|
||||
T_YES : Y E S ;
|
||||
|
||||
// Functions with specific syntax
|
||||
T_ACTIVITY_COUNT : A C T I V I T Y '_' C O U N T ;
|
||||
T_CUME_DIST : C U M E '_' D I S T ;
|
||||
T_CURRENT_DATE : C U R R E N T '_' D A T E ;
|
||||
T_CURRENT_TIMESTAMP : C U R R E N T '_' T I M E S T A M P ;
|
||||
T_CURRENT_USER : C U R R E N T '_' U S E R ;
|
||||
T_DENSE_RANK : D E N S E '_' R A N K ;
|
||||
T_FIRST_VALUE : F I R S T '_' V A L U E;
|
||||
T_LAG : L A G ;
|
||||
T_LAST_VALUE : L A S T '_' V A L U E;
|
||||
T_LEAD : L E A D ;
|
||||
T_MAX_PART_STRING : M A X '_' P A R T '_' S T R I N G ;
|
||||
T_MIN_PART_STRING : M I N '_' P A R T '_' S T R I N G ;
|
||||
T_MAX_PART_INT : M A X '_' P A R T '_' I N T ;
|
||||
T_MIN_PART_INT : M I N '_' P A R T '_' I N T ;
|
||||
T_MAX_PART_DATE : M A X '_' P A R T '_' D A T E ;
|
||||
T_MIN_PART_DATE : M I N '_' P A R T '_' D A T E ;
|
||||
T_PART_COUNT : P A R T '_' C O U N T ;
|
||||
T_PART_LOC : P A R T '_' L O C ;
|
||||
T_RANK : R A N K ;
|
||||
T_ROW_NUMBER : R O W '_' N U M B E R;
|
||||
T_STDEV : S T D E V ;
|
||||
T_SYSDATE : S Y S D A T E ;
|
||||
T_VARIANCE : V A R I A N C E ;
|
||||
T_USER : U S E R;
|
||||
|
||||
T_ADD : '+' ;
|
||||
T_COLON : ':' ;
|
||||
T_COMMA : ',' ;
|
||||
T_PIPE : '||' ;
|
||||
T_DIV : '/' ;
|
||||
T_DOT2 : '..' ;
|
||||
T_EQUAL : '=' ;
|
||||
T_EQUAL2 : '==' ;
|
||||
T_NOTEQUAL : '<>' ;
|
||||
T_NOTEQUAL2 : '!=' ;
|
||||
T_GREATER : '>' ;
|
||||
T_GREATEREQUAL : '>=' ;
|
||||
T_LESS : '<' ;
|
||||
T_LESSEQUAL : '<=' ;
|
||||
T_MUL : '*' ;
|
||||
T_OPEN_B : '{' ;
|
||||
T_OPEN_P : '(' ;
|
||||
T_OPEN_SB : '[' ;
|
||||
T_CLOSE_B : '}' ;
|
||||
T_CLOSE_P : ')' ;
|
||||
T_CLOSE_SB : ']' ;
|
||||
T_SEMICOLON : ';' ;
|
||||
T_SUB : '-' ;
|
||||
|
||||
L_ID : L_ID_PART // Identifier
|
||||
;
|
||||
L_S_STRING : '\'' (('\'' '\'') | ('\\' '\'') | ~('\''))* '\'' // Single quoted string literal
|
||||
;
|
||||
L_D_STRING : '"' (L_STR_ESC_D | .)*? '"' // Double quoted string literal
|
||||
;
|
||||
L_INT : L_DIGIT+ ; // Integer
|
||||
L_DEC : L_DIGIT+ '.' ~'.' L_DIGIT* // Decimal number
|
||||
| '.' L_DIGIT+
|
||||
;
|
||||
L_WS : L_BLANK+ -> skip ; // Whitespace
|
||||
L_M_COMMENT : '/*' .*? '*/' -> channel(HIDDEN) ; // Multiline comment
|
||||
L_S_COMMENT : ('--' | '//') .*? '\r'? '\n' -> channel(HIDDEN) ; // Single line comment
|
||||
|
||||
L_FILE : ([a-zA-Z] ':' '\\'?)? L_ID ('\\' L_ID)* // File path (a/b/c Linux path causes conflicts with division operator and handled at parser level)
|
||||
;
|
||||
|
||||
L_LABEL : ([a-zA-Z] | L_DIGIT | '_')* ':'
|
||||
;
|
||||
|
||||
fragment
|
||||
L_ID_PART :
|
||||
[a-zA-Z] ([a-zA-Z] | L_DIGIT | '_')* // Identifier part
|
||||
| '$' '{' .*? '}'
|
||||
| ('_' | '@' | ':' | '#' | '$') ([a-zA-Z] | L_DIGIT | '_' | '@' | ':' | '#' | '$')+ // (at least one char must follow special char)
|
||||
| '"' .*? '"' // Quoted identifiers
|
||||
| '[' .*? ']'
|
||||
| '`' .*? '`'
|
||||
;
|
||||
fragment
|
||||
L_STR_ESC_D : // Double quoted string escape sequence
|
||||
'""' | '\\"'
|
||||
;
|
||||
fragment
|
||||
L_DIGIT : [0-9] // Digit
|
||||
;
|
||||
fragment
|
||||
L_BLANK : (' ' | '\t' | '\r' | '\n')
|
||||
;
|
||||
|
||||
// Support case-insensitive keywords and allowing case-sensitive identifiers
|
||||
fragment A : ('a'|'A') ;
|
||||
fragment B : ('b'|'B') ;
|
||||
fragment C : ('c'|'C') ;
|
||||
fragment D : ('d'|'D') ;
|
||||
fragment E : ('e'|'E') ;
|
||||
fragment F : ('f'|'F') ;
|
||||
fragment G : ('g'|'G') ;
|
||||
fragment H : ('h'|'H') ;
|
||||
fragment I : ('i'|'I') ;
|
||||
fragment J : ('j'|'J') ;
|
||||
fragment K : ('k'|'K') ;
|
||||
fragment L : ('l'|'L') ;
|
||||
fragment M : ('m'|'M') ;
|
||||
fragment N : ('n'|'N') ;
|
||||
fragment O : ('o'|'O') ;
|
||||
fragment P : ('p'|'P') ;
|
||||
fragment Q : ('q'|'Q') ;
|
||||
fragment R : ('r'|'R') ;
|
||||
fragment S : ('s'|'S') ;
|
||||
fragment T : ('t'|'T') ;
|
||||
fragment U : ('u'|'U') ;
|
||||
fragment V : ('v'|'V') ;
|
||||
fragment W : ('w'|'W') ;
|
||||
fragment X : ('x'|'X') ;
|
||||
fragment Y : ('y'|'Y') ;
|
||||
fragment Z : ('z'|'Z') ;
|
2369
src/grammar/plsql/PlSqlLexer.g4
Normal file
2369
src/grammar/plsql/PlSqlLexer.g4
Normal file
File diff suppressed because it is too large
Load Diff
6763
src/grammar/plsql/PlSqlParser.g4
Normal file
6763
src/grammar/plsql/PlSqlParser.g4
Normal file
File diff suppressed because it is too large
Load Diff
3
src/grammar/spark/README.md
Normal file
3
src/grammar/spark/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Spark SQL
|
||||
|
||||
Grammar file from: <https://github.com/apache/spark/blob/master/sql/catalyst/src/main/antlr4/org/apache/spark/sql/catalyst/parser/SqlBase.g4>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,902 +0,0 @@
|
||||
/*
|
||||
T-SQL (Transact-SQL, MSSQL) grammar.
|
||||
The MIT License (MIT).
|
||||
Copyright (c) 2017, Mark Adams (madams51703@gmail.com)
|
||||
Copyright (c) 2015-2017, Ivan Kochurkin (kvanttt@gmail.com), Positive Technologies.
|
||||
Copyright (c) 2016, Scott Ure (scott@redstormsoftware.com).
|
||||
Copyright (c) 2016, Rui Zhang (ruizhang.ccs@gmail.com).
|
||||
Copyright (c) 2016, Marcus Henriksson (kuseman80@gmail.com).
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
|
||||
lexer grammar TSqlLexer;
|
||||
|
||||
// Basic keywords (from https://msdn.microsoft.com/en-us/library/ms189822.aspx)
|
||||
ABSENT: 'ABSENT';
|
||||
ADD: 'ADD';
|
||||
AES: 'AES';
|
||||
ALL: 'ALL';
|
||||
ALLOW_CONNECTIONS: 'ALLOW_CONNECTIONS';
|
||||
ALLOW_MULTIPLE_EVENT_LOSS: 'ALLOW_MULTIPLE_EVENT_LOSS';
|
||||
ALLOW_SINGLE_EVENT_LOSS: 'ALLOW_SINGLE_EVENT_LOSS';
|
||||
ALTER: 'ALTER';
|
||||
AND: 'AND';
|
||||
ANONYMOUS: 'ANONYMOUS';
|
||||
ANY: 'ANY';
|
||||
APPEND: 'APPEND';
|
||||
APPLICATION: 'APPLICATION';
|
||||
AS: 'AS';
|
||||
ASC: 'ASC';
|
||||
ASYMMETRIC: 'ASYMMETRIC';
|
||||
ASYNCHRONOUS_COMMIT: 'ASYNCHRONOUS_COMMIT';
|
||||
AUTHORIZATION: 'AUTHORIZATION';
|
||||
AUTHENTICATION: 'AUTHENTICATION';
|
||||
AUTOMATED_BACKUP_PREFERENCE: 'AUTOMATED_BACKUP_PREFERENCE';
|
||||
AUTOMATIC: 'AUTOMATIC';
|
||||
AVAILABILITY_MODE: 'AVAILABILITY_MODE';
|
||||
BACKSLASH: '\\';
|
||||
BACKUP: 'BACKUP';
|
||||
BEFORE: 'BEFORE';
|
||||
BEGIN: 'BEGIN';
|
||||
BETWEEN: 'BETWEEN';
|
||||
BLOCK: 'BLOCK';
|
||||
BLOCKSIZE: 'BLOCKSIZE';
|
||||
BLOCKING_HIERARCHY: 'BLOCKING_HIERARCHY';
|
||||
BREAK: 'BREAK';
|
||||
BROWSE: 'BROWSE';
|
||||
BUFFER: 'BUFFER';
|
||||
BUFFERCOUNT: 'BUFFERCOUNT';
|
||||
BULK: 'BULK';
|
||||
BY: 'BY';
|
||||
CACHE: 'CACHE';
|
||||
CALLED: 'CALLED';
|
||||
CASCADE: 'CASCADE';
|
||||
CASE: 'CASE';
|
||||
CERTIFICATE: 'CERTIFICATE';
|
||||
CHANGETABLE: 'CHANGETABLE';
|
||||
CHANGES: 'CHANGES';
|
||||
CHECK: 'CHECK';
|
||||
CHECKPOINT: 'CHECKPOINT';
|
||||
CHECK_POLICY: 'CHECK_POLICY';
|
||||
CHECK_EXPIRATION: 'CHECK_EXPIRATION';
|
||||
CLASSIFIER_FUNCTION: 'CLASSIFIER_FUNCTION';
|
||||
CLOSE: 'CLOSE';
|
||||
CLUSTER: 'CLUSTER';
|
||||
CLUSTERED: 'CLUSTERED';
|
||||
COALESCE: 'COALESCE';
|
||||
COLLATE: 'COLLATE';
|
||||
COLUMN: 'COLUMN';
|
||||
COMPRESSION: 'COMPRESSION';
|
||||
COMMIT: 'COMMIT';
|
||||
COMPUTE: 'COMPUTE';
|
||||
CONFIGURATION: 'CONFIGURATION';
|
||||
CONSTRAINT: 'CONSTRAINT';
|
||||
CONTAINMENT: 'CONTAINMENT';
|
||||
CONTAINS: 'CONTAINS';
|
||||
CONTAINSTABLE: 'CONTAINSTABLE';
|
||||
CONTEXT: 'CONTEXT';
|
||||
CONTINUE: 'CONTINUE';
|
||||
CONTINUE_AFTER_ERROR: 'CONTINUE_AFTER_ERROR';
|
||||
CONTRACT: 'CONTRACT';
|
||||
CONTRACT_NAME: 'CONTRACT_NAME';
|
||||
CONVERSATION: 'CONVERSATION';
|
||||
CONVERT: 'TRY_'? 'CONVERT';
|
||||
COPY_ONLY: 'COPY_ONLY';
|
||||
CREATE: 'CREATE';
|
||||
CROSS: 'CROSS';
|
||||
CURRENT: 'CURRENT';
|
||||
CURRENT_DATE: 'CURRENT_DATE';
|
||||
CURRENT_TIME: 'CURRENT_TIME';
|
||||
CURRENT_TIMESTAMP: 'CURRENT_TIMESTAMP';
|
||||
CURRENT_USER: 'CURRENT_USER';
|
||||
CURSOR: 'CURSOR';
|
||||
CYCLE: 'CYCLE';
|
||||
DATA_COMPRESSION: 'DATA_COMPRESSION';
|
||||
DATA_SOURCE: 'DATA_SOURCE';
|
||||
DATABASE: 'DATABASE';
|
||||
DATABASE_MIRRORING: 'DATABASE_MIRRORING';
|
||||
DBCC: 'DBCC';
|
||||
DEALLOCATE: 'DEALLOCATE';
|
||||
DECLARE: 'DECLARE';
|
||||
DEFAULT: 'DEFAULT';
|
||||
DEFAULT_DATABASE: 'DEFAULT_DATABASE';
|
||||
DEFAULT_SCHEMA: 'DEFAULT_SCHEMA';
|
||||
DELETE: 'DELETE';
|
||||
DENY: 'DENY';
|
||||
DESC: 'DESC';
|
||||
DIAGNOSTICS: 'DIAGNOSTICS';
|
||||
DIFFERENTIAL: 'DIFFERENTIAL';
|
||||
DISK: 'DISK';
|
||||
DISTINCT: 'DISTINCT';
|
||||
DISTRIBUTED: 'DISTRIBUTED';
|
||||
DOUBLE: 'DOUBLE';
|
||||
DOUBLE_BACK_SLASH: '\\\\';
|
||||
DOUBLE_FORWARD_SLASH: '//';
|
||||
DROP: 'DROP';
|
||||
DTC_SUPPORT: 'DTC_SUPPORT';
|
||||
DUMP: 'DUMP';
|
||||
ELSE: 'ELSE';
|
||||
ENABLED: 'ENABLED';
|
||||
END: 'END';
|
||||
ENDPOINT: 'ENDPOINT';
|
||||
ERRLVL: 'ERRLVL';
|
||||
ESCAPE: 'ESCAPE';
|
||||
ERROR: 'ERROR';
|
||||
EVENT: 'EVENT';
|
||||
EVENTDATA: 'EVENTDATA' '(' ')';
|
||||
EVENT_RETENTION_MODE: 'EVENT_RETENTION_MODE';
|
||||
EXCEPT: 'EXCEPT';
|
||||
EXECUTABLE_FILE: 'EXECUTABLE_FILE';
|
||||
EXECUTE: 'EXEC' 'UTE'?;
|
||||
EXISTS: 'EXISTS';
|
||||
EXPIREDATE: 'EXPIREDATE';
|
||||
EXIT: 'EXIT';
|
||||
EXTENSION: 'EXTENSION';
|
||||
EXTERNAL: 'EXTERNAL';
|
||||
EXTERNAL_ACCESS: 'EXTERNAL_ACCESS';
|
||||
FAILOVER: 'FAILOVER';
|
||||
FAILURECONDITIONLEVEL: 'FAILURECONDITIONLEVEL';
|
||||
FAN_IN: 'FAN_IN';
|
||||
FETCH: 'FETCH';
|
||||
FILE: 'FILE';
|
||||
FILENAME: 'FILENAME';
|
||||
FILLFACTOR: 'FILLFACTOR';
|
||||
FILE_SNAPSHOT: 'FILE_SNAPSHOT';
|
||||
FOR: 'FOR';
|
||||
FORCESEEK: 'FORCESEEK';
|
||||
FORCE_SERVICE_ALLOW_DATA_LOSS: 'FORCE_SERVICE_ALLOW_DATA_LOSS';
|
||||
FOREIGN: 'FOREIGN';
|
||||
FREETEXT: 'FREETEXT';
|
||||
FREETEXTTABLE: 'FREETEXTTABLE';
|
||||
FROM: 'FROM';
|
||||
FULL: 'FULL';
|
||||
FUNCTION: 'FUNCTION';
|
||||
GET: 'GET';
|
||||
GOTO: 'GOTO';
|
||||
GOVERNOR: 'GOVERNOR';
|
||||
GRANT: 'GRANT';
|
||||
GROUP: 'GROUP';
|
||||
HAVING: 'HAVING';
|
||||
HASHED: 'HASHED';
|
||||
HEALTHCHECKTIMEOUT: 'HEALTHCHECKTIMEOUT';
|
||||
IDENTITY: 'IDENTITY';
|
||||
IDENTITYCOL: 'IDENTITYCOL';
|
||||
IDENTITY_INSERT: 'IDENTITY_INSERT';
|
||||
IF: 'IF';
|
||||
IIF: 'IIF';
|
||||
IN: 'IN';
|
||||
INCLUDE: 'INCLUDE';
|
||||
INCREMENT: 'INCREMENT';
|
||||
INDEX: 'INDEX';
|
||||
INFINITE: 'INFINITE';
|
||||
INIT: 'INIT';
|
||||
INNER: 'INNER';
|
||||
INSERT: 'INSERT';
|
||||
INSTEAD: 'INSTEAD';
|
||||
INTERSECT: 'INTERSECT';
|
||||
INTO: 'INTO';
|
||||
IPV4_ADDR: [']? IPV4_OCTECT DOT IPV4_OCTECT DOT IPV4_OCTECT DOT IPV4_OCTECT [']?;
|
||||
IPV6_ADDR: [']?[0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[:][0-9A-F]?[0-9A-F]?[0-9A-F]?[0-9A-F]?[']?;
|
||||
IS: 'IS';
|
||||
ISNULL: 'ISNULL';
|
||||
JOIN: 'JOIN';
|
||||
KERBEROS: 'KERBEROS';
|
||||
KEY: 'KEY';
|
||||
KEY_PATH: 'KEY_PATH';
|
||||
KEY_STORE_PROVIDER_NAME: 'KEY_STORE_PROVIDER_NAME';
|
||||
KILL: 'KILL';
|
||||
LANGUAGE: 'LANGUAGE';
|
||||
LEFT: 'LEFT';
|
||||
LIBRARY: 'LIBRARY';
|
||||
LIFETIME: 'LIFETIME';
|
||||
LIKE: 'LIKE';
|
||||
LINENO: 'LINENO';
|
||||
LINUX: 'LINUX';
|
||||
LISTENER_IP: 'LISTENER_IP';
|
||||
LISTENER_PORT: 'LISTENER_PORT';
|
||||
LOAD: 'LOAD';
|
||||
LOCAL_SERVICE_NAME: 'LOCAL_SERVICE_NAME';
|
||||
LOG: 'LOG';
|
||||
MATCHED: 'MATCHED';
|
||||
MASTER: 'MASTER';
|
||||
MAX_MEMORY: 'MAX_MEMORY';
|
||||
MAXTRANSFER: 'MAXTRANSFER';
|
||||
MAXVALUE: 'MAXVALUE';
|
||||
MAX_DISPATCH_LATENCY: 'MAX_DISPATCH_LATENCY';
|
||||
MAX_EVENT_SIZE: 'MAX_EVENT_SIZE';
|
||||
MAX_SIZE: 'MAX_SIZE';
|
||||
MAX_OUTSTANDING_IO_PER_VOLUME: 'MAX_OUTSTANDING_IO_PER_VOLUME';
|
||||
MEDIADESCRIPTION: 'MEDIADESCRIPTION';
|
||||
MEDIANAME: 'MEDIANAME';
|
||||
MEMBER: 'MEMBER';
|
||||
MEMORY_PARTITION_MODE: 'MEMORY_PARTITION_MODE';
|
||||
MERGE: 'MERGE';
|
||||
MESSAGE_FORWARDING: 'MESSAGE_FORWARDING';
|
||||
MESSAGE_FORWARD_SIZE: 'MESSAGE_FORWARD_SIZE';
|
||||
MINVALUE: 'MINVALUE';
|
||||
MIRROR: 'MIRROR';
|
||||
MUST_CHANGE: 'MUST_CHANGE';
|
||||
NATIONAL: 'NATIONAL';
|
||||
NEGOTIATE: 'NEGOTIATE';
|
||||
NOCHECK: 'NOCHECK';
|
||||
NOFORMAT: 'NOFORMAT';
|
||||
NOINIT: 'NOINIT';
|
||||
NONCLUSTERED: 'NONCLUSTERED';
|
||||
NONE: 'NONE';
|
||||
NOREWIND: 'NOREWIND';
|
||||
NOSKIP: 'NOSKIP';
|
||||
NOUNLOAD: 'NOUNLOAD';
|
||||
NO_CHECKSUM: 'NO_CHECKSUM';
|
||||
NO_COMPRESSION: 'NO_COMPRESSION';
|
||||
NO_EVENT_LOSS: 'NO_EVENT_LOSS';
|
||||
NOT: 'NOT';
|
||||
NOTIFICATION: 'NOTIFICATION';
|
||||
NTLM: 'NTLM';
|
||||
NULL: 'NULL';
|
||||
NULLIF: 'NULLIF';
|
||||
OF: 'OF';
|
||||
OFF: 'OFF';
|
||||
OFFSETS: 'OFFSETS';
|
||||
OLD_PASSWORD: 'OLD_PASSWORD';
|
||||
ON: 'ON';
|
||||
ON_FAILURE: 'ON_FAILURE';
|
||||
OPEN: 'OPEN';
|
||||
OPENDATASOURCE: 'OPENDATASOURCE';
|
||||
OPENQUERY: 'OPENQUERY';
|
||||
OPENROWSET: 'OPENROWSET';
|
||||
OPENXML: 'OPENXML';
|
||||
OPTION: 'OPTION';
|
||||
OR: 'OR';
|
||||
ORDER: 'ORDER';
|
||||
OUTER: 'OUTER';
|
||||
OVER: 'OVER';
|
||||
PAGE: 'PAGE';
|
||||
PARAM_NODE: 'PARAM_NODE';
|
||||
PARTIAL: 'PARTIAL';
|
||||
PASSWORD: 'PASSWORD';
|
||||
PERCENT: 'PERCENT';
|
||||
PERMISSION_SET: 'PERMISSION_SET';
|
||||
PER_CPU: 'PER_CPU';
|
||||
PER_DB: 'PER_DB';
|
||||
PER_NODE: 'PER_NODE';
|
||||
PIVOT: 'PIVOT';
|
||||
PLAN: 'PLAN';
|
||||
PLATFORM: 'PLATFORM';
|
||||
POLICY: 'POLICY';
|
||||
PRECISION: 'PRECISION';
|
||||
PREDICATE: 'PREDICATE';
|
||||
PRIMARY: 'PRIMARY';
|
||||
PRINT: 'PRINT';
|
||||
PROC: 'PROC';
|
||||
PROCEDURE: 'PROCEDURE';
|
||||
PROCESS: 'PROCESS';
|
||||
PUBLIC: 'PUBLIC';
|
||||
PYTHON: 'PYTHON';
|
||||
R: 'R';
|
||||
RAISERROR: 'RAISERROR';
|
||||
RAW: 'RAW';
|
||||
READ: 'READ';
|
||||
READTEXT: 'READTEXT';
|
||||
READ_WRITE_FILEGROUPS: 'READ_WRITE_FILEGROUPS';
|
||||
RECONFIGURE: 'RECONFIGURE';
|
||||
REFERENCES: 'REFERENCES';
|
||||
REGENERATE: 'REGENERATE';
|
||||
RELATED_CONVERSATION: 'RELATED_CONVERSATION';
|
||||
RELATED_CONVERSATION_GROUP: 'RELATED_CONVERSATION_GROUP';
|
||||
REPLICATION: 'REPLICATION';
|
||||
REQUIRED: 'REQUIRED';
|
||||
RESET: 'RESET';
|
||||
RESTART: 'RESTART';
|
||||
RESTORE: 'RESTORE';
|
||||
RESTRICT: 'RESTRICT';
|
||||
RESUME: 'RESUME';
|
||||
RETAINDAYS: 'RETAINDAYS';
|
||||
RETURN: 'RETURN';
|
||||
RETURNS: 'RETURNS';
|
||||
REVERT: 'REVERT';
|
||||
REVOKE: 'REVOKE';
|
||||
REWIND: 'REWIND';
|
||||
RIGHT: 'RIGHT';
|
||||
ROLLBACK: 'ROLLBACK';
|
||||
ROLE: 'ROLE';
|
||||
ROWCOUNT: 'ROWCOUNT';
|
||||
ROWGUIDCOL: 'ROWGUIDCOL';
|
||||
RSA_512: 'RSA_512';
|
||||
RSA_1024: 'RSA_1024';
|
||||
RSA_2048: 'RSA_2048';
|
||||
RSA_3072: 'RSA_3072';
|
||||
RSA_4096: 'RSA_4096';
|
||||
SAFETY: 'SAFETY';
|
||||
RULE: 'RULE';
|
||||
SAFE: 'SAFE';
|
||||
SAVE: 'SAVE';
|
||||
SCHEDULER: 'SCHEDULER';
|
||||
SCHEMA: 'SCHEMA';
|
||||
SCHEME: 'SCHEME';
|
||||
SECURITYAUDIT: 'SECURITYAUDIT';
|
||||
SELECT: 'SELECT';
|
||||
SEMANTICKEYPHRASETABLE: 'SEMANTICKEYPHRASETABLE';
|
||||
SEMANTICSIMILARITYDETAILSTABLE: 'SEMANTICSIMILARITYDETAILSTABLE';
|
||||
SEMANTICSIMILARITYTABLE: 'SEMANTICSIMILARITYTABLE';
|
||||
SERVER: 'SERVER';
|
||||
SERVICE: 'SERVICE';
|
||||
SERVICE_BROKER: 'SERVICE_BROKER';
|
||||
SERVICE_NAME: 'SERVICE_NAME';
|
||||
SESSION: 'SESSION';
|
||||
SESSION_USER: 'SESSION_USER';
|
||||
SET: 'SET';
|
||||
SETUSER: 'SETUSER';
|
||||
SHUTDOWN: 'SHUTDOWN';
|
||||
SID: 'SID';
|
||||
SKIP_KEYWORD: 'SKIP';
|
||||
SOFTNUMA: 'SOFTNUMA';
|
||||
SOME: 'SOME';
|
||||
SOURCE: 'SOURCE';
|
||||
SPECIFICATION: 'SPECIFICATION';
|
||||
SPLIT: 'SPLIT';
|
||||
SQLDUMPERFLAGS: 'SQLDUMPERFLAGS';
|
||||
SQLDUMPERPATH: 'SQLDUMPERPATH';
|
||||
SQLDUMPERTIMEOUT: 'SQLDUMPERTIMEOUTS';
|
||||
STATISTICS: 'STATISTICS';
|
||||
STATE: 'STATE';
|
||||
STATS: 'STATS';
|
||||
START: 'START';
|
||||
STARTED: 'STARTED';
|
||||
STARTUP_STATE: 'STARTUP_STATE';
|
||||
STOP: 'STOP';
|
||||
STOPPED: 'STOPPED';
|
||||
STOP_ON_ERROR: 'STOP_ON_ERROR';
|
||||
SUPPORTED: 'SUPPORTED';
|
||||
SYSTEM_USER: 'SYSTEM_USER';
|
||||
TABLE: 'TABLE';
|
||||
TABLESAMPLE: 'TABLESAMPLE';
|
||||
TAPE: 'TAPE';
|
||||
TARGET: 'TARGET';
|
||||
TCP: 'TCP';
|
||||
TEXTSIZE: 'TEXTSIZE';
|
||||
THEN: 'THEN';
|
||||
TO: 'TO';
|
||||
TOP: 'TOP';
|
||||
TRACK_CAUSALITY: 'TRACK_CAUSALITY';
|
||||
TRAN: 'TRAN';
|
||||
TRANSACTION: 'TRANSACTION';
|
||||
TRANSFER: 'TRANSFER';
|
||||
TRIGGER: 'TRIGGER';
|
||||
TRUNCATE: 'TRUNCATE';
|
||||
TSEQUAL: 'TSEQUAL';
|
||||
UNCHECKED: 'UNCHECKED';
|
||||
UNION: 'UNION';
|
||||
UNIQUE: 'UNIQUE';
|
||||
UNLOCK: 'UNLOCK';
|
||||
UNPIVOT: 'UNPIVOT';
|
||||
UNSAFE: 'UNSAFE';
|
||||
UPDATE: 'UPDATE';
|
||||
UPDATETEXT: 'UPDATETEXT';
|
||||
URL: 'URL';
|
||||
USE: 'USE';
|
||||
USED: 'USED';
|
||||
USER: 'USER';
|
||||
VALUES: 'VALUES';
|
||||
VARYING: 'VARYING';
|
||||
VERBOSELOGGING: 'VERBOSELOGGING';
|
||||
VIEW: 'VIEW';
|
||||
VISIBILITY: 'VISIBILITY';
|
||||
WAITFOR: 'WAITFOR';
|
||||
WHEN: 'WHEN';
|
||||
WHERE: 'WHERE';
|
||||
WHILE: 'WHILE';
|
||||
WINDOWS: 'WINDOWS';
|
||||
WITH: 'WITH';
|
||||
WITHIN: 'WITHIN';
|
||||
WITHOUT: 'WITHOUT';
|
||||
WITNESS: 'WITNESS';
|
||||
WRITETEXT: 'WRITETEXT';
|
||||
|
||||
// Additional keywords. They can be id, please keep them in sync with the parser.
|
||||
ABSOLUTE: 'ABSOLUTE';
|
||||
ACCENT_SENSITIVITY: 'ACCENT_SENSITIVITY';
|
||||
ACTION: 'ACTION';
|
||||
ACTIVATION: 'ACTIVATION';
|
||||
ACTIVE: 'ACTIVE';
|
||||
ADDRESS: 'ADDRESS';
|
||||
AES_128: 'AES_128';
|
||||
AES_192: 'AES_192';
|
||||
AES_256: 'AES_256';
|
||||
AFFINITY: 'AFFINITY';
|
||||
AFTER: 'AFTER';
|
||||
AGGREGATE: 'AGGREGATE';
|
||||
ALGORITHM: 'ALGORITHM';
|
||||
ALLOW_ENCRYPTED_VALUE_MODIFICATIONS: 'ALLOW_ENCRYPTED_VALUE_MODIFICATIONS';
|
||||
ALLOW_SNAPSHOT_ISOLATION: 'ALLOW_SNAPSHOT_ISOLATION';
|
||||
ALLOWED: 'ALLOWED';
|
||||
ANSI_NULL_DEFAULT: 'ANSI_NULL_DEFAULT';
|
||||
ANSI_NULLS: 'ANSI_NULLS';
|
||||
ANSI_PADDING: 'ANSI_PADDING';
|
||||
ANSI_WARNINGS: 'ANSI_WARNINGS';
|
||||
APPLICATION_LOG: 'APPLICATION_LOG';
|
||||
APPLY: 'APPLY';
|
||||
ARITHABORT: 'ARITHABORT';
|
||||
ASSEMBLY: 'ASSEMBLY';
|
||||
AUDIT: 'AUDIT';
|
||||
AUDIT_GUID: 'AUDIT_GUID';
|
||||
AUTO: 'AUTO';
|
||||
AUTO_CLEANUP: 'AUTO_CLEANUP';
|
||||
AUTO_CLOSE: 'AUTO_CLOSE';
|
||||
AUTO_CREATE_STATISTICS: 'AUTO_CREATE_STATISTICS';
|
||||
AUTO_SHRINK: 'AUTO_SHRINK';
|
||||
AUTO_UPDATE_STATISTICS: 'AUTO_UPDATE_STATISTICS';
|
||||
AUTO_UPDATE_STATISTICS_ASYNC: 'AUTO_UPDATE_STATISTICS_ASYNC';
|
||||
AVAILABILITY: 'AVAILABILITY';
|
||||
AVG: 'AVG';
|
||||
BACKUP_PRIORITY: 'BACKUP_PRIORITY';
|
||||
BEGIN_DIALOG: 'BEGIN_DIALOG';
|
||||
BIGINT: 'BIGINT';
|
||||
BINARY_BASE64: 'BINARY BASE64';
|
||||
BINARY_CHECKSUM: 'BINARY_CHECKSUM';
|
||||
BINDING: 'BINDING';
|
||||
BLOB_STORAGE: 'BLOB_STORAGE';
|
||||
BROKER: 'BROKER';
|
||||
BROKER_INSTANCE: 'BROKER_INSTANCE';
|
||||
BULK_LOGGED: 'BULK_LOGGED';
|
||||
CALLER: 'CALLER';
|
||||
CAP_CPU_PERCENT: 'CAP_CPU_PERCENT';
|
||||
CAST: 'TRY_'? 'CAST';
|
||||
CATALOG: 'CATALOG';
|
||||
CATCH: 'CATCH';
|
||||
CHANGE_RETENTION: 'CHANGE_RETENTION';
|
||||
CHANGE_TRACKING: 'CHANGE_TRACKING';
|
||||
CHECKSUM: 'CHECKSUM';
|
||||
CHECKSUM_AGG: 'CHECKSUM_AGG';
|
||||
CLEANUP: 'CLEANUP';
|
||||
COLLECTION: 'COLLECTION';
|
||||
COLUMN_MASTER_KEY: 'COLUMN_MASTER_KEY';
|
||||
COMMITTED: 'COMMITTED';
|
||||
COMPATIBILITY_LEVEL: 'COMPATIBILITY_LEVEL';
|
||||
CONCAT: 'CONCAT';
|
||||
CONCAT_NULL_YIELDS_NULL: 'CONCAT_NULL_YIELDS_NULL';
|
||||
CONTENT: 'CONTENT';
|
||||
CONTROL: 'CONTROL';
|
||||
COOKIE: 'COOKIE';
|
||||
COUNT: 'COUNT';
|
||||
COUNT_BIG: 'COUNT_BIG';
|
||||
COUNTER: 'COUNTER';
|
||||
CPU: 'CPU';
|
||||
CREATE_NEW: 'CREATE_NEW';
|
||||
CREATION_DISPOSITION: 'CREATION_DISPOSITION';
|
||||
CREDENTIAL: 'CREDENTIAL';
|
||||
CRYPTOGRAPHIC: 'CRYPTOGRAPHIC';
|
||||
CURSOR_CLOSE_ON_COMMIT: 'CURSOR_CLOSE_ON_COMMIT';
|
||||
CURSOR_DEFAULT: 'CURSOR_DEFAULT';
|
||||
DATA: 'DATA';
|
||||
DATE_CORRELATION_OPTIMIZATION: 'DATE_CORRELATION_OPTIMIZATION';
|
||||
DATEADD: 'DATEADD';
|
||||
DATEDIFF: 'DATEDIFF';
|
||||
DATENAME: 'DATENAME';
|
||||
DATEPART: 'DATEPART';
|
||||
DAYS: 'DAYS';
|
||||
DB_CHAINING: 'DB_CHAINING';
|
||||
DB_FAILOVER: 'DB_FAILOVER';
|
||||
DECRYPTION: 'DECRYPTION';
|
||||
DEFAULT_DOUBLE_QUOTE: ["]'DEFAULT'["];
|
||||
DEFAULT_FULLTEXT_LANGUAGE: 'DEFAULT_FULLTEXT_LANGUAGE';
|
||||
DEFAULT_LANGUAGE: 'DEFAULT_LANGUAGE';
|
||||
DELAY: 'DELAY';
|
||||
DELAYED_DURABILITY: 'DELAYED_DURABILITY';
|
||||
DELETED: 'DELETED';
|
||||
DENSE_RANK: 'DENSE_RANK';
|
||||
DEPENDENTS: 'DEPENDENTS';
|
||||
DES: 'DES';
|
||||
DESCRIPTION: 'DESCRIPTION';
|
||||
DESX: 'DESX';
|
||||
DHCP: 'DHCP';
|
||||
DIALOG: 'DIALOG';
|
||||
DIRECTORY_NAME: 'DIRECTORY_NAME';
|
||||
DISABLE: 'DISABLE';
|
||||
DISABLE_BROKER: 'DISABLE_BROKER';
|
||||
DISABLED: 'DISABLED';
|
||||
DISK_DRIVE: [A-Z][:];
|
||||
DOCUMENT: 'DOCUMENT';
|
||||
DYNAMIC: 'DYNAMIC';
|
||||
ELEMENTS: 'ELEMENTS';
|
||||
EMERGENCY: 'EMERGENCY';
|
||||
EMPTY: 'EMPTY';
|
||||
ENABLE: 'ENABLE';
|
||||
ENABLE_BROKER: 'ENABLE_BROKER';
|
||||
ENCRYPTED_VALUE: 'ENCRYPTED_VALUE';
|
||||
ENCRYPTION: 'ENCRYPTION';
|
||||
ENDPOINT_URL: 'ENDPOINT_URL';
|
||||
ERROR_BROKER_CONVERSATIONS: 'ERROR_BROKER_CONVERSATIONS';
|
||||
EXCLUSIVE: 'EXCLUSIVE';
|
||||
EXECUTABLE: 'EXECUTABLE';
|
||||
EXIST: 'EXIST';
|
||||
EXPAND: 'EXPAND';
|
||||
EXPIRY_DATE: 'EXPIRY_DATE';
|
||||
EXPLICIT: 'EXPLICIT';
|
||||
FAIL_OPERATION: 'FAIL_OPERATION';
|
||||
FAILOVER_MODE: 'FAILOVER_MODE';
|
||||
FAILURE: 'FAILURE';
|
||||
FAILURE_CONDITION_LEVEL: 'FAILURE_CONDITION_LEVEL';
|
||||
FAST: 'FAST';
|
||||
FAST_FORWARD: 'FAST_FORWARD';
|
||||
FILEGROUP: 'FILEGROUP';
|
||||
FILEGROWTH: 'FILEGROWTH';
|
||||
FILEPATH: 'FILEPATH';
|
||||
FILESTREAM: 'FILESTREAM';
|
||||
FILTER: 'FILTER';
|
||||
FIRST: 'FIRST';
|
||||
FIRST_VALUE: 'FIRST_VALUE';
|
||||
FOLLOWING: 'FOLLOWING';
|
||||
FORCE: 'FORCE';
|
||||
FORCE_FAILOVER_ALLOW_DATA_LOSS: 'FORCE_FAILOVER_ALLOW_DATA_LOSS';
|
||||
FORCED: 'FORCED';
|
||||
FORMAT: 'FORMAT';
|
||||
FORWARD_ONLY: 'FORWARD_ONLY';
|
||||
FULLSCAN: 'FULLSCAN';
|
||||
FULLTEXT: 'FULLTEXT';
|
||||
GB: 'GB';
|
||||
GETDATE: 'GETDATE';
|
||||
GETUTCDATE: 'GETUTCDATE';
|
||||
GLOBAL: 'GLOBAL';
|
||||
GO: 'GO';
|
||||
GROUP_MAX_REQUESTS: 'GROUP_MAX_REQUESTS';
|
||||
GROUPING: 'GROUPING';
|
||||
GROUPING_ID: 'GROUPING_ID';
|
||||
HADR: 'HADR';
|
||||
HASH: 'HASH';
|
||||
HEALTH_CHECK_TIMEOUT: 'HEALTH_CHECK_TIMEOUT';
|
||||
HIGH: 'HIGH';
|
||||
HONOR_BROKER_PRIORITY: 'HONOR_BROKER_PRIORITY';
|
||||
HOURS: 'HOURS';
|
||||
IDENTITY_VALUE: 'IDENTITY_VALUE';
|
||||
IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX: 'IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX';
|
||||
IMMEDIATE: 'IMMEDIATE';
|
||||
IMPERSONATE: 'IMPERSONATE';
|
||||
IMPORTANCE: 'IMPORTANCE';
|
||||
INCLUDE_NULL_VALUES: 'INCLUDE_NULL_VALUES';
|
||||
INCREMENTAL: 'INCREMENTAL';
|
||||
INITIATOR: 'INITIATOR';
|
||||
INPUT: 'INPUT';
|
||||
INSENSITIVE: 'INSENSITIVE';
|
||||
INSERTED: 'INSERTED';
|
||||
INT: 'INT';
|
||||
IP: 'IP';
|
||||
ISOLATION: 'ISOLATION';
|
||||
JOB: 'JOB';
|
||||
JSON: 'JSON';
|
||||
KB: 'KB';
|
||||
KEEP: 'KEEP';
|
||||
KEEPFIXED: 'KEEPFIXED';
|
||||
KEY_SOURCE: 'KEY_SOURCE';
|
||||
KEYS: 'KEYS';
|
||||
KEYSET: 'KEYSET';
|
||||
LAG: 'LAG';
|
||||
LAST: 'LAST';
|
||||
LAST_VALUE: 'LAST_VALUE';
|
||||
LEAD: 'LEAD';
|
||||
LEVEL: 'LEVEL';
|
||||
LIST: 'LIST';
|
||||
LISTENER: 'LISTENER';
|
||||
LISTENER_URL: 'LISTENER_URL';
|
||||
LOB_COMPACTION: 'LOB_COMPACTION';
|
||||
LOCAL: 'LOCAL';
|
||||
LOCATION: 'LOCATION';
|
||||
LOCK: 'LOCK';
|
||||
LOCK_ESCALATION: 'LOCK_ESCALATION';
|
||||
LOGIN: 'LOGIN';
|
||||
LOOP: 'LOOP';
|
||||
LOW: 'LOW';
|
||||
MANUAL: 'MANUAL';
|
||||
MARK: 'MARK';
|
||||
MATERIALIZED: 'MATERIALIZED';
|
||||
MAX: 'MAX';
|
||||
MAX_CPU_PERCENT: 'MAX_CPU_PERCENT';
|
||||
MAX_DOP: 'MAX_DOP';
|
||||
MAX_FILES: 'MAX_FILES';
|
||||
MAX_IOPS_PER_VOLUME: 'MAX_IOPS_PER_VOLUME';
|
||||
MAX_MEMORY_PERCENT: 'MAX_MEMORY_PERCENT';
|
||||
MAX_PROCESSES: 'MAX_PROCESSES';
|
||||
MAX_QUEUE_READERS: 'MAX_QUEUE_READERS';
|
||||
MAX_ROLLOVER_FILES: 'MAX_ROLLOVER_FILES';
|
||||
MAXDOP: 'MAXDOP';
|
||||
MAXRECURSION: 'MAXRECURSION';
|
||||
MAXSIZE: 'MAXSIZE';
|
||||
MB: 'MB';
|
||||
MEDIUM: 'MEDIUM';
|
||||
MEMORY_OPTIMIZED_DATA: 'MEMORY_OPTIMIZED_DATA';
|
||||
MESSAGE: 'MESSAGE';
|
||||
MIN: 'MIN';
|
||||
MIN_ACTIVE_ROWVERSION: 'MIN_ACTIVE_ROWVERSION';
|
||||
MIN_CPU_PERCENT: 'MIN_CPU_PERCENT';
|
||||
MIN_IOPS_PER_VOLUME: 'MIN_IOPS_PER_VOLUME';
|
||||
MIN_MEMORY_PERCENT: 'MIN_MEMORY_PERCENT';
|
||||
MINUTES: 'MINUTES';
|
||||
MIRROR_ADDRESS: 'MIRROR_ADDRESS';
|
||||
MIXED_PAGE_ALLOCATION: 'MIXED_PAGE_ALLOCATION';
|
||||
MODE: 'MODE';
|
||||
MODIFY: 'MODIFY';
|
||||
MOVE: 'MOVE';
|
||||
MULTI_USER: 'MULTI_USER';
|
||||
NAME: 'NAME';
|
||||
NESTED_TRIGGERS: 'NESTED_TRIGGERS';
|
||||
NEW_ACCOUNT: 'NEW_ACCOUNT';
|
||||
NEW_BROKER: 'NEW_BROKER';
|
||||
NEW_PASSWORD: 'NEW_PASSWORD';
|
||||
NEXT: 'NEXT';
|
||||
NO: 'NO';
|
||||
NO_TRUNCATE: 'NO_TRUNCATE';
|
||||
NO_WAIT: 'NO_WAIT';
|
||||
NOCOUNT: 'NOCOUNT';
|
||||
NODES: 'NODES';
|
||||
NOEXPAND: 'NOEXPAND';
|
||||
NON_TRANSACTED_ACCESS: 'NON_TRANSACTED_ACCESS';
|
||||
NORECOMPUTE: 'NORECOMPUTE';
|
||||
NORECOVERY: 'NORECOVERY';
|
||||
NOWAIT: 'NOWAIT';
|
||||
NTILE: 'NTILE';
|
||||
NUMANODE: 'NUMANODE';
|
||||
NUMBER: 'NUMBER';
|
||||
NUMERIC_ROUNDABORT: 'NUMERIC_ROUNDABORT';
|
||||
OBJECT: 'OBJECT';
|
||||
OFFLINE: 'OFFLINE';
|
||||
OFFSET: 'OFFSET';
|
||||
OLD_ACCOUNT: 'OLD_ACCOUNT';
|
||||
ONLINE: 'ONLINE';
|
||||
ONLY: 'ONLY';
|
||||
OPEN_EXISTING: 'OPEN_EXISTING';
|
||||
OPTIMISTIC: 'OPTIMISTIC';
|
||||
OPTIMIZE: 'OPTIMIZE';
|
||||
OUT: 'OUT';
|
||||
OUTPUT: 'OUTPUT';
|
||||
OVERRIDE: 'OVERRIDE';
|
||||
OWNER: 'OWNER';
|
||||
PAGE_VERIFY: 'PAGE_VERIFY';
|
||||
PARAMETERIZATION: 'PARAMETERIZATION';
|
||||
PARTITION: 'PARTITION';
|
||||
PARTITIONS: 'PARTITIONS';
|
||||
PARTNER: 'PARTNER';
|
||||
PATH: 'PATH';
|
||||
POISON_MESSAGE_HANDLING: 'POISON_MESSAGE_HANDLING';
|
||||
POOL: 'POOL';
|
||||
PORT: 'PORT';
|
||||
PRECEDING: 'PRECEDING';
|
||||
PRIMARY_ROLE: 'PRIMARY_ROLE';
|
||||
PRIOR: 'PRIOR';
|
||||
PRIORITY: 'PRIORITY';
|
||||
PRIORITY_LEVEL: 'PRIORITY_LEVEL';
|
||||
PRIVATE: 'PRIVATE';
|
||||
PRIVATE_KEY: 'PRIVATE_KEY';
|
||||
PRIVILEGES: 'PRIVILEGES';
|
||||
PROCEDURE_NAME: 'PROCEDURE_NAME';
|
||||
PROPERTY: 'PROPERTY';
|
||||
PROVIDER: 'PROVIDER';
|
||||
PROVIDER_KEY_NAME: 'PROVIDER_KEY_NAME';
|
||||
QUERY: 'QUERY';
|
||||
QUEUE: 'QUEUE';
|
||||
QUEUE_DELAY: 'QUEUE_DELAY';
|
||||
QUOTED_IDENTIFIER: 'QUOTED_IDENTIFIER';
|
||||
RANGE: 'RANGE';
|
||||
RANK: 'RANK';
|
||||
RC2: 'RC2';
|
||||
RC4: 'RC4';
|
||||
RC4_128: 'RC4_128';
|
||||
READ_COMMITTED_SNAPSHOT: 'READ_COMMITTED_SNAPSHOT';
|
||||
READ_ONLY: 'READ_ONLY';
|
||||
READ_ONLY_ROUTING_LIST: 'READ_ONLY_ROUTING_LIST';
|
||||
READ_WRITE: 'READ_WRITE';
|
||||
READONLY: 'READONLY';
|
||||
REBUILD: 'REBUILD';
|
||||
RECEIVE: 'RECEIVE';
|
||||
RECOMPILE: 'RECOMPILE';
|
||||
RECOVERY: 'RECOVERY';
|
||||
RECURSIVE_TRIGGERS: 'RECURSIVE_TRIGGERS';
|
||||
RELATIVE: 'RELATIVE';
|
||||
REMOTE: 'REMOTE';
|
||||
REMOTE_SERVICE_NAME: 'REMOTE_SERVICE_NAME';
|
||||
REMOVE: 'REMOVE';
|
||||
REORGANIZE: 'REORGANIZE';
|
||||
REPEATABLE: 'REPEATABLE';
|
||||
REPLICA: 'REPLICA';
|
||||
REQUEST_MAX_CPU_TIME_SEC: 'REQUEST_MAX_CPU_TIME_SEC';
|
||||
REQUEST_MAX_MEMORY_GRANT_PERCENT: 'REQUEST_MAX_MEMORY_GRANT_PERCENT';
|
||||
REQUEST_MEMORY_GRANT_TIMEOUT_SEC: 'REQUEST_MEMORY_GRANT_TIMEOUT_SEC';
|
||||
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT: 'REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT';
|
||||
RESERVE_DISK_SPACE: 'RESERVE_DISK_SPACE';
|
||||
RESOURCE: 'RESOURCE';
|
||||
RESOURCE_MANAGER_LOCATION: 'RESOURCE_MANAGER_LOCATION';
|
||||
RESTRICTED_USER: 'RESTRICTED_USER';
|
||||
RETENTION: 'RETENTION';
|
||||
ROBUST: 'ROBUST';
|
||||
ROOT: 'ROOT';
|
||||
ROUTE: 'ROUTE';
|
||||
ROW: 'ROW';
|
||||
ROW_NUMBER: 'ROW_NUMBER';
|
||||
ROWGUID: 'ROWGUID';
|
||||
ROWS: 'ROWS';
|
||||
SAMPLE: 'SAMPLE';
|
||||
SCHEMABINDING: 'SCHEMABINDING';
|
||||
SCOPED: 'SCOPED';
|
||||
SCROLL: 'SCROLL';
|
||||
SCROLL_LOCKS: 'SCROLL_LOCKS';
|
||||
SEARCH: 'SEARCH';
|
||||
SECONDARY: 'SECONDARY';
|
||||
SECONDARY_ONLY: 'SECONDARY_ONLY';
|
||||
SECONDARY_ROLE: 'SECONDARY_ROLE';
|
||||
SECONDS: 'SECONDS';
|
||||
SECRET: 'SECRET';
|
||||
SECURITY: 'SECURITY';
|
||||
SECURITY_LOG: 'SECURITY_LOG';
|
||||
SEEDING_MODE: 'SEEDING_MODE';
|
||||
SELF: 'SELF';
|
||||
SEMI_SENSITIVE: 'SEMI_SENSITIVE';
|
||||
SEND: 'SEND';
|
||||
SENT: 'SENT';
|
||||
SEQUENCE: 'SEQUENCE';
|
||||
SERIALIZABLE: 'SERIALIZABLE';
|
||||
SESSION_TIMEOUT: 'SESSION_TIMEOUT';
|
||||
SETERROR: 'SETERROR';
|
||||
SHARE: 'SHARE';
|
||||
SHOWPLAN: 'SHOWPLAN';
|
||||
SIGNATURE: 'SIGNATURE';
|
||||
SIMPLE: 'SIMPLE';
|
||||
SINGLE_USER: 'SINGLE_USER';
|
||||
SIZE: 'SIZE';
|
||||
SMALLINT: 'SMALLINT';
|
||||
SNAPSHOT: 'SNAPSHOT';
|
||||
SPATIAL_WINDOW_MAX_CELLS: 'SPATIAL_WINDOW_MAX_CELLS';
|
||||
STANDBY: 'STANDBY';
|
||||
START_DATE: 'START_DATE';
|
||||
STATIC: 'STATIC';
|
||||
STATS_STREAM: 'STATS_STREAM';
|
||||
STATUS: 'STATUS';
|
||||
STATUSONLY: 'STATUSONLY';
|
||||
STDEV: 'STDEV';
|
||||
STDEVP: 'STDEVP';
|
||||
STOPLIST: 'STOPLIST';
|
||||
STRING_AGG: 'STRING_AGG';
|
||||
STUFF: 'STUFF';
|
||||
SUBJECT: 'SUBJECT';
|
||||
SUBSCRIPTION: 'SUBSCRIPTION';
|
||||
SUM: 'SUM';
|
||||
SUSPEND: 'SUSPEND';
|
||||
SYMMETRIC: 'SYMMETRIC';
|
||||
SYNCHRONOUS_COMMIT: 'SYNCHRONOUS_COMMIT';
|
||||
SYNONYM: 'SYNONYM';
|
||||
SYSTEM: 'SYSTEM';
|
||||
TAKE: 'TAKE';
|
||||
TARGET_RECOVERY_TIME: 'TARGET_RECOVERY_TIME';
|
||||
TB: 'TB';
|
||||
TEXTIMAGE_ON: 'TEXTIMAGE_ON';
|
||||
THROW: 'THROW';
|
||||
TIES: 'TIES';
|
||||
TIME: 'TIME';
|
||||
TIMEOUT: 'TIMEOUT';
|
||||
TIMER: 'TIMER';
|
||||
TINYINT: 'TINYINT';
|
||||
TORN_PAGE_DETECTION: 'TORN_PAGE_DETECTION';
|
||||
TRANSFORM_NOISE_WORDS: 'TRANSFORM_NOISE_WORDS';
|
||||
TRIPLE_DES: 'TRIPLE_DES';
|
||||
TRIPLE_DES_3KEY: 'TRIPLE_DES_3KEY';
|
||||
TRUSTWORTHY: 'TRUSTWORTHY';
|
||||
TRY: 'TRY';
|
||||
TSQL: 'TSQL';
|
||||
TWO_DIGIT_YEAR_CUTOFF: 'TWO_DIGIT_YEAR_CUTOFF';
|
||||
TYPE: 'TYPE';
|
||||
TYPE_WARNING: 'TYPE_WARNING';
|
||||
UNBOUNDED: 'UNBOUNDED';
|
||||
UNCOMMITTED: 'UNCOMMITTED';
|
||||
UNKNOWN: 'UNKNOWN';
|
||||
UNLIMITED: 'UNLIMITED';
|
||||
UOW: 'UOW';
|
||||
USING: 'USING';
|
||||
VALID_XML: 'VALID_XML';
|
||||
VALIDATION: 'VALIDATION';
|
||||
VALUE: 'VALUE';
|
||||
VAR: 'VAR';
|
||||
VARP: 'VARP';
|
||||
VIEW_METADATA: 'VIEW_METADATA';
|
||||
VIEWS: 'VIEWS';
|
||||
WAIT: 'WAIT';
|
||||
WELL_FORMED_XML: 'WELL_FORMED_XML';
|
||||
WITHOUT_ARRAY_WRAPPER: 'WITHOUT_ARRAY_WRAPPER';
|
||||
WORK: 'WORK';
|
||||
WORKLOAD: 'WORKLOAD';
|
||||
XML: 'XML';
|
||||
XMLDATA: 'XMLDATA';
|
||||
XMLNAMESPACES: 'XMLNAMESPACES';
|
||||
XMLSCHEMA: 'XMLSCHEMA';
|
||||
XSINIL: 'XSINIL';
|
||||
|
||||
DOLLAR_ACTION: '$ACTION';
|
||||
|
||||
SPACE: [ \t\r\n]+ -> skip;
|
||||
// https://docs.microsoft.com/en-us/sql/t-sql/language-elements/slash-star-comment-transact-sql
|
||||
COMMENT: '/*' (COMMENT | .)*? '*/' -> channel(HIDDEN);
|
||||
LINE_COMMENT: '--' ~[\r\n]* -> channel(HIDDEN);
|
||||
|
||||
// TODO: ID can be not only Latin.
|
||||
DOUBLE_QUOTE_ID: '"' ~'"'+ '"';
|
||||
SINGLE_QUOTE: '\'';
|
||||
SQUARE_BRACKET_ID: '[' ~']'+ ']';
|
||||
LOCAL_ID: '@' ([A-Z_$@#0-9] | FullWidthLetter)+;
|
||||
DECIMAL: DEC_DIGIT+;
|
||||
ID: ( [A-Z_#] | FullWidthLetter) ( [A-Z_#$@0-9] | FullWidthLetter )*;
|
||||
QUOTED_URL: '\''([A-Z][A-Z]+[:]) '//'(([A-Z]+[.]|[A-Z]+)|IPV4_ADDR) [:] DECIMAL '\'';
|
||||
QUOTED_HOST_AND_PORT:'\''(([A-Z]+[.]|[A-Z]+)|IPV4_ADDR) ([:] DECIMAL) '\'';
|
||||
STRING: 'N'? '\'' (~'\'' | '\'\'')* '\'';
|
||||
BINARY: '0' 'X' HEX_DIGIT*;
|
||||
FLOAT: DEC_DOT_DEC;
|
||||
REAL: (DECIMAL | DEC_DOT_DEC) ('E' [+-]? DEC_DIGIT+);
|
||||
|
||||
EQUAL: '=';
|
||||
|
||||
GREATER: '>';
|
||||
LESS: '<';
|
||||
EXCLAMATION: '!';
|
||||
|
||||
PLUS_ASSIGN: '+=';
|
||||
MINUS_ASSIGN: '-=';
|
||||
MULT_ASSIGN: '*=';
|
||||
DIV_ASSIGN: '/=';
|
||||
MOD_ASSIGN: '%=';
|
||||
AND_ASSIGN: '&=';
|
||||
XOR_ASSIGN: '^=';
|
||||
OR_ASSIGN: '|=';
|
||||
|
||||
DOUBLE_BAR: '||';
|
||||
DOT: '.';
|
||||
UNDERLINE: '_';
|
||||
AT: '@';
|
||||
SHARP: '#';
|
||||
DOLLAR: '$';
|
||||
LR_BRACKET: '(';
|
||||
RR_BRACKET: ')';
|
||||
COMMA: ',';
|
||||
SEMI: ';';
|
||||
COLON: ':';
|
||||
STAR: '*';
|
||||
DIVIDE: '/';
|
||||
MODULE: '%';
|
||||
PLUS: '+';
|
||||
MINUS: '-';
|
||||
BIT_NOT: '~';
|
||||
BIT_OR: '|';
|
||||
BIT_AND: '&';
|
||||
BIT_XOR: '^';
|
||||
|
||||
fragment LETTER: [A-Z_];
|
||||
fragment IPV6_OCTECT: [0-9A-F][0-9A-F][0-9A-F][0-9A-F];
|
||||
IPV4_OCTECT: [0-9]?[0-9]?[0-9];
|
||||
fragment DEC_DOT_DEC: (DEC_DIGIT+ '.' DEC_DIGIT+ | DEC_DIGIT+ '.' | '.' DEC_DIGIT+);
|
||||
fragment HEX_DIGIT: [0-9A-F];
|
||||
fragment DEC_DIGIT: [0-9];
|
||||
|
||||
fragment FullWidthLetter
|
||||
: '\u00c0'..'\u00d6'
|
||||
| '\u00d8'..'\u00f6'
|
||||
| '\u00f8'..'\u00ff'
|
||||
| '\u0100'..'\u1fff'
|
||||
| '\u2c00'..'\u2fff'
|
||||
| '\u3040'..'\u318f'
|
||||
| '\u3300'..'\u337f'
|
||||
| '\u3400'..'\u3fff'
|
||||
| '\u4e00'..'\u9fff'
|
||||
| '\ua000'..'\ud7ff'
|
||||
| '\uf900'..'\ufaff'
|
||||
| '\uff00'..'\ufff0'
|
||||
// | '\u10000'..'\u1F9FF' //not support four bytes chars
|
||||
// | '\u20000'..'\u2FA1F'
|
||||
;
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user