c# - C# 编译器是用什么语言编写的?

标签 c# compiler-construction roslyn

我在 http://referencesource.microsoft.com/ 查看了源代码,而且所有源代码似乎都在 C# 中。

我还查看了新的 C# 编译器平台 ( Roslyn ) 的源代码,它也是用 C# 编写的。这怎么可能? C#语言编译器是用C#写的吗?还是我错过了一些明显的东西?如果 C# 编译器是用 C# 编写的,那么它是如何工作的?

最佳答案

最初的 C# 编译器不是用 C# 编写的,而是用 C 和 C++ 编写的。新的 Roslyn 编译器是用 C# 编写的,但最初是用旧编译器编译的。一旦新的编译器完成,它就能够编译自己的源代码:这叫做 bootstrapping .

关于c# - C# 编译器是用什么语言编写的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27513234/

相关文章:

c++ - 这个函数定义是如何工作的?

compiler-errors - 在 VS 2017 中编译 MVC 项目时拒绝访问 roslyn 文件夹

c# - 编译 CompilationUnitSyntax 的正确方法

c# - C# 中可能的意外引用比较

compiler-construction - 作为我的编译器的后端?

c# - 第三方dll使程序崩溃,没有抛出异常

optimization - GLSL 编译器优化跨函数的冗余分配

c# - 代码中使用的属性、方法、lambda 表达式

c# - 将复杂数据类型从纯 c 插件传递到 Unity C# 脚本

c# - 出现 ASP 错误 : Mailbox unavailable. 服务器响应为 : Access denied - Invalid HELO name (See RFC2821 4. 1.1.1)