41

C# 编译器是用 C++ 编写的吗?

4

5 回答 5

35

是的,但是有计划用 C# 编写 C# 编译器,我相信在这个播客中已经讨论过。

于 2009-03-10T16:22:17.953 回答
22

是的。

Mono C# 编译器是用 C# 编写的。

于 2009-03-10T16:42:13.617 回答
19

.NET 框架是用 Simple Managed C (SMC) 编写的

历史

在 .NET Framework 的开发过程中,类库最初是使用名为 Simple Managed C (SMC) 的托管代码编译器系统编写的。1999 年 1 月,Anders Hejlsberg 组建了一个团队来构建当时称为 Cool 的新语言,代表“C-like Object Oriented Language”。[16] 微软曾考虑将“Cool”作为语言的最终名称,但出于商标原因选择不这样做。到 .NET 项目在 2000 年 7 月的专业开发者大会上公开宣布时,该语言已重命名为 C#,并且类库和 ASP.NET 运行时已移植到 C#。

来自:http ://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29

于 2011-10-07T05:42:22.070 回答
9

有一个新的(截至 2011 年底)由 Microsoft 编写的 C# 和 VB 编译器,称为Roslyn,分别用 C# 和 VB.NET 编写。项目页面在这里。Roslyn 编译器被编写为一个公开丰富的公共 API 的库。InfoWorld有一篇关于它的新闻文章

更新:截至 2014 年 4 月 3 日,Roslyn 在 Apache License 2.0 下是开源的。

于 2012-05-02T05:22:21.393 回答
8

是的 - 作为大多数 CLR。如果您想查看 CLR 和/或编译器的内部结构,我强烈推荐 Microsoft(又名 Rotor)的 Shared Source CLI:

但是,实际上有一个用 C# 编写的编译器。我相信Mono是这样写的。下载Mono 源代码并亲自了解。

于 2009-03-10T16:42:37.470 回答