logo/

China-TuShu.com 致 力 做 中 国 最 好 的 图 书 搜 索 系 统 !
书名:
 
 

高级编译器设计与实现(英文版)

所属分类: 首页 - 计算机 - 计算机理论与方法 - 编译原理
高级编译器设计与实现(英文版) 书   名:  高级编译器设计与实现(英文版)
作   者:  [美]Steven S.Muchnick
出 版 社:  机械工业出版社
ISBN   :   711112771
原    价:  ¥80

有一家网站低于85折正在热销

高级编译器设计与实现(英文版)-图书目录:

Foreword  by  Susan  Graham  vii  Preface  x  Introduction  to  Advanced  Topics  1  1.1  Review  of  Compiler  Structure  1  1.2  Advanced  Issues  in  Elementary  Topics  3  1.3  The  Importance  of  Code  Optimization  6  1.4  Structure  of  Optimizing  Compilers  7  1.5  Placement  of  Optimizations  in  Aggressive  Optimizing  Compilers  11  1.6  Reading  Flow  Among  the  Chapters  14  1.7  Related  Topics  Not  Covered  in  This  Text  16  1.8  Target  Machines  Used  in  Examples  16  1.9  Number  Notations  and  Data  Sizes  16  1.10  Wrap-Up  17  1.11  Further  Reading  18  1.12  Exercises  18  2  Informal  Compiler  Algorithm  Notation  (ICAN)  19  2.1  Extended  Backus-Naur  Form  Syntax  Notation  19  2.2  Introduction  to  ICAN  20  2.3  A  Quick  Overview  of  ICAN  23  2.4  Whole  Programs  25  2.5  Type  Definitions  25  2.6  Declarations  26  2.7  Data  Types  and  Expressions  27  2.8  Statements  36  2.9  Wrap-Up  41  2.10  Further  Reading  41  2.11  Exercises  41  3  Symbol-Table  Structure  43  3.1  Storage  Classes,  Visibility,  and  Lifetimes  43  3.2  Symbol  Attributes  and  Symbol-Table  Entries  45  3.3  Local  Symbol-Table  Management  47  3.4  Global  Symbol-Table  Structure  49  3.5  Storage  Binding  and  Symbolic  Registers  54  3.6  Approaches  to  Generating  Loads  and  Stores  59  3.7  Wrap-Up  64  3.8  Further  Reading  64  3.9  Exercises  64  4  Intermediate  Representations  67  4.1  Issues  in  Designing  an  Intermediate  Language  67  4.2  High-Level  Intermediate  Languages  69  4.3  Medium-Level  Intermediate  Languages  71  4.4  Low-Level  Intermediate  Languages  71  4.5  Multi-Level  Intermediate  Languages  72  4.6  Our  Intermediate  Languages:  MIR,  HIR,  and  LIR  73  4.7  Representing  MIR,  HIR,  and  LIR  in  ICAN  81  4.8  ICAN  Naming  of  Data  Structures  and  Routines  that  Manipulate  Intermediate  Code  92  4.9  Other  Intermediate-Language  Forms  96  4.10  Wrap-Up  101  4.11  Further  Reading  102  4.12  Exercises  102  5  Run-Time  Support  105  5.1  Data  Representations  and  Instructions  106  5.2  Register  Usage  109  5.3  The,Local  Stack  Frame  111  5.4  The  Run-Time  Stack  114  5.5  Parameter-Passing  Disciplines  116  5.6  Procedure  Prologues,  Epilogues,  Calls,  and  Returns  119  5.7  Code  Sharing  and  Position-Independent  Code  127  5.8  Symbolic  and  Polymorphic  Language  Support  131  5.9  Wrap-Up  133  5.10  Further  Reading  134  5.11  Exercises  135  6  Producing  Code  Generators  Automatically  137  6.1  Introduction  to  Automatic  Generation  of  Code  Generators  138  6.2  A  Syntax-Directed  Technique  139  6.3  Introduction  to  Semantics-Directed  Parsing  159  6.4  Tree  Pattern  Matching  and  Dynamic  Programming  160  6.5  Wrap-Up  165  6.6  Further  Reading  166  6.7  Exercises  166  Control-Flow  Analysis  169  7.1  Approaches  to  Control-Flow  Analysis  172  7.2  Depth-First  Search,  Preorder  Traversal,  Postorder  Traversal,  and  Breadth-First  Search  177  7.3  Dominators  and  Postdominators  181  7.4  Loops  and  Strongly  Connected  Components  191  7.5  Reducibility  196  7.6  Interval  Analysis  and  Control  Trees  197  7.7  Structural  Analysis  202  7.8  Wrap-Up  214  7.9  Further  Reading  214  7.10  Exercises  215  8  Data-Flow  Analysis  217  8.1  An  Example:  Reaching  Definitions  218  8.2  Basic  Concepts:  Lattices,  Flow  Functions,  and  Fixed  Points  223  8.3  Taxonomy  of  Data-Flow  Problems  and  Solution  Methods  228  8.4  Iterative  Data-Flow  Analysis  231  8.5  Lattices  of  Flow  Functions  235  8.6  Control-Tree-Based  Data-Flow  Analysis  236  8.7  Structural  Analysis  236  8.8  Interval  Analysis  249  8.9  Other  Approaches  250  8.10  Du-Chains,  Ud-Chains,  and  Webs  251  8.11  Static  Single-Assignment  (SSA)  Form  252  8.12  Dealing  with  Arrays,  Structures,  and  Pointers  258  8.13  Automating  Construction  of  Data-Flow  Analyzers  259  8.14  More  Ambitious  Analyses  261  8.15  Wrap-Up  263  8.16  Further  Reading  264  8.17  Exercises  265  9  Dependence  Analysis  and  Dependence  Graphs  267  9.1  Dependence  Relations  267  9.2  Basic-Block  Dependence  DAGs  269  9.3  Dependences  in  Loops  274  9.4  Dependence  Testing  279  9.5  Program-Dependence  Graphs  284  9.6  Dependences  Between  Dynamically  Allocated  Objects  286  9.7  Wrap-Up  288  9.8  Further  Reading  289  9.9  Exercises  290  10  Alias  Analysis  293  10.1  Aliases  in  Various  Real  Programming  Languages  297  10.2  The  Alias  Gatherer  302  10.3  The  Alias  Propagator  307  10.4  Wrap-Up  314  10.5  Further  Reading  315  10.6  Exercises  316  11  Introduction  to  Optimization  319  11.1  Global  Optimizations  Discussed  in  Chapters  12  Through  18  321  11.2  Flow  Sensitivity  and  May  vs.  Must  Information  323  11.3  Importance  of  Individual  Optimizations  323  11.4  Order  and  Repetition  of  Optimizatious  325  11.5  Further  Reading  328  11.6  Exercises  328  12  Early  Optimizations  329  12.1  Constant-Expression  Evaluation  (Constant  Folding)  329  12.2  Scalar  Replacement  of  Aggregates  331  12.3  Algebraic  Simplifications  and  Reassociation  333  12.4  Value  Numbering  343  12.5  Copy  Propagation  356  12.6  Sparse  Conditional  Constant  Propagation  362  12.7  Wrap-Up  371  12.8  Further  Reading  373  12.9  Exercises  374  13  Redundancy  Elimination  377  13.1  Common-Subexpression  Elimination  378  13.2  Loop-Invariant  Code  Motion  397  13.3  Partial-Redundancy  Elimination  407  13.4  Redundancy  Elimination  and  Reassociation  415  13.5  Code  Hoisting  417  13.6  Wrap-Up  420  13.7  Further  Reading  422  13.8  Exercises  422  14  Loop  Optimizations  425  14.1  Induction-Variable  Optimizations  425  14.2  Unnecessary  Bounds-Checking  Elimination  454  14.3  Wrap-Up  457  14.4  Further  Reading  459  14.5  Exercises  460  15  Procedure  Optimizations  461  15.1  Tail-Call  Optimization  and  Tail-Recursion  Elimination  461  15.2  Procedure  Integration  465  15.3  In-Line  Expansion  470  15.4  Leaf-Routine  Optimization  and  Shrink  Wrapping  472  15.5  Wrap-Up  476  15.6  Further  Reading  478  15.7  Exercises  478  16  Register  Allocation  481  16.1  Register  Allocation  and  Assignment  482  16.2  Local  Methods  483  16.3  Graph  Coloring  485  16.4  Priority-Based  Graph  Coloring  524  16.5  Other  Approaches  to  Register  Allocation  525  16.6  Wrap-Up  526  16.7  Further  Reading  528  16.8  Exercises  529  17  Code  Scheduling  531  17.1  Instruction  Scheduling  532  17.2  Speculative  Loads  and  Boosting  547  17.3  Speculative  Scheduling  548  17.4  Software  Pipelining  548  17.5  Trace  Scheduling  569  17.6  Percolation  Scheduling  571  17.7  Wrap-Up  573  17.8  Further  Reading  575  17.9  Exercises  576  18  Control-Flow  and  Low-Level  Optimizations  579  18.1  Unreachable-Code  Elimination  580  18.2  Straightening  583  18.3  If  Simplifications  585  18.4  Loop  Simplifications  586  18.5  Loop  Inversion  587  18.6  Unswitching  588  18.7  Branch  Optimizations  589  18.8  Tail  Merging  or  Cross  Jumping  590  18.9  Conditional  Moves  591  18.10  Dead-Code  Elimination  592  18.11  Branch  Prediction  597  18.12  Machine  Idioms  and  Instruction  Combining  599  18.13  Wrap-Up  602  18.14  Further  Reading  604  18.15  Exercises  605  19  Interprocedural  Analysis  and  Optimization  607  19.1  Interprocedural  Control-Flow  Analysis:  The  Call  Graph  609  19.2  Interprocedural  Data-Flow  Analysis  619  19.3  Interprocedural  Constant  Propagation  637  19.4  Interprocedural  Alias  Analysis  641  19.5  Interprocedural  Optimizations  656  19.6  Interprocedural  Register  Allocation  659  19.7  Aggregation  of  Global  References  663  19.8  Other  Issues  in  Interprocedural  Program  Management  663  19.9  Wrap-Up  664  19.10  Further  Reading  666  19.11  Exercises  667  20  Optimization  for  the  Memory  Hierarchy  669  20.1  Impact  of  Data  and  Instruction  Caches  670  20.2  Instruction-Cache  Optimization  672  20.3  Scalar  Replacement  of  Array  Elements  682  20.4  Data-Cache  Optimization  687  20.5  Scalar  vs.  Memory-Oriented  Optimizations  700  20.6  Wrap-Up  700  20.7  Further  Reading  703  20.8  Exercises  704  21  Case  Studies  of  Compilers  and  Future  Trends  105  21.1  The  Sun  Compilers  for  SPARC  707  21.2  The  IBM  XL  Compilers  for  the  POWER  and  PowerPC  Architectures  716  21.3  Digital  Equipment\s  Compilers  for  Alpha  726  21.4  The  Intel  Reference  Compilers  for  the  Intel  386  Architecture  Family  734  21.5  Wrap-Up  744  21.6  Future  Trends  in  Compiler  Design  and  Implementation  745  21.7  Further  Reading  746  App.A  Guide  to  Assembly  Languages  Used  in  This  Book  747  A.1  Sun  SPARC  Versions  8  and  9  Assembly  Language  747  A.2  IBM  POWER  and  PowerPC  Assembly  Language  749  A.3  DEC  Alpha  Assembly  Language  750  A.4  Intel  386  Architecture  Assembly  Language  752  A.5  Hewlett-Packard\s  PA~RISC  Assembly  Language  753  App.B  Representation  of  Sets,  Sequences,  Trees,  DAGs,  and  Functions  757  B.1  Representation  of  Sets  759  B.2  Representation  of  Sequences  763  B.3  Representation  of  Trees  and  DAGs  763  B.4  Representation  of  Functions  764  B.5  Further  Reading  765  App.C  Software  Resources  767  C.1  Finding  and  Accessing  Software  on  the  Intemet  767  C.2  Machine  Simulators  767  C.3  Compilers  768  C.4  Code-Generator  Generators:  BURG  and  IBURG  769  C.5  Profiling  Tools  770  List  of  Illustrations  773  List  of  Tables  797  Bibliography  801  Technical  Index  of  Mathematical  Formulas  and  ICAN  Procedures  and  Major  Data  Structures  821  Subject  Index  827

