是否存在类似于LLVM或Parrot Compiler Toolkit的框架,这使得编写针对JVM的编译器更容易?
我希望框架能够将AST用于代码生成器。所以,我可以编写一个基于框架库构建AST的语言前端,然后框架可以完成剩下的工作并编译成JVM字节码。
Polyglot看起来像是一个对我正在尝试做的事情有用的项目。
答案 0 :(得分:1)
首先,我将生成可以编译的Java代码(可选择在内存中)。这将在调试,验证错误和开发时间方面为您节省很多麻烦。一旦你有了稳定的工作,你就可以通过编写字节代码来提高效率。
此库Java Runtime Compiler允许您在运行时在内存中编译类和嵌套类。在调试时,它可以将文件写入磁盘,允许您单步执行生成的代码。
您可以获得高级别的描述性错误消息,并且可以准确查看代码尝试执行的操作。
答案 1 :(得分:0)
这句话
我希望框架能够将AST转换为代码生成器。
告诉我你在你之前已经走了很长的路。
只有一个令人不安的事实:没有 AST这样的东西。
当您设计语言时,您还会以某种方式定义可能的语法树集。想想在你设计它之前,有人为你的语言编写代码生成器是多么不可能。