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

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

SQL 语句的处理过程:

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


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

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


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


(一)词法分析

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


关键字 static SYMBOL symbols[]

函数 static SYMBOL sql_functions[]

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部