compilers

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Compilers(编译器)是一种程序,它能够将人类可读形式的源代码(source code)转换成机器可读形式的目标代码(object code)。编译器的设计和实现过程是软件工程中非常重要且复杂的任务,涉及到词法分析、文法解析、代码优化、目标代码生成等多个方面。《编译原理》(Compilers: Principles, Techniques, and Tools)是一本经典的编译器教材,该由美国计算机科学家Aho、Sethi和Ullman编写。 该全面地介绍了编译器设计和实现中的各个方面,包括词法分析、语法分析、翻译文法、符号表管理、中间代码生成、代码优化等。此外,该还用自底向上的方法系统地阐述了编译程序的实现过程,例如分析算法的设计、语法分析、语法制导翻译、代码生成和代码优化等。 《编译原理》这本经典教材不仅详细讲述了编译器的各个方面,同时也包含了很多实用的例子和练习,这些例子和练习能够帮助读者更好地理解和掌握编译器的核心概念和技术。同时,这本还介绍了当前最普及和流行的编译器设计和实现工具,例如LEX、YACC、GCC等,这也让读者更容易地学习和使用编译器工具。如果您希望深入了解编译器的原理、技术和工具,那么这本是您的最佳选择。 ### 回答2: 编译器:原理、技术和工具是计算机科学中一本非常著名的籍。该提供了关于编译器的全面知识,包括编译器的基本概念、原理、技术和工具。它深入探讨了编译器如何将高级程序语言转换成机器级语言的过程,并介绍了可以用于编写编译器的最新技术和工具。 这本首先介绍了编译器的基本概念和编译过程的各个阶段,包括词法分析、语法分析、语义分析、代码优化和代码生成等。随后,作者详细讨论了各种编译器设计和实现的技术,包括递归下降语法分析器、LR分析器、语法制导翻译和符号表管理等。此外,该还介绍了一些常见的编译器问题,如符号解析、类型检查、代码生成和性能分析等。 除了介绍编译器的原理和技术,该还介绍了许多开源编译器工具和库,如Flex、Bison、LLVM和GCC等。这些工具和库可以帮助程序员设计和实现自己的编译器,从而更好地理解这些概念和技术。 总之,编译器:原理、技术和工具这本是程序员、计算机科学家和软件工程师的必读之作。它提供了部分具有深度的理论和部分实用的编程技巧,在某种程度上还说明了如何进行编译器的开发和实现。 ### 回答3: 编译器:原理、技术和工具是一本关于编译器设计和实现的经典教材。此讲述了编译器在计算机科学中的作用和应用,介绍了它的发展历程和基本原理。 本的第一部分系统地介绍了编译器的各个组成部分和功能,包括词法分析、语法分析、中间代码生成和目标代码生成等。此外,还介绍了高级语言的特点和编译器设计中的一些基本原则。 在第二部分中,作者详细介绍了编译器设计的高级技术和算法,包括目标代码优化、语法制导翻译和几种额外的功能。此外,还讨论了一些具体编译器实现的例子和案例,介绍了一些开源编译器和工具。 本的第三部分介绍了编译器设计中的实际问题和困难,包括错误处理、代码生成质量和编译时间等问题。这一部分提供了一些解决问题的方法和技巧。 总之,编译器:原理、技术和工具是一本非常实用和有价值的计算机科学教材,对于学习和理解编译器的基本概念和实现方法有很大的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值