compilers
来源:互联网 发布:淘宝店招颜色 编辑:程序博客网 时间:2024/06/10 02:44
0.编译器的整体构架
编译器: 词法分析->语法分析->中间代码生成->(代码优化)->目标代码生成的流程。
其中词法分析严重影响着编译器的性能,对词法分析的优化很必要。提高词法分析速度的一个主要途径是使用高效的缓冲管理机制。另一个主要的方面就是实现优化的匹配控制流程。 对于词法分析和语法分析有很多的代码自动生成工具,使用这些工具生成的代码据说速度也很快,一般初学者写出的词法分析和语法分析模块的速度很难超过工具生成的代码。据说GCC的词法分析和语法分析便是使用工具自动生成的。但也有不少牛人嫌工具生成的代码太大太慢,他们喜欢自己手动书写。 语法分析的结果通常是一棵语法树,语法树也是一种中间代码的形式,不知道有没有编译器直接使用语法树作为中间代码。中间代码的形式通常应该接近汇编,既:操作符 操作数1, 操作数2 的形式。很象intel汇编中的mov ex, 4。
1.推荐参考书
1.龙书(Dragon book)
书名是Compilers: Principles,Techniques,and Tools
作者是:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman
2.鲸书(Whale book)
作者是:Steven S.Muchnick 也就是高级编译原理
3.虎书(Tiger book)
作者是:Andrew W.Appel,with Jens Palsberg 这本书是3本书中最薄的一本,也是最最牛的一本!
2.关于编译器的图书资料汇总
http://www.360doc.com/content/15/0905/12/19474439_497013325.shtml
两个新闻组:
http://groups.google.com/group/comp.compilers?hl=en
http://compilers.iecc.com/index.phtml
- compilers
- GNU compilers
- Introduce some c++ compilers
- Free C, C++ Compilers
- 4.7 Scene Graph Compilers
- List of compilers
- Free Fortran Compilers
- compilers在VS2005中的命运!
- Compatibility with non-GNU compilers
- c++教程(一:Compilers)
- compilation 的 compilers 的 compiler 元素
- Compilers:Principles,Techniques,Tools,The PurpleDragon
- Comparison of popular compilers and IDEs
- An incomplete list of C++ compilers
- Building NetCDF* with the Intel® Compilers
- Compilers(Dragon Book 2nd) - 4.9
- Compilers(Dragon Book 2nd) - 5.3
- Compilers(Dragon Book 2nd) - 5.4
- SQL 替换语句汇总
- 电视剧《陈真》1981主题曲大号是中华
- 倍数提高工作效率的Android Studio奇技
- win7 64bit显示器波纹问题
- gdb崩溃定位
- compilers
- JPA EntityManager详解(一)
- Vim移动命令
- MySQL修改root密码
- java bufferedreader 与inputstream的区别
- dom4j 创建,解析xml
- 用PS求图片中面积
- yii1.1.14
- getline的bug