feat: refactoring hive SQL lexer
This commit is contained in:
		@ -1,7 +1,8 @@
 | 
			
		||||
 | 
			
		||||
lexer grammar HiveSqlLexer;
 | 
			
		||||
 | 
			
		||||
// Lexer rules
 | 
			
		||||
T_ACTION          : A C T I O N ; 
 | 
			
		||||
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 ;
 | 
			
		||||
@ -11,27 +12,27 @@ 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_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_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_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_BODY            : B O D Y ;
 | 
			
		||||
T_BREAK           : B R E A K ;
 | 
			
		||||
T_BY              : B Y ;
 | 
			
		||||
T_BYTE            : B Y T E ; 
 | 
			
		||||
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_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_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 ;
 | 
			
		||||
@ -39,23 +40,23 @@ 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_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_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_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_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 ;
 | 
			
		||||
@ -64,79 +65,79 @@ 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_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_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_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_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_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_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_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_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_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_FIELDS          : F I E L D S ;
 | 
			
		||||
T_FILE            : F I L E ;
 | 
			
		||||
T_FILES           : F I L E S ; 
 | 
			
		||||
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_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_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_GLOBAL          : G L O B A L ;
 | 
			
		||||
T_GO              : G O ;
 | 
			
		||||
T_GRANT           : G R A N T ; 
 | 
			
		||||
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_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_IDENTITY        : I D E N T I T Y ;
 | 
			
		||||
T_IF              : I F ;
 | 
			
		||||
T_IGNORE          : I G N O R E ; 
 | 
			
		||||
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_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 ;
 | 
			
		||||
@ -145,55 +146,55 @@ 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_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_ITEMS           : I T E M S ;
 | 
			
		||||
T_JOIN            : J O I N ;
 | 
			
		||||
T_KEEP            : K E E P; 
 | 
			
		||||
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_LIKE            : L I K E ;
 | 
			
		||||
T_LIMIT           : L I M I T ;
 | 
			
		||||
T_LINES           : L I N E S ; 
 | 
			
		||||
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_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_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_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_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_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_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_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_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_OBJECT          : O B J E C T ;
 | 
			
		||||
T_OFF             : O F F ;
 | 
			
		||||
T_ON              : O N ;
 | 
			
		||||
T_ONLY            : O N L Y ;
 | 
			
		||||
@ -203,31 +204,31 @@ 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_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_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_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_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_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_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_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 ;
 | 
			
		||||
@ -236,66 +237,66 @@ 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             : 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_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_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_SELECT          : S E L E C T ;
 | 
			
		||||
T_SET             : S E T ;
 | 
			
		||||
T_SESSION         : S E S S I O N ; 
 | 
			
		||||
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_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_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_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_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_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_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_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_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_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_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_UPDATE          : U P D A T E ;
 | 
			
		||||
T_UR              : U R ;
 | 
			
		||||
T_USE             : U S E ;
 | 
			
		||||
T_USING           : U S I N G ;
 | 
			
		||||
@ -309,47 +310,50 @@ 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_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 ; 
 | 
			
		||||
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_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_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_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_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_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_DOT          : '.' ;
 | 
			
		||||
T_DOT2         : '..' ;
 | 
			
		||||
T_EQUAL        : '=' ;
 | 
			
		||||
T_EQUAL2       : '==' ;
 | 
			
		||||
T_SHARP        : '#'  ;
 | 
			
		||||
T_NOTE         : '!'  ;
 | 
			
		||||
T_NOTEQUAL     : '<>' ;
 | 
			
		||||
T_NOTEQUAL2    : '!=' ;
 | 
			
		||||
T_GREATER      : '>' ;
 | 
			
		||||
@ -357,10 +361,12 @@ T_GREATEREQUAL : '>=' ;
 | 
			
		||||
T_LESS         : '<' ;
 | 
			
		||||
T_LESSEQUAL    : '<=' ;
 | 
			
		||||
T_MUL          : '*' ;
 | 
			
		||||
T_PRECENT      : '%' ;
 | 
			
		||||
T_CALLS        : '@' ;
 | 
			
		||||
T_OPEN_B       : '{' ;
 | 
			
		||||
T_OPEN_P       : '(' ;
 | 
			
		||||
T_OPEN_SB      : '[' ;
 | 
			
		||||
T_CLOSE_B      : '}' ; 
 | 
			
		||||
T_CLOSE_B      : '}' ;
 | 
			
		||||
T_CLOSE_P      : ')' ;
 | 
			
		||||
T_CLOSE_SB     : ']' ;
 | 
			
		||||
T_SEMICOLON    : ';' ;
 | 
			
		||||
@ -381,11 +387,11 @@ L_M_COMMENT : '/*' .*? '*/' -> channel(HIDDEN) ;                       // Multil
 | 
			
		||||
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 | '_')* ':'            
 | 
			
		||||
            ;
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
L_LABEL     : ([a-zA-Z] | L_DIGIT | '_')* ':'
 | 
			
		||||
            ;
 | 
			
		||||
 | 
			
		||||
fragment
 | 
			
		||||
L_ID_PART  :
 | 
			
		||||
             [a-zA-Z] ([a-zA-Z] | L_DIGIT | '_')*                           // Identifier part
 | 
			
		||||
@ -397,8 +403,8 @@ L_ID_PART  :
 | 
			
		||||
            ;
 | 
			
		||||
fragment
 | 
			
		||||
L_STR_ESC_D :                                                          // Double quoted string escape sequence
 | 
			
		||||
              '""' | '\\"' 
 | 
			
		||||
            ;            
 | 
			
		||||
              '""' | '\\"'
 | 
			
		||||
            ;
 | 
			
		||||
fragment
 | 
			
		||||
L_DIGIT     : [0-9]                                                    // Digit
 | 
			
		||||
            ;
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user