编写针对JVM的编译器的最佳框架或方法?

时间:2015-02-20 13:09:59

标签: compiler-construction jvm jvm-languages

是否存在类似于LLVM或Parrot Compiler Toolkit的框架,这使得编写针对JVM的编译器更容易?

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

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

2 个答案:

答案 0 :(得分:1)

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

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

您可以获得高级别的描述性错误消息,并且可以准确查看代码尝试执行的操作。

答案 1 :(得分:0)

这句话

  

我希望框架能够将AST转换为代码生成器。

告诉我你在你之前已经走了很长的路。

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

当您设计语言时,您还会以某种方式定义可能的语法树集。想想在你设计它之前,有人为你的语言编写代码生成器是多么不可能。