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

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

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

是。

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

.NET框架是用简单托pipeC(SMC)编写的,

历史

在.NET Framework的开发过程中,这些类库最初是使用一种名为Simple Managed C(SMC)的托pipe代码编译器系统编写的。1999年1月,Anders Hejlsberg组build了一个团队,在当时build立了一种叫做Cool的新语言,代表“类C面向对象语言”[16]。 微软曾考虑将“Cool”这个名字作为该语言的最终名称,但由于商标原因,select不这样做。 当.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和/或编译器的内部,我会强烈推荐来自微软(又名Rotor)的Shared Source CLI:

  • 微软下载
  • 维基百科
  • 共享源内部书

但是,实际上有一个用C#编写的编译器。 我相信单声道是这样写的。 下载单声道来源 ,找出自己的。