thomson笔记本热启动键 C语言本身是用什么语言写的?

[更新]
·
·
分类:互联网
2005 阅读

thomson笔记本热启动键

thomson笔记本热启动键 C语言本身是用什么语言写的?

C语言本身是用什么语言写的?

C语言本身是用什么语言写的?

它是用c语言写的。

这里有个概念,就是编程语言的自举。

自举字面上的意思是你可以提升自己。换句话说,在一种编程语言中,你可以自己编译。也就是说,C语言可以通过C语言编写自己的编译器。

自举通常需要3-4个步骤。

1.创建一个引导编译器环境。

2.编译引导编译器。

3.通过引导编译器来编译完整的编译器。

4.通过第三步中的完整编译器编译完整编译器。

在第四步中获得的编译器是引导编译器。

那么问题来了,第二步的编译器是用什么语言写的,是怎么产生的?

这是关于了解什么是编程语言。简而言之,编程语言可以分为机器语言(0101)、汇编语言(可以理解为机器语言的简单英文翻译)和高级语言(这是我们平时接触到的编程语言,再细分的话还有编译语言和解析语言等。).

参考丹尼斯·m·里奇写的《语言的发展:c历史》。

肯·汤姆森对BCPL并不满意,于是他设计了B语言,并和BCPL一起为B语言编写了一个编译器,然后从这个编译器中自举了一个新的B语言编译器。

贝尔实验室的每个人都在PDP-7上用B语言写了各种东西,然后就对B语言不满意了。于是在1971年,DMR开始在新买的PDP-11上写从B到B的扩展,称之为new B(简称NB)。新B与原来的B语言渐行渐远,于是以BCPL的第二个字母C作为新B的新名字,C语言诞生了。

1973年夏天,他们用手边的编译器和语言重写了PDP-11的Unix内核。就这样,C语言与unix/linux结下了不解之缘。

顺便说一下,BCPL也是一种引导语言。后来也有人用汇编语言写C语言的编译器,C语言的语法是透明开放的。你可以用任何语言实现C语言的编译器。

所以答案就变成了,第一版C语言编译器是用B语言写的。现在你可以用任何语言来实现C语言的编译器。