您将使用什么来构建.NET的新编译器?

时间:2009-12-30 21:52:22

标签: .net compiler-construction cil

我正在研究一种新的玩具语言,它将静态编译为.NET的IL代码。

副手我可以想到以下实际生成IL,但我愿意接受替代方案:

  • 丝丝
  • ILASM

3 个答案:

答案 0 :(得分:2)

还有通用编译器基础结构(AST/CodeMetadata),当然还有令人尊敬的Reflection.Emit。我自己没有任何CCI经验,但this page似乎是IL翻译方面的一个很好的起点。

答案 1 :(得分:1)

您可以使用此编译器生成器编写自己的语言。我用过它。它非常易于使用和理解。

CoCo/R

http://en.wikipedia.org/wiki/Coco/R

答案 2 :(得分:0)

如果MSIL生成本身并不重要,您可以将您的语言“编译”(翻译)为C#,然后使用常规的dotnet编译器。我认为这样做要容易得多,尽管你没有那么多的空间来实现深奥的性能优化等等。翻译成普通的高级语言肯定是我在任何这种新语言情况下的首选,我不关心优化编译速度。