谢谢悟空小秘书的邀请
题主你猜的不错,第一个编译器就是人工纯手工编写的。
有一种编译方法叫迭代法,将一个程序分成很多份,然后让第一份写出的编译器编译第二份,以此类推,编译完所有。人工只需要编译第一份编译器,这样就大大降低了工作量。
举个栗子
c语言程序语言gcc编译才能运行,而gcc本身又是c语言写出来的,那gcc是怎么编译出来的呢?就像先有鸡还是先有蛋的问题。
答案是gcc又由其它语言编译器编译的,一般是汇编语言,那汇编语言是用啥编译的呢?总有一个最初的编译器存在。学过汇编语言的人都知道,汇编语言每一个指令都对应着一个二进制码,在计算机早期,人们都是在纸条上写完程序,然后对照编码表,一步步编译成机器语言的。所以,人的大脑就是最初的那个编译器,只不过速度有点慢而已。
有了机器码,发明了汇编,一切都好办了,最难的就是如何跨出那第一步。
联系客服