我开始学习编译器创建,找到了一些很好的入门和高级资料,但其中没有介于两者之间的内容。我已经为玩具语言创建了三个不同的简单概念验证编译器,但我想接触一些真实的东西。
在语法方面最直接的真实语言似乎是C。由于我现在最熟悉的语言是C#,我想研究一个用C#编写的真正的非教程C编译器的源代码。这样的编译器(包括源代码)存在吗?
理想情况下,我希望有一个用C#编写的C编译器,而不是.NET或C#编译器。
我知道C# --> C 的感觉有点反向,但这将使我更容易地深入学习编译器,因为我首先使用的是熟悉的语言,然后再去改变它。
尽管我不想寻找C#/.NET编译器,但以下列出了一些编译器以供需要这类编译器的人参考:
- 为.NET Framework创建语言编译器
- Mono C# 编译器
- 纯C#编写的C#编译器的源代码(.NET v1)(感谢Luiscencio)