标签:编译器-编译原理
* 本学期开了编译原理这门课,自己会问这样的问题
总结理解如下:
编译器在随着硬件和语言的发展,编译器的构造也趋于稳定~
* 在此说明:讨论的是下面编译器的编译部分,至于编译器的汇编和链接部分不做讨论 *
独立的前端 + LLVM
优势是LLVM(编译器后端)
独立的前端 + 独立的后台
(优势是前端,支持多种语言的前端处理)
中间代码是RTL
当我知道他们的优势分别在front end 和 back end 时,我想有没有一款是他们综合的编译器,靠,还真有
LLVM-GCC
诞生的目的真是为了综合两者的优点,但为啥这款编译器没有前两者有名?
原来是随着clang 的不断迭代更新,它的前端已经非常强大,所以LLVM-GCC 就落寞了
维护的力度在不断削弱
* 具体这两个编译器的编译过程,到他们的官网会有详细说明
前两个问题,不再陈述
针对后两个问题,进行思考回答:
我要自己去开发一门新的语言,然后加入自己的语法,但我没有足够的精力去完全设计一个编译器(或者我想最快的实现这一目的)其中之一的办法就是基于上面两个主流的编译器,只做编译器前端,编译器前端有两个有名的工具,LAC和YACC,有了他们,我们就无需自己去手动做词法和语法分析的工作(手动指的是自己去实现词法和语法分析器)。
但是,用这两种工具也有大量不足
新的处理器被推出来,那么,处理器厂商,提供它的处理器编译支持,从而得到该平台下汇编代码,所以各个处理器厂商都会有编译器团队(非常核心)
标签:编译器-编译原理
原文地址:http://blog.csdn.net/luoyuping2016/article/details/46393203