我正在考虑将 plsql 过程/包转换为 java 类。我刚刚遇到“ANTLR PL/SQL 11g 解析器”(链接)。仍在尝试了解它的作用以及如何使用它。假设我有 plsql 构造和 java 构造之间的映射,是否可以使用这个 plsql 解析器来生成 java 代码?
问问题
250 次
3 回答
2
另一张海报说“解析器是不够的”。
我同意,但想说明解析器距离实现这一点还有很长的路要走(即使假设它构建了一个完整的 AST)。
您还至少需要名称和类型解析,以便在遇到 PLSQL 运算符时知道在 Java 中使用哪些类型和运算符。要做好工作,您可能需要各种流分析(控制和数据流)。
请参阅我可以对代码强制执行哪些类型的模式以使其更容易转换为另一种编程语言?关于困难的一些讨论。
于 2011-10-20T17:19:08.040 回答
1
是的,但仅仅在问题上抛出语法是不够的。您需要弄清楚如何将 PL/SQL 语义映射到 Java。使用链接解析器可能会有所帮助,就像同一个项目中提供的抽象语法树遍历器一样。生成 Java 代码应该不难,但也不是一件容易的事。
于 2011-10-19T16:53:01.903 回答
0
我会使用 Xtext 和 Xtend。真的很神奇。请在 vimeo 上查看他们的视频。
于 2011-10-26T13:14:01.280 回答