Ken*_*art 35

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

  • @Josh:以前版本的编译器.它是迭代的,而不是递归的.他们没有使用相同版本的编译器来编译自己.相反,它们使用以前的版本实现下一版本的编译器. (16认同)
  • 它被称为Bootstrapping,并且使用用自己语言编写的编译器是相当普遍的.这通常也是一种自豪感,并标志着该语言的一个重要里程碑.http://en.wikipedia.org/wiki/Bootstrapping_(compilers) (15认同)
  • 没什么不寻常的.很大一部分"严肃"语言最终被自助托管. (12认同)
  • 要添加一个有意义的真实世界示例,使用去年的电动螺丝刀模型来组装今年的模型是不是错了? (10认同)
  • 这篇文章正在老化.用C#编写的C#编译器是现实(.Net)吗? (5认同)
  • 嗯,表面上看起来很傻,有点像用狗粮制作狗粮.不过,我确信它有价值. (2认同)

Moh*_*nad 22

是.

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

  • 编译单声道C#编译器的编译器是否也用C#编写? (6认同)

Kak*_*shi 18

.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


dod*_*der 9

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

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


Dav*_*uda 8

是的 - 作为CLR的大部分.如果你想看到CLR和/或编译器的内部,我强烈推荐Microsoft的Shared Source CLI(又名Rotor):

但是,实际上有一个用C#编写的编译器.我相信Mono就是那样写的.下载Mono资源自行查找.