【发布时间】:2010-08-06 05:05:37
【问题描述】:
我为通用编程语言编写了一个编译器,它可以生成一个优化的输入解析树。然后通过预处理器运行此中间格式,将其翻译成目标语言,以便随后编译为本机可执行文件。
目前唯一的目标语言是 C++,但我也想提供其他解决方案,以防某些程序可能受益于使用更好地支持源语言中某些结构的后端进行编译。
是否有任何语言专为或非常适合编译器目标的角色?
我知道 LLVM,虽然它本身就是一个令人兴奋的项目,但我认为它的级别太低,无法直接定位。我正在寻找具有高质量实现的通用、中高级语言,其语法能够由 C 预处理器生成——因此与 Python 或 Ruby 完全不同。对 lambdas 的支持会很好,但不是绝对必要的。
【问题讨论】:
-
针对 C# 和 Java 可能很有用。
-
@Steven:Java 是一种明显的可能性,但现在我想远离 .NET,所以 C# 已经出局了。
-
当然是您的来电。我提到这些是因为它们位于两个最流行的 VM 上,并且具有基于 C++ 的语法。我要抛弃的另一个想法是 Objective C,如果只是为了 Mac/iP*d 支持的话。
标签: c++ compiler-construction programming-languages c-preprocessor