ZKX's LAB

编译器是如何编译自己的? 编译器自举编译器

2020-10-08知识10

编译器是如何编译自己的? 老师们讲,编译器是一种软件,那么谁来编译它?? 5 条评论 150 人赞同了该回答 请用“自举”(bootstrap)关键字。显然知友们经常对这个问题感到好奇: 。

编译器是如何编译自己的? 编译器自举编译器

什么语言最适合写编译器/解释器? 任何编译型语言,都可以写编译器,甚至写自己的编译器(自举);解释型语言,无法完成真正的自举,也就是不能为自己写解释器;要问什么最合适?(请注意,这个“最”字不符合新广告法),那当然是C/C++加上汇编了。不信你看看最牛X的编译器框架LLVM,很多语言的编译器都是基于它的,比如CLang。但是也有很多语言在自己壮大之后,就用自己来写编译器编译自己了,比如GOLang。还有,在某种平台之上,可以用某种语言写很多解释器,比如JVM上的那些动态语言和DSL,都用java来做解释,将其翻译成JAVA CODE,再交给JVM去翻译成byte code。

编译器是如何编译自己的? 编译器自举编译器

c语言编译器是用什么于语言写的 第一个C语言编译器应该是用汇编写的,但是第一个成熟的C语言编译器应该是由汇编和C语言共同写的。编译原理讲到了“自举编译器”。大意就是先用底层语言(应该是汇编)写一个能运行,但效率极低的C语言编译器(底层语言不好优化),有了C语言的编译器以后,就可以用C语言好好写一个编译器了,用之前那个运行没问题,但效率低得编译器编译一下,就得到了可以使用的编译器了。

编译器是如何编译自己的? 编译器自举编译器

编程语言的编译器实现自举,会带来什么样的优缺点? 用汇编语言,编写的汇编语言的编译器,用它进行自我循环编译,循环1万次,产生的汇编编译器,与最初用机…

C语言是用什么编写出来的 C语言本身是一种编程规范、标准。编译器把根据这个规范写出来的语句、表达式、函数等转变成为可执行文件(具体看编译原理方面的书籍)。C语言编译器是实现这种语言逻辑的东西,而一般来说,以前的编译器都是用汇编语言来写的,现在c语言的编译器也可用c语言来写(编译器自举-用自身语言实现的编译器来编译自身语言)。这方面都是编译原理的知识,如果你想透彻的了解的话,建议你还是找本编译原理来看看吧~!说不定你自己也能实现一个C语言编译器,甚至实现你自己自创编程语言的编译器。

#编译程序#编译器优化#c语言

随机阅读

qrcode
访问手机版