2012-04-18 55 views
0

我打算创建一个SQL查询分析器。 只需使用正确的标记并检查订单即可完成。解析器SQL Java中

但我计划从东西我在编译器设计课程(但年前)了解到

我可以定义文法我想包括查询做到这一点,但我需要在最初的一些帮助指导,实施什么样的解析器?自上而下/自下而上等等,这是更容易开始。

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

http://blog.tcx.be/2007/05/writing-parser-overview.html - 我看着这个链接,帮助我对如何进行。任何其他帮助表示赞赏。

回答

1

自顶向下的,递归下降解析器是最容易理解,因此最容易实​​现的,如果你是手工编码它。

你有没有考虑使用一个解析器生成有关系吗?我在最近的一个项目中成功使用antlr,肯定会将其推荐给其他人。它有一些很好的教程和一个用于原型语法的好的GUI工具。

+0

你不需要手动编码的解析器。 SQL语法往往很大,你想使用一个强大的解析器生成器。 ANTLR没问题,可能会附带一个已经可用的SQL语法。 – 2012-04-18 06:30:25

+0

我打算只实现一小组功能,并且可能会在其上扩展。简单地学习这一点,不要在任何产品中部署。环境。 所以,自上而下是我的问题最好的开始吧? – sravanreddy001 2012-04-18 15:21:22

1

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