鉴于Scala AST,有没有办法生成Scala源代码?
我正在研究通过解析/分析其他Scala源来自动生成Scala源的方法。任何提示将不胜感激!
答案 0 :(得分:7)
我已成功使用Mirko Stocker的Scala-Refactoring完成此任务。
对于综合构建AST,它强烈依赖于Scala的NSC的现有Tree DSL。
虽然代码有点混乱,但您可以在我的项目ScalaCollider-UGens中找到示例用法。
我还在Johannes Rudolph找到了一个非常有用的课程。
答案 1 :(得分:0)
请参阅我们的DMS Software Reengineering Toolkit。
DMS提供了一个完整的生态系统,用于解析/分析/优化/转换多种语言的源代码。它通过为这些任务提供通用机制作为其核心功能来实现这一目标,并根据明确提供的语言定义(“前端”)对其进行专门化。 DMS具有许多语言的前端(C,C ++,C#,Java,COBOL,...),这些语言已经在愤怒中使用,并且是一个非常快速地定义其他语言的过程。
我们或多或少地不断扩展语言集。 DMS已经实现了Scala前端的一部分,我们知道如何基于我们构建的其他30多个前端来完成它,特别强调Java的知识。