Mysql源代码阅读笔记(八) 词法、语法分析器

来源:互联网 发布:sql查询字段的长度 编辑:程序博客网 时间:2024/05/22 01:38

SQL 语句的处理过程:

词法分析,语法分析,语义分析,构造执行树,生成执行计划,计划的执行。


Mysql 并没有使用lex来实现词法分析,但是语法分析却用了yacc

与之对比的Sqlite3数据库,SQLite的词法分析器是手工写的,语法分析器由Lemon生成。


要学习Mysql的分析器,则需要具备lex和yacc的相关知识。


(一)词法分析

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


关键字 static SYMBOL symbols[]

函数 static SYMBOL sql_functions[]




原创粉丝点击