我已经为一种通用编程语言编写了一个编译器,可以生成其输入的优化解析树。然后通过预处理器运行此中间格式,将其翻译成目标语言,以便随后编译成 native 可执行文件。
目前唯一的目标语言是 C++,但我也想提供其他解决方案,以防某些程序可能受益于使用更好地支持源语言中某些结构的后端进行编译。
是否有任何语言专为或非常适合编译器目标的角色?
我知道 LLVM,尽管它本身就是一个令人兴奋的项目,但我认为它的级别太低,无法直接作为目标。我正在寻找具有高质量实现的通用、中高级语言,其语法能够由 C 预处理器生成——因此与 Python 或 Ruby 完全不同。支持 lambda 会很好,但并非绝对必要。
最佳答案
JavaScript,我想补充一下。像 C 的语法,有 lambdas,非常流行,有非常快速的 HQ 实现,可以编译成本地代码并且随处可用。 双重加法:您可以在任何网络浏览器中演示您的编译器,如果您有可以生成 JavaScript 的东西,那么今天每个人都在听。
关于c++ - 我的编译器应该针对哪些后端语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3421131/