C#编译器是用C++编写的吗?
是的,但是有计划用C#编写一个C#编译器,我相信在这个播客中已经讨论过了.
是.
Mono C#编译器是用C#编写的.
.NET框架是用Simple Managed C(SMC)编写的
历史
在.NET Framework的开发过程中,类库最初是使用名为Simple Managed C(SMC)的托管代码编译器系统编写的.1999年1月,Anders Hejlsberg成立了一个团队来构建一种名为Cool的新语言,代表"C-like面向对象语言".[16] 微软曾考虑将名称"酷"作为该语言的最终名称,但出于商标原因选择不这样做.当.NET项目在2000年7月的专业开发人员大会上公布时,该语言已被重命名为C#,类库和ASP.NET运行时已被移植到C#.
来自:http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29
微软编写的一个新的(截至2011年底)C#和VB编译器名为Roslyn,分别用C#和VB.NET编写.项目页面在这里.Roslyn编译器被编写为一个公开丰富的公共API的库.有一个新闻文章在这里它来自InfoWorld的.
更新:截至2014年4月3日,Roslyn是Apache License 2.0下的开源软件.
是的 - 作为CLR的大部分.如果你想看到CLR和/或编译器的内部,我强烈推荐Microsoft的Shared Source CLI(又名Rotor):
Microsoft下载
维基百科
共享源内部书籍
但是,实际上有一个用C#编写的编译器.我相信Mono就是那样写的.下载Mono资源并自行查找.