我正在尝试将PLSQL代码转换为JavaScript代码。 我正在使用Antlr4这个语法:https://github.com/developeron29/PLSQLParser。
我使用了监听器来翻译代码片段,如下所示:
@Override
public void enterBody(BodyContext ctx) {
functionBody += "function " + funcName + "{\n;
}
@Override
public void exitBody(BodyContext ctx) {
functionBody += "}\n;
}
...
它工作得很好,但代码增长很快,而且变得无法维护。
有没有更好/更清洁的方法来进行这种翻译?
答案 0 :(得分:3)
如果您可以逐个翻译语言元素,那么ANTLR-Listener方法就可以了。
或者您可以考虑使用ANTLR-Visitor方法。我认为如果你期望几个编译器传递具有不同的解析树遍历策略或不同的中间结果,那么它是合适的: