sql解析语法树

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分析器。