我正在开发一个Scala项目。
我可以从一个简单的编译器插件访问Scala编译器中的AST 我还可以编写一个简单的Scala类,并从Java中调用这个Scala类。
有没有办法直接从Java访问这个AST?
答案 0 :(得分:0)
不,因为Scala编译器没有Java API(并且,考虑到它所写的样式,基本上不能有一个)。解析Scala的任何其他库也可能用Scala编写。如果您需要初始AST(在所有desugarings,打字等之前),您可以使用例如ANTLR生成一个解析器,但从以下阶段获取任何东西基本上都需要用Java重建Scala编译器的某些部分。