出版社: 机械工业出版社
副标题: (英文版·第2版)
原作名: Compilers: Principles, Techniques, and Tools
出版年: 2011-1
页数: 1009
定价: 78.00元
装帧: 平装
丛书: 经典原版书库
ISBN: 9787111326748
内容简介 · · · · · ·
本书是编译领域无可替代的经典著作,被广大计算机专业人士誉为“龙书”。本书上一版自1986年出版以来,被世界各地的著名高等院校和研究机构(包括美国哥伦比亚大学、斯坦福大学、哈佛大学、普林斯顿大学、贝尔实验室)作为本科生和研究生的编译原理课程的教材。该书对我国高等计算机教育领域也产生了重大影响。 第2版对每一章都进行了全面的修订,以反映自上一版出版20多年来软件工程。程序设计语言和计算机体系结构方面的发展对编译技术的影响。本书全面介绍了编译器的设计,并强调编译技术在软件设计和开发中的广泛应用。每章中都包含大量的习题和丰富的参考文献。 本书适合作为高等院校计算机专业本科生和研究生的编译原理与技术课程的教材,也可供广大计算机技术人员参考。
编译原理的创作者
· · · · · ·
-
Alfred V·Aho 作者
作者简介 · · · · · ·
Alfred V.Aho,美国歌伦比亚大学教授,美国国家工程院院士,ACM和IEEE会士,曾获得IEEE的冯·诺伊曼奖。著有多部算法、数据结构、编译器、数据库系统及计算机科学基础方面的著作。
Monica S.Lam,斯坦福大学计算机科学系教授,曾任Tensilica的首席科学家,也是Moka5的首任CEO。曾经主持SUIF项目,该项目产生了最流行的研究用编译器之一。
Ravi Sethi,Avaya实验室总裁,曾任贝尔实验室高级副总裁和Lucent Technologies通信软件的CTO。他曾在宾夕法尼亚州立大学,亚利桑那州立大学和普林斯顿大学任教,是ACM会士。
Jefirey D.Ullman斯坦福大学计算机科学系教授和Gradiance CEO。他的研究兴趣包括数据库理论、数据库集成、数据挖掘和利用信息基础设施教学等。他是美国国家工程学...
Alfred V.Aho,美国歌伦比亚大学教授,美国国家工程院院士,ACM和IEEE会士,曾获得IEEE的冯·诺伊曼奖。著有多部算法、数据结构、编译器、数据库系统及计算机科学基础方面的著作。
Monica S.Lam,斯坦福大学计算机科学系教授,曾任Tensilica的首席科学家,也是Moka5的首任CEO。曾经主持SUIF项目,该项目产生了最流行的研究用编译器之一。
Ravi Sethi,Avaya实验室总裁,曾任贝尔实验室高级副总裁和Lucent Technologies通信软件的CTO。他曾在宾夕法尼亚州立大学,亚利桑那州立大学和普林斯顿大学任教,是ACM会士。
Jefirey D.Ullman斯坦福大学计算机科学系教授和Gradiance CEO。他的研究兴趣包括数据库理论、数据库集成、数据挖掘和利用信息基础设施教学等。他是美国国家工程学院院士、IEEE会士,获得过ACM的Karlstrom杰出教育奖和Knuth奖。
目录 · · · · · ·
1.1 language processors
1.2 the structure of a compiler
1.3 the evolution of programming languages
1.4 the science of building a compiler
1.5 applications of compiler technology
· · · · · · (更多)
1.1 language processors
1.2 the structure of a compiler
1.3 the evolution of programming languages
1.4 the science of building a compiler
1.5 applications of compiler technology
1.6 programming language basics
1.7 summary of chapter 1
1.8 references for chapter 1
2 a simple syntax-directed translator
2.1 introduction
2.2 syntax definition
2.3 syntax-directed translation
2.4 parsing
2.5 a translator for simple expressions
2.6 lexical analysis
2.7 symbol tables
2.8 intermediate code generation
2.9 summary of chapter 2
3 lexical analysis
3.1 the role of the lexical analyzer
3.2 input buffering
3.3 specification of tokens
3.4 recognition of tokens
3.5 the lexical-analyzer generator lex
3.6 finite automata
3.7 from regular expressions to automata
3.8 design of a lexical-analyzer generator
3.9 optimization of dfa-based pattern matchers
3.10 summary of chapter 3
3.11 references for chapter 3
4 syntax analysis
4.1 introduction
4.2 context-free grammars
4.3 writing a grammar
4.4 top-down parsing
4.5 bottom-up parsing
4.6 introduction to lr parsing: simple lr
4.7 more powerful lr parsers
4.8 using ambiguous grammars
4.9 parser generators
4.10 summary of chapter 4
4.11 references for chapter 4
5 syntax-directed translation
5.1 syntax-directed definitions
5.2 evaluation orders for sdd's
5.3 applications of syntax-directed translation
5.4 syntax-directed translation schemes
5.5 hnplementing l-attributed sdd's
5.6 summary of chapter 5
5.7 references for chapter 5
6 intermediate-code generation
6.1 variants of syntax trees
6.2 three-address code
6.3 types and declarations
6.4 translation of expressions
6.5 type checking
6.6 control flow
6.7 backpatching
6.8 switch-statements
6.9 intermediate code for procedures
6.10 summary of chapter 6
6.11 references for chapter 6
7 run-time environments
7.1 storage organization
7.2 stack allocation of space
7.3 access to nonlocal data on the stack
7.4 heap management
7.5 introduction to garbage collection
7.6 introduction to trace-based collection
7.7 short-pause garbage collection
7.8 advanced topics in garbage collection
7.9 summary of chapter 7
7.10 references for chapter 7
8 code generation
8.1 issues m the design of a code generator
8.2 the target language
8.3 addresses in the target code
8.4 basic blocks and flow graphs
8.5 optimization of basic blocks
8.6 a simple code generator
8.7 peephole optimization
8.8 register allocation and assignment
8.9 instruction selection by tree rewriting
8.10 optimal code generation for expressions
8.11 dynamic programming code-generation
8.12 summary of chapter 8
8.13 references for chapter 8
9 machine-independent optimizations
9.1 the principal sources of optimization
9.2 introduction to data-flow analysis
9.3 foundations of data-flow analysis
9.4 constant propagation
9.5 partial-redundancy elimination
9.6 loops in flow graphs
9.7 region-based analysis
9.8 symbolic analysis
9.9 summary of chapter 9
9.10 references for chapter 9
10 instruction-level parallelism
10.1 processor architectures
10.2 code-scheduling constraints
10.3 basic-block scheduling
10.4 global code scheduling
10.5 software pipelining
10.6 summary of chapter 10
10.7 references for chapter 10
11 optimizing for parallelism and locality
11.1 basic concepts
11.2 matrix multiply: an in-depth example
11.3 iteration spaces
11.4 aftlne array indexes
11.5 data reuse
11.6 array data-dependence analysis
11.7 finding synchronization-free parallelism
11.8 synchronization between parallel loops
11.9 pipelining
11.10 locality optimizations
11.11 other uses of affine transforms
11.12 summarv of chapter 11
11.13 references for chapter 11
12 interprocedural analysis
12.1 basic concepts
12.2 why interprocedural analysis?
12.3 a logical representation of data flow
12.4 a simple pointer-analysis algorithm
12.5 context-insensitive interprocedural analysis
12.6 context-sensitive pointer analysis
12.7 datalog implementation by bdd's
12.8 summary of chapter 12
12.9 references for chapter 12
a a complete front end
a.1 the source language
a.2 main
a.3 lexical analyzer
a.4 symbol tables and types
a.5 intermediate code for expressions
a.6 jumping code for boolean expressions
a.7 intermediate code for statements
a.8 parser
a.9 creating the front end
b finding linearly independent solutions
index
· · · · · · (收起)
丛书信息
· · · · · ·
编译原理的书评 · · · · · · ( 全部 31 条 )
读起来痛苦并快乐的一本书
刚开始看龙书,看的一头雾水啊!
这篇书评可能有关键情节透露
已经工作1年多了,大学没学编译原理, 刚开始看龙书,看的一头雾水啊! 高手们有没有指点下的? 好多基础东西都忘记了,java/C ,现在看的都是血泪史啊! (展开)> 更多书评 31篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部12 )
-
机械工业出版社 (2008年12月)9.0分 1028人读过
-
Addison Wesley (2006)8.9分 166人读过
-
机械工业出版社 (2003)8.8分 292人读过
-
人民邮电出版社 (2008)9.4分 62人读过
在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
- Compilers (小天)
- 计算机优秀读物 (Luke)
- compiling (NoWhere)
- IT 二级基础 编译原理(编译、解释、虚拟机)(智力层次-实用性) 1.1.1.8 (ajian005)
- 一些经典的计算机书籍 (幺七)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
订阅关于编译原理的评论:
feed: rss 2.0
0 有用 liyang 2019-10-01 07:58:35
英文版的看过前两章节,还是可以看得懂的,例如语法词法分析,语意分析,都明白是干什么了。后面的ir生成以及对应的optiminzation都没有看!
0 有用 e1vinw 2021-06-27 18:16:55
终于通读了。
2 有用 Vivie 2015-12-06 13:19:29
Fareware. Done, 2015年11月26日
0 有用 Zen 2022-11-06 15:42:38 广东
补课
1 有用 lilde90 2013-09-19 01:22:10
经典之所以成为经典,不是没有原因。基本编译前端你能遇到的东西,龙书无所不包,书中的娓娓道来实让很多教科书汗颜。
0 有用 豆友114514 2023-07-07 16:21:24 浙江
书是好书,但为什么要印成这么小一本。。纸质也不咋样,感觉糟蹋了原著
0 有用 lkjidm 2023-06-28 16:30:02 广东
大名鼎鼎的龙书…但说实话我没咋看进去。复习听课主要还是用老师的PPT,原版书太难啃啦。也不知道为啥,拿到的书是轻型纸,导致我对本书好感下降很多…感觉学到了不少,但可能还真的只是皮毛吧。
0 有用 Zen 2022-11-06 15:42:38 广东
补课
0 有用 大虾萌 2022-08-25 16:57:05 江苏
Compilers里面好多“黑话”呀 感觉编译原理的研究应该已经很成熟了,因为从analyzer到optimization,各个模块都抽象出数学表达,很多步骤也借助于数学公示的推导求解 同样是大型程序,操作系统和数据库的各个模块体现的多为工程上的优化;虽然也有可能是相应教材对工程内容比较侧重,而没有过多着墨于formal推演
0 有用 车裂小可爱 2021-08-27 21:38:26
中文读不懂。。。英文也读不懂。。。。