数据库技术之存储过程设计与实现(一)

语法词法解析

这一部分我在之前的博文 使用flex和bison实现的sql引擎解析》中讲过,如何利用flex 和bison 进行词法和语法的解析,我不在多讲,这一部分可以参考一本书flex&bison中文版

这本书详细的介绍了进行词法语法解析的步骤

原创性声明

此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/39251241如果进行转载请注明出处。本文作者原创,邮箱zhujunxxxxx@163.com,如有问题请联系作者

数据结构设计

在进行词法语法解析后我们的目的是获取一颗语法解析树,并不是实际意义上的一颗“树”,在我们的存储过程中是使用的一个List来表示语法树的,因为我们做的存储过程是解释执行的。

我们得用一定的数据结构来表示这颗树

数据库技术之存储过程设计与实现(一)

这图的结构可以看出各个节点之间的关系

语法树数据结构(中间代码)

经过我们的词法语法解析过后就会生成如下图所示的数据结构

数据库技术之存储过程设计与实现(一)

在生成语法树过后我们就要进行解释执行了,下篇博客进行讲解

此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/39251241如果进行转载请注明出处。本文作者原创,邮箱zhujunxxxxx@163.com,如有问题请联系作者

作者简介

作者是一名软件工程出生的苦逼程序员,本科阶段也是软件工程,目前研究生在读,热爱新技术,热爱编程,为人幽默,热爱开源。

个人网站:http://www.zhujuncoding.com/

github: https://github.com/zhujunxxxxx/

邮箱: zhujunxxxxx@163.com

 

 

数据库技术之存储过程设计与实现(一)

上一篇:在论坛中出现的比较难的sql问题:22(字符串拆分、字符串合并、非连续数字的间隔范围、随机返回字符串)


下一篇:【PHP&&MySQL详解】