欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ajoo JRC

程序员文章站 2022-07-04 21:16:38
...
http://jrc.dev.java.net

ajoo项目批准了。
想参与的去java.net上申请一个账号吧。告诉ajoo,可以把你加进去。

cvs:
host: cvs.dev.java.net
repository: /cvs
module: /jrc

项目的缘起可以看这里。
http://forum.iteye.com/viewtopic.php?p=132021#132021

项目总共分3部分。
1. jrc的组合子部分,可以生成AST。
checked out code。看到这部分ajoo已经做了。Relation,
这部分就是SQL的语法元素组合子。ajoo称之为AST。

2. 写parser,把ansi sql翻译成ast。准备用jparsec来写。
这部分是我的任务。要写一个Parser,根据SQL的解析结果产生AST。

jparsec的基本思想参见 Java Functional In Action
http://forum.iteye.com/viewtopic.php?t=7951

jparsec项目参见
http://jparsec.codehaus.org/

3. Visitor
通过实现ast的visitor接口来针对具体dbms生成sql代码。(这里面应该还是有一些设计的技巧可用,来尽量在不同dbms之间重用代码。)
DB Dialect, native SQL.

---------------

JRC的使用过程:

Relation r = parser.parse(sql);

Relation r1 = r.top(n).where(...);

String sql = oracleVisitor.visit(r1);

推荐阅读