面向对象的本地编译器库

时间:2011-06-20 00:00:05

标签: compiler-construction code-generation native-code

最近我一直在考虑写自己的语言 - 这是我一段时间以来想做的事情。通过使用.Net System.Reflection.Emit库,我在编写简单语言的解析器/编译器方面有一些指导经验。我真的很喜欢使用该库,特别是因为它专注于面向对象的语言设计。

问题在于我宁愿它是一种母语。所以我想知道:有没有好的/简单的库,专注于为面向对象的语言(如System.Reflection.Emit)发出代码,但实际上会发出本机代码而不是托管代码?

注意:我专注于实际的本机代码生成,而不是解析。此外,如果可以从C ++轻松访问库,那将是更好的选择,但任何语言都可以使用。

1 个答案:

答案 0 :(得分:3)

您可能对LLVM感兴趣,clang是一个开源C ++库,专门用作便携式编译器的代码生成后端。它已经用于{{3}} C / C ++ / ObjC编译器等。