MySQL 源码|103 - 非关键字类型的终结符

目录文档: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) */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值