linux环境中用FLEXBISON进行SQL语法分析资料.pdf

linux环境中用FLEXBISON进行SQL语法分析资料.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux环境中用FLEXBISON进行SQL语法分析资料

实用第一厂智慧密集 Li nux 珠厦巾使用Fl ex 、Bi so n 进行SQL 语法分析 ?????????????????????????孙兆玉 朱鸿宇 黄宇光 摘 要 本文以查询语句分析为例,从问题描述、语法范式构建、词法分析、语法分析和应 ????用接口设计等方面详细阐述了一种 SQL 语句解析的通用策略,并介绍了与之相关 ????的冲突消解、可重入策略和错误处理三个方面的技术。 关键词 BNF 范式,词法分析,语法分析,冲突消解,可重入 以减少大量的编码。 一、 引言 ??Bi son 主要功能是根据用户定义的 LALR (1)上下文无关文 ??S QL 是面向关系数据库操作的一门成熟的高级语言,它是 法系统描述规则 ,生成 自动进行语法分析的程序。它的通用 数据库管理系统强大的管理操作接口。每个数据库管理系统 性使其能在各种编译器 、解释工具的设计上发挥优势。并且 ?( DBM S) 都包含有自己的SQL 语法、语义分析模块,但通常 Bi so n 兼容yac c 的语法规则。 都不向外提供具体的分析功能函数以及数据结构。然而实际 应用中,却有很多地方需要进行 SQ L 语法分析,如: 不同标 三、SQL 语法分析的特点与目标 准 SQL 互相翻译、面向SQL 编辑器的报错提示、基于SQL 语 ??从 生成语言的角度看,SQL 语言系统的设计遵循标准文法 句的任务分析统计、SQL 操作图形化等。 规则,具有完善的词法和语法体系。通常一个 SQ L 语法分析 ??本 文介绍了一种采用Fl ex 、Bi so n 分析工具进行SQL 语法 系统应该包括语言实例、语法规则 、定制规则、分析器 、分 分析的通用策略,解决了SQL 分析过程中的冲突消解、可重 析结果 (语法语义树表达形式) 几部分组成如图1所示。sQL 人策略和错误处理三大问题,实现了对Or ac le 的SQL 语句进 语法规则和定制规则是构造分析器的直接依据,语言实例和 行语法分析并构建完整的SQL 语法树的目标,为进一步的处 结果分别是分析器的输人和输出。 理提供了方便。 二、 Flex、Bison 工具 ??Fl ex 、Bi so n 是上个世纪80 年代左右出现的Uni x 环境下分 析编译工具 lex 、ya cc 的 GNU 版本 。当时贝尔实验室的 Stephen C·Johnson 是yac。最主要的作者,他采纳了很多先进 算法思想,将 yac c 打造成为一个成功的语法分析编译工具。 其后 ,M . E. 1,sk an d E Sc hm idt 成功推出了词法扫描工具 le x,它与yac c 是天生兄弟,lex 架构上采用了yac c 模式,字 图 I SQ L 语言分析系统 符串扫描采用了A. V,Aho 的算法机制,因此,sch midt 常谦 称 Johnson 和 Aho 才是 1ox 的元老作者。后来,GNU 社区在 ??S QL 固有的语法规则采用流图模式层层展开,是用来描述 lex、yacc 基础上,推出了Fl ex、Bison,然后随着不断的技术 其中顺序

文档评论(0)

maxmin + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档