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

0 0
原创粉丝点击