目录文档:MySQL 源码|源码剖析文档目录
2.4.1 非关键字类型的终结符
词法解析器的特殊 Token
解析器异常和结束标志:
%token ABORT_SYM 258 /* INTERNAL : 词法解析器解析异常 */
%token END_OF_INPUT 411 /* INTERNAL : 词法解析器解析结束 */
解析器在解析不同元素时的模拟开始 Token:
%token GRAMMAR_SELECTOR_EXPR 916 /* synthetic token: starts single expr. (MySQL 8.0) */
%token GRAMMAR_SELECTOR_GCOL 917 /* synthetic token: starts generated col. (MySQL 8.0) */
%token GRAMMAR_SELECTOR_PART 918 /* synthetic token: starts partition expr. (MySQL 8.0) */
%token GRAMMAR_SELECTOR_CTE 919 /* synthetic token: starts CTE expr. (MySQL 8.0) */
%token<lexer.keyword> GRAMMAR_SELECTOR_DERIVED_EXPR 1158 /* synthetic token: starts derived table expressions. (MySQL 8.0) */
运算符的 Token
%token AND_AND_SYM 273 /* OPERATOR : && */
%token EQ 415 /* OPERATOR : = */
%token EQUAL_SYM 416 /* OPERATOR : <=> */
%token GE 456 /* OPERATOR : >= */
%token GT_SYM 469 /* OPERATOR : > */
%token LE 522 /* OPERATOR : <= */
%token LT 549 /* OPERATOR : < */
%token NE 614 /* OPERATOR : <> 或 != */
%token NEG 615 /* OPERATOR : - (一元表达式) */
%token OR_OR_SYM 644 /* OPERATOR : || */
%token SHIFT_LEFT 759 /* OPERATOR : << */
%token SHIFT_RIGHT 760 /* OPERATOR : >> */
%token JSON_SEPARATOR_SYM 514 /* OPERATOR: -> MYSQL */
%token JSON_UNQUOTED_SEPARATOR_SYM 907 /* OPERATOR: ->> MYSQL (MySQL 8.0) */
%token SET_VAR /* OPERATOR: := */
字面值的 Token
%token BIN_NUM 292 /* 二进制字面值 */
%token DECIMAL_NUM 377 /* 不包含 e 或 E 的小数字面值 */
%token FLOAT_NUM 443 /* 包含 e 或 E 的浮点数字面值 */
%token HEX_NUM 474 /* 十六进制字面值 */
%token LONG_NUM 545 /* 长整数字面值 */
%token NCHAR_STRING 611 /* unicode 字符串字面值 */
%token NUM 628 /* 整数字面值 */
%token TEXT_STRING 827 /* 字符串字面值 */
%token ULONGLONG_NUM 849 /* 无符号长整数字面值 */
标识符的 Token
%token IDENT 482
%token IDENT_QUOTED 484
%token UNDERSCORE_CHARSET 852 /* _ 开头的字符集名称 */
特殊元素的 Token
%token LEX_HOSTNAME 529 /* @ 之后的 Token */
%token PARAM_MARKER 652 /* ? 开头的参数值 */
非关键字函数的 Token
日期和时间函数:【MySQL 官方手册】14.7 Date and Time Functions
%token<lexer.keyword> ADDDATE_SYM 263 /* MYSQL-FUNC */
%token CURDATE 357 /* MYSQL-FUNC */
%token CURTIME 362 /* MYSQL-FUNC */
%token DATE_ADD_INTERVAL 368 /* MYSQL-FUNC */
%token DATE_SUB_INTERVAL 369 /* MYSQL-FUNC */
%token EXTRACT_SYM 433 /* SQL-2003-N */
%token NOW_SYM 623
%token<lexer.keyword> SUBDATE_SYM 807
%token SYSDATE 817
聚合函数:【MySQL 官方手册】14.19.1 Aggregate Function Descriptions
%token BIT_AND_SYM 293 /* MYSQL-FUNC */
%token BIT_OR_SYM 294 /* MYSQL-FUNC */
%token BIT_XOR_SYM 296 /* MYSQL-FUNC */
%token COUNT_SYM 352 /* SQL-2003-N */
%token GROUP_CONCAT_SYM 468
%token JSON_ARRAYAGG 921 /* SQL-2015-R (MySQL 8.0) */
%token JSON_OBJECTAGG 920 /* SQL-2015-R (MySQL 8.0) */
%token MAX_SYM 579 /* SQL-2003-N */
%token MIN_SYM 596 /* SQL-2003-N */
%token STD_SYM 800
%token STDDEV_SAMP_SYM 799 /* SQL-2003-N */
%token SUM_SYM 812 /* SQL-2003-N */
%token VAR_SAMP_SYM 882
%token VARIANCE_SYM 880
字符串处理函数:【MySQL 官方手册】
%token SUBSTRING 811 /* SQL-2003-N */
%token TRIM 843 /* SQL-2003-N */
类型转换函数:【MySQL 官方手册】14.10 Cast Functions and Operators
%token CAST_SYM 310 /* SQL-2003-R */
空间分析函数:【MySQL 官方手册】14.16.12 Spatial Aggregate Functions
%token<lexer.keyword> ST_COLLECT_SYM 1189 /* (MySQL 8.0) */
系统变量名的 Token
系统变量名:【MySQL 官方手册】7.1.8 Server System Variables
%token<lexer.keyword> REQUIRE_TABLE_PRIMARY_KEY_CHECK_SYM 996 /* MYSQL (MySQL 8.0) */
MySQL 已移除不再使用的 Token
%token OBSOLETE_TOKEN_271 271 /* was: ANALYSE_SYM */
%token OBSOLETE_TOKEN_388 388 /* was: DES_KEY_FILE */
%token OBSOLETE_TOKEN_538 538 /* was: LOCATOR_SYM */
%token OBSOLETE_TOKEN_654 654 /* was: PARSE_GCOL_EXPR_SYM */
%token OBSOLETE_TOKEN_693 693 /* was: REDOFILE_SYM */
%token OBSOLETE_TOKEN_755 755 /* was: SERVER_OPTIONS */
%token OBSOLETE_TOKEN_784 784 /* was: SQL_CACHE_SYM */
%token OBSOLETE_TOKEN_820 820 /* was: TABLE_REF_PRIORITY */
%token OBSOLETE_TOKEN_848 848 /* was: UDF_RETURNS_SYM */
%token OBSOLETE_TOKEN_893 893 /* was: WITH_CUBE_SYM */
%token<lexer.keyword> OBSOLETE_TOKEN_930 930 /* was: REMOTE_SYM (MySQL 8.0) */
其他用途未知的 Token
%token POSITION_SYM 667 /* SQL-2003-N */
%token<lexer.keyword> RESOURCES 723
%token YYUNDEF 1150 /* INTERNAL (for use in the lexer) (MySQL 8.0) */
%token<lexer.keyword> SOURCE_CONNECTION_AUTO_FAILOVER_SYM 1156 /* MYSQL (MySQL 8.0) */
%token<lexer.keyword> ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS_SYM 1161 /* MYSQL (MySQL 8.0) */
%token DOLLAR_QUOTED_STRING_SYM 1204 /* INTERNAL (used in lexer) (MySQL 8.0) */