
最 低 价:¥28.40
定 价:¥38.00
作 者:(美)Andrew W.Appel,with Jens Palsberg 著
出 版 社:高等教育出版社
出版时间:2003 年8月
I S B N:7040135019
| 本套教学用书的特点: ·权威性——教育部高等教育司推荐、教育部高等学校信息科学与技术引进教材专家组遴选 ·系统性——覆盖计算机专业主干课程和非计算机专业计算机基础课程 ·先进性——著名计算机专家近两年的最新著作,内容体系先进 ·经济性——价格与国内自编材相当,是国内引进教材价格最低的 |
| Adrew W. Appel is Professor of Computer Science at Princeton University. He has done research and published papers on compilers, functional programming languages, runtime systems and garbage collection, type systems, and computer security; he is also author of the book Compiling with Continuations. He is a designer and founder of the Standard ML of New Jersey project. In 1998, Appel was elected a Fellow of the Association for Computing Machinery .. << 查看详细 |
| preface part i fundamentals of compilation 1 introduction 1.1 modules and interfaces 1.2 tools and software 1.3 data structures for tree languages 2 lexical analysis 2.1 lexical tokens 2.2 regular expressions 2.3 finite automata 2.4 nondeterministic finite automata 2.5 lexical-analyzer generators 3 parsing 3.1 context-free grammars 3.2 predictive parsing 3.3 lr parsing 3.4 using parser generators 3.5 error recovery 4 abstract syntax 4.1 semantic actions . 4.2 abstract parse trees 4.3 visitors 5 semantic analysis 5.1 symbol tables 5.2 type-checking minijava 6 activation records 6.1 stack frames 6.2 frames in the minijava compiler 7 translation to intermediate cede 7.1 intermediate representation trees 7.2 translation into trees 7.3 declarations 8 basic blocks and traces 8.1 canonical trees 8.2 taming conditional branches 9 instruction selection 9.1 algorithms for instruction selection 9.2 cisc machines 9.3 instruction selection for the minijava compiler 10 liveness analysis 10.1 solution of dataflow equations 10.2 liveness in the minijava compiler 11 register allocation 11.1 coloring by simplification 11.2 coalescing 11.3 precolored nodes 11.4 graph-coloring implementation 11.5 register allocation for trees 12 putting it all together part h advanced topics 13 garbage collection 13.1 mark-and-sweep collection 13.2 reference counts 13.3 copying collection 13.4 generational collection 13.5 incremental collection 13.6 baker's algorithm 13.7 interface to the compiler 14 object-oriented languages 14.1 class extension 14.2 single inheritance of data fields 14.3 multiple inheritance 14.4 testing class membership 14.5 private fields and methods 14.6 classless languages 14.7 optimizing object-oriented programs 15 functional programming languages 15.1 a simple functional language 15.2 closures 15.3 immutable variables 15.4 inline expansion 15.5 closure conversion 15.6 efficient tail recursion 15.7 lazy evaluation 16 polymorphic types 16.1 parametric polymorphism 16.2 polymorphic type-checking 16.3 translation of polymorphic programs 16.4 resolution of static overloading 17 datafiow analysis 17.1 intermediate representation for flow analysis 17.2 various dataflow analyses 17.3 transformations using datafiow analysis 17.4 speeding up datafiow analysis 17.5 alias analysis 18 loop optimizafions 18.1 dominators 18.2 loop-invariant computations 18.3 induction variables 18.4 array-bounds checks 18.5 loop unrolling 19 static single-assignment form 19.1 converting to ssa form 19.2 efficient computation of the dominator tree 19.3 optimization algorithms using ssa 19.4 arrays, pointers, and memory 19.5 the control-dependence graph 19.6 converting back from ssa form 19.7 a functional intermediate form 20 pipelining and scheduling 20.1 loop scheduling without resource bounds 20.2 resource-bounded loop pipelining 20.3 branch prediction 21 the memory hierarchy 21.1 cache organization 21.2 cache-block alignment 21.3 prefetching 21.4 loop interchange 21.5 blocking 21.6 garbage collection and the memory hierarchy appendix: minijava language reference manual a.1 lexical issues a.2 grammar a.3 sample program bibliography index |
商品评论(0条)