高级编译器设计与实现(英文版)-图书简介:
    本书是经典的编译器著作,与”龙书”齐名。书中针对现代语言和体系结构全面介绍了编译器设计与实现的高级论题,从编译器的基础领域中的高级问题开始,然后深入讨论了各种重要的代码优化。本书专为编译器专业人士和计算机专业本科生、研究生编写,在设计和实现高度优化的编译器以及确定优化的重要性和实现优化的最有效的方法等方面,为读者提供了非常有价值的指导。   本书的主要特点:为理解高级编译器设计的主要问题奠定了基础。 深入阐述了优化问题。 使用四个商业编译器(包括Sun的SPARC,IBM的POWER和PowerPC。DEC的Alpha以及Intel的Pentium 和相关处理器上的编译器)的实例分析说明了编译器结构。中间代码设计和优化的各种方法。 给出了大量的定义明确的代码生成。优化和其他方面的算法。用Informal Compiler Algorthm Notation(ICAN)(一种由作者设计的语言)来以清晰。简洁的方式表达算法。 作者简介:   Steven S.Muchnick具有丰富而广博的经验。他曾经是计算机科学教授,‘后来他将自己的知识和经验应用于编译器设计,成为两种计算机体系结构(惠普的PA-RISC和Sun的SPARC)开发团队的核心成员,并担任这些系统的高级编译器设计与实现的领导人。他的研究和开发经验对于指导读者做出编译器设计决策极具价值。


高级编译器设计与实现(英文版)-相关最新图书
·俄罗斯联邦行政违法法典
·珞巴族:西藏米林县琼林村调查
·财政与金融
·CMD:市场营销总监
·发现岩画
·哈萨克族:新疆吉木乃县巴扎尔湖勒村调查
·伊斯坦布尔
·用万用表修彩电从入门到精通
·京族:广西东兴市山心村调查
·空调器修理从入门到精通
·百战百胜中国革命斗争故事九
·撒拉族:青海循化县石头坡村调查
·Ant权威指南
·维吾尔族:新疆疏附县木苏玛村调查
·吾祖吾宗·黄姓
·物流运输与配送管理
·单身女孩
·中国民族音乐概论
·塔塔尔族:新疆奇台县黑沟村调查
·仡佬族:贵州大方县红丰村调查

 


© 2006 china-tushu 网站地图 全部分类 未分类图书