【问题标题】:Best frameworks or methods to write compilers targetting JVM?编写针对 JVM 的编译器的最佳框架或方法?
【发布时间】:2015-04-12 01:31:51
【问题描述】:

是否有任何类似于 LLVM 或 Parrot Compiler Toolkit 的框架可以更轻松地编写针对 JVM 的编译器?

我希望框架具有 AST 到代码生成器。所以,我可以编写一个语言前端,基于框架库构建 AST,然后框架可以完成剩下的工作并编译成 JVM 字节码。

Polyglot 看起来像是一个对我正在尝试做的事情有用的项目。

【问题讨论】:

标签: compiler-construction jvm jvm-languages


【解决方案1】:

首先,我将生成您可以编译的 Java 代码(可选地在内存中)。这将在调试、验证错误和开发时间方面为您省去很多麻烦。一旦你有了稳定的工作,你可以考虑通过编写字节码来提高效率。

这个库Java Runtime Compiler 允许您在运行时在内存中编译一个类和嵌套类。当您调试时,它可以将文件写入磁盘,从而允许您单步执行生成的代码。

您会收到高级的描述性错误消息,并且可以准确地看到代码正在尝试做什么。

【讨论】:

    【解决方案2】:

    这句话

    我希望框架有 AST 到代码生成器。

    告诉我你还有很长的路要走。

    只有一个令人不安的事实:没有 AST 这样的东西。

    在设计语言时,您还以某种方式定义了一组可能的语法树。想想在你设计它之前有人为你的语言编写代码生成器的可能性有多大。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 2012-04-16
      • 2013-06-27
      • 2014-04-15
      相关资源
      最近更新 更多