编译器的"先有鸡还是先有蛋"?

还真有人对这个问题孜孜不倦:-)
既然我能设计编译器,那我设计编译器总不能直接用机器语言写吧,那我写编译器的源代码的编译器在哪里呢?(怎么这么绕)

我是在下面的一个讨论对这个问题感兴趣的
http://stackoverflow.com/questions/18125490/how-was-the-first-c-compiler-written
里面对 大牛Dennis Ritchie写c语言编译器的历史进行了相关阐述,大概就是他原来对B语言不满意,所以不停改进B语言,这个过程是不停迭代的,就是不停用旧一点的语言“自举”新的编译器。有一天诞生了NB语言,大家就把从这个时间点开始说他创造了c语言。他自己都不知道哪天算c语言诞生了:O

这只是C语言的历史.其他语言比如Pascal语言其实是用 Fortran语言写的编译器。
关于自举“Bootstrapping”,你可以在以下Wiki查到相关话题。
https://en.wikipedia.org/wiki/Bootstrapping_%28compilers%29

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容