从AST生成源代码

时间:2017-07-31 07:29:25

标签: antlr4 abstract-syntax-tree

据我所知,任何源代码都可以转换为AST。现在我想将AST转换回源代码,但语言无关。有没有什么工具可以帮助我? 与语言无关,我特别指的是pythonjava

2 个答案:

答案 0 :(得分:1)

你所想到的是一个源代码翻译器,它涉及的不仅仅是从解析树生成一些代码(ANTLR4不会创建一个AST btw。)。通常这样的翻译器将解析树转换为中间表示,该表示抽象各种语言结构,然后使用它来生成目标语言的代码(对目标语言中不可用的源语言进行大量特殊处理,优化等)。

答案 1 :(得分:0)

根据我的意见,你无法将AST转换回源代码。因为生成的ast可能是任何语言,你不能将它转换回任何你想要的语言。