sql解析语法树
03 Feb 2016
|
http://www.cnblogs.com/iseast/archive/2005/09/14/236548.html 语法树
有限状态机–单词和关键字的识别
INTERPRETER(解释器)—类行为型模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。通过实现解释器模式,把要执行的Sql语句解释为Sql的语法树。例如一个Select语句的结构如下
http://blog.csdn.net/qq910894904/article/details/34861173
http://blog.csdn.net/qq910894904/article/details/28658421 oceanBase sql http://blog.csdn.net/qq910894904/article/details/34861173 sql解析器
像PostgreSQL,MySQl等一样,OceanBase采用lex和yacc系的词法和语法解析工具生成语法树。GNU下的词法和语法工具为Flex和Bison.Flex利用正则表达式识别SQL语句中的所有词语,Bison则根据类似BNF的语法规则识别SQL语义,从而构建语法树。不熟悉Flex与Bison的同学推荐阅读《FLEX与BISON》(貌似我也没找到其他类似的书籍,^_^),里面也有专门的一章讲述利用Flex与Bison实现一个简单的SQL分析器。