关闭

MySQL解析器

标签: mysqlsqlflex优化存储
1304人阅读 评论(0) 收藏 举报

MySQL解析器由两部分组成:

1.词法分析

扫描字符流,根据构词规则识别单个单词。

MySQL使用Flex来生成词法扫描程序

在sql/lex.h中定义了MySQL关键字和函数关键字,用两个数组存储

2.语法分析

在词法分析的基础上将单词序列组成语法短语,最后生成语法树,提交给优化器

语法分析器使用Bison,在sql/sql_yacc.yy中定义了语法规则。

根据关系代数理论生成语法树

3.在sql目录下,有许多以sql_开头命名的文件,用于接受语法树,执行不同的查询,如sql_select.cc用于select查询

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    自我介绍
    淘宝花名:印风
    专注于MySQL内核代码
    Email: zhaiwx1987@gmail.com
    博客专栏
    文章分类
    最新评论