Microsoft CCI - 资源,编写编译器的参考资料

时间:2009-09-04 16:47:10

标签: c# compiler-construction abstract-syntax-tree cci

前段时间,我正在编写编译器,我使用System.Reflection从AST生成代码(IL)。现在,我已经想到了另一个我想要处理的编译器(它将是另一个宠物项目,没有任何将在生产代码中使用,至少,现在不是)。

如您所知,宠物项目比生产代码有一个很大的优势:您可以尝试并失败。所以,我决定尝试使用Microsoft's CCI编写编译器。

我发现的唯一好的参考是基本语言的示例编译器(这是CCI在codeplex上的一部分),但是,我更喜欢有一些其他资源,更像是教程,书籍,文章,其中我可以获得除学习代码之外的更多信息(这并不总是学习某些东西的最佳方法,因为你看到了解决方案,但你不知道你有什么替代品,或者为什么这样的代码有效)。

所以:在编写编译器和处理AST的背景下,你有关于CCI的任何资源(教程,书籍)吗?

1 个答案:

答案 0 :(得分:2)

首先,对于那些不熟悉CCI的人,我会抛出一些链接:

  1. CCI-AST用于生成和编译抽象语法树的项目。
  2. CCI-Metadata用于读取/写入clr程序集的元数据的项目,还支持读/写pdb。
  3. CCI-Samples项目包含小型基本编译器,我在第一篇文章中提及。
  4. Lang.Net关于CCI的介绍,有点“为什么以及如何?”
  5. VCC - 并发c编译器,在CCI之上。我还没有挖掘它,但我希望它是另一个大项目,没有任何解释,从一开始就学习构建编译器不好(除此之外,它主要用F#编写)。