0

我打算创建一个 SQL 查询解析器。只需使用适当的标记化和检查订单即可完成。

但我打算从我在编译器设计课程中学到的东西来做(但几年前)

我可以为我想要包含的查询定义语法,但我需要一些初始指导帮助,要实现什么样的解析器?自上而下/自下而上等。这更容易开始。

标记为作业,因为我正在寻找一些指导。

http://blog.tcx.be/2007/05/writing-parser-overview.html - 我查看了这个链接,它帮助我了解如何继续。任何其他帮助表示赞赏。

4

2 回答 2

1

自上而下的递归下降解析器是最容易理解的,因此如果您手动编码,则最容易实现。

不过,您是否考虑过使用解析器生成器?我在最近的一个项目中成功使用了antlr,并且肯定会向其他人推荐它。它有一些很好的教程和一个很好的 GUI 工具,用于对你的语法进行原型设计。

于 2012-04-18T03:19:55.777 回答
1

这个问题有点晚了,但最近我一直在玩SQL Query Parser类,它是 Eclipse DataTools 项目的一部分。安装它并让它工作对我来说有点困难(我不是 Java 开发人员),但我设法做到了,而且它非常容易解析非常复杂的查询。

于 2013-03-21T13:06:06.927 回答