compiler-construction - 编程语言和编译器

标签 compiler-construction programming-languages

我正在与我的 friend 进行讨论,并意识到这可能是提出这个问题的最佳地点?

一门新语言是如何诞生的?这种新语言NEW必须用某种旧语言OLD编写(例如C++在初始阶段是用C编写的),或者这是如何创建的? 而且,如果没有编译器,这种新语言如何自行工作?那么,必须有一些编译器吗?谁为其编写编译器?

那么,所有这些如何协同工作,新语言及其编译器,新语言与其旧基础语言的关系?

最佳答案

您用实现语言编写编译器,直到编译器可以开始编译足够的新语言以用于实现新语言的其余部分。

这就是它的工作原理。

编辑:澄清一下,这个答案的评论者也是正确的。除非您愿意,否则编译器不必用新语言编写。如前所述,有些人不会走那条路,而是继续使用原始的实现语言。

关于compiler-construction - 编程语言和编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1173780/

相关文章:

iphone - 什么是好的c编译器

C++ 库编程错误 : ld: symbol(s) not found for architecture x86_64

programming-languages - 有没有没有全局变量的编程语言?

c - 静态初始化变量(在编译时)

c编译器错误链接

c# - 为什么在一个案例语句中声明的变量在其他案例的范围内?

oop - 面向对象编程的替代方案?

design-patterns - 协议(protocol):为什么一致性检查和可选要求需要@ObjC?

c - 包含 C 中每个可能的构造的引用代码

programming-languages - 何时使用处理语言?