我正在考虑将plsql程序/包转换为java类。我刚刚遇到了“ANTLR PL / SQL 11g解析器”(link)。仍然试图了解它的作用以及如何使用它。假设我在plsql构造和java构造之间有映射,是否可以使用这个plsql解析器生成java代码?
答案 0 :(得分:2)
另一张海报上写着“解析器还不够”。
我同意,但是想要证明解析器距离实现这一过程还有很长的路要走(即使假设它构建了一个完整的AST)。
您还需要至少使用名称和类型解析,以便了解Java遇到PLSQL运算符时要使用的类型和运算符。为了做好,您可能需要各种流量分析(控制和数据流)。
有关困难的一些讨论,请参阅What kinds of patterns could I enforce on the code to make it easier to translate to another programming language?。
答案 1 :(得分:1)
是的,但仅仅在语法上抛出问题是不够的。您需要弄清楚如何将PL / SQL语义映射到Java。使用链接解析器可能会有所帮助,因此在同一项目中提供了抽象语法树walker。生成Java代码应该不难,但也不是一件小事。
答案 2 :(得分:0)
我会使用Xtext和Xtend。真的很神奇。请在vimeo上观看他们的视频。