Parsing lexer/解析器可以用作转码器吗?

Parsing lexer/解析器可以用作转码器吗?,parsing,plsql,antlr,transcode,Parsing,Plsql,Antlr,Transcode,我正在考虑将plsql过程/包转换为java类。我刚刚遇到了“antlrpl/sql11g解析器”()。仍在努力理解它的功能以及如何使用它。假设我有plsql构造和java构造之间的映射,是否可以使用此plsql解析器生成java代码?是的,但仅仅针对问题抛出语法是不够的。您需要弄清楚如何将PL/SQL语义映射到Java。使用链接解析器可能会有所帮助,就像同一项目中提供的抽象语法树遍历器一样。生成Java代码应该不难,但也不是一件小事。另一张海报说“解析器是不够的” 我同意,但我想说明的是,解析

我正在考虑将plsql过程/包转换为java类。我刚刚遇到了“antlrpl/sql11g解析器”()。仍在努力理解它的功能以及如何使用它。假设我有plsql构造和java构造之间的映射,是否可以使用此plsql解析器生成java代码?

是的,但仅仅针对问题抛出语法是不够的。您需要弄清楚如何将PL/SQL语义映射到Java。使用链接解析器可能会有所帮助,就像同一项目中提供的抽象语法树遍历器一样。生成Java代码应该不难,但也不是一件小事。

另一张海报说“解析器是不够的”

我同意,但我想说明的是,解析器离实现这一点还有很长的路要走(即使假设它构建了一个完整的AST)

您还至少需要名称和类型解析,以便在遇到PLSQL运算符时知道在Java中使用哪些类型和运算符。要做好这项工作,您可能需要各种流分析(控制流和数据流)


有关困难的一些讨论,请参阅。

我将使用Xtext和Xtend。真神奇。请在vimeo上观看他们的视频