图书介绍

编译原理 技术与工具PDF|Epub|txt|kindle电子书版本网盘下载

编译原理 技术与工具
  • (美)Alfred V. Aho等著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:7115099162
  • 出版时间:2002
  • 标注页数:796页
  • 文件大小:27MB
  • 文件页数:812页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

编译原理 技术与工具PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

Chapter 1 Introduction to Compiling1

1.1 Compilers1

1.2 Analysis of the source program4

1.3 The phases of a compiler10

1.4 Cousins of the compiler16

1.5 The grouping of phases20

1.6 Compiler-construction tools22

Bibliographic notes23

Chapter 2 A Simple One-Pass Compiler25

2.1 Overview25

2.2 Syntax definition26

2.3 Syntax-directed translation33

2.4 Parsing40

2.5 A translator for simple expressions48

2.6 Lexical analysis54

2.7 Incorporating a symbol table60

2.8 A bstract stack machines62

2.9 Putting the techniques together69

Exercises78

Bibliographic notes81

Chapter 3 Lexical Analysis83

3.1 The role of the lexical analyzer84

3.2 Input buffering88

3.3 Specification of tokens92

3.4 Recognition of tokens98

3.5 A language for specifying lexical analyzers105

3.6 Finite automata113

3.7 From a regular expression to an NFA121

3.8 Design of a lexical analyzer generator128

3.9 Optimization of DFA-based pattern matchers134

Exercises146

Bibliographic notes157

Chapter 4 Symtax Analysis159

4.1 The role of the parser160

4.2 Context-free grammars165

4.3 Writing a grammar172

4.4 Top-down parsing181

4.5 Bottom-up parsing195

4.6 Operator-precedence parsing203

4.7 LR parsers215

4.8 Using ambiguous grammars247

4.9 Parser generators257

Exercises267

Bibliographic notes277

Chapter 5 Syntax-Directed Translation279

5.1 Syntax-directed definitions280

5.2 Construction of syntax trees287

5.3 Bottom-up evaluation of S-attributed definitions293

5.4 L-attributed definitions296

5.5 Top-down translation302

5.6 Bottom-up evaluation of inherited attributes308

5.7 Recursive evaluators316

5.8 Space for attribute values at compile time320

5.9 Assigning space at compiler-construction time323

5.10 Analysis of syntax-directed definitions329

Exercises336

Bibliographic notes340

Chapter 6 Type Checking343

6.1 Type systems344

6.2 Specification of a simple type checker348

6.3 Equivalence of type expressions352

6.4 Type conversions359

6.5 Overloading of functions and operators361

6.6 Polymorphic functions364

6.7 An algorithm for unification376

Exercises381

Bibliographic notes386

Chapter 7 Run-Time Environments389

7.1 Source language issues389

7.2 Storage organization396

7.3 Storage-allocation strategies401

7.4 Access to nonlocal names411

7.5 Parameter Passing424

7.6 Symbol tables429

7.7 Language facilities for dynamic storage allocation440

7.8 Dynamic storage allocation techniques442

7.9 Storage allocation in Fortran446

Exercises455

Bibliographic notes461

Chapter 8 Intermediate Code Generation463

8.1 Intermediate Languages464

8.2 Declarations473

8.3 Assignment statements478

8.4 Boolean expressions488

8.5 Case Statements497

8.6 Backpatching500

8.7 Procedure calls506

Exercises508

Bibliographic notes511

Chapter 9 Code Generation513

9.1 Issues in the design of a code generator514

9.2 The target machine519

9.3 Run-time storage management522

9.4 Basic blocks and flow graphs528

9.5 Next-use in formation534

9.6 A simple code generator535

9.7 Register allocation and assignment541

9.8 The dag representation of basic blocks546

9.9 Peephole optimization554

9.10 Generating code from dags557

9.11 Dynamic programming code-generation algorithm567

9.12 Code-generator generators572

Exercises580

Bibliographic notes583

Chapter 10 Code Optimization585

10.1 Introduction586

10.2 The principal sources of optimization592

10.3 Optimization of basic blocks598

10.4 Loops in flow graphs602

10.5 Introduction to global data-flow analysis608

10.6 Iterative solution of data-flow equations624

10.7 Code-improving transformations633

10.8 Dealing with aliases648

10.9 Data-flow analysis of structured flow graphs660

10.10 Efficient data-flow algorithms671

10.11 A tool for data-flow analysis680

10.12 Estimation of types694

10.13 Symbolic debugging of optimized code703

Exercises711

Bibliographic notes718

Chapter 11 Want to Write a Compiler?723

11.1 Planning a compiler723

11.2 Approaches to compiler development725

11.3 The compiler-development environment729

11.4 Testing and maintenance731

12.1 EQN, a preprocessor for typesetting mathematics733

Chapter 12 A Look at Some Compilers733

12.2 Compilers for pascal734

12.3 The C compilers735

12.4 The Fortran H compilers737

12.5 The Bliss/11 compiler740

12.6 Modula-2 optimizing compiler742

A.2 A Pascal subset745

A.3 Program structure745

A.1 Introduction745

Appendix A Compiler Project745

A.4 Lexical conventions748

A.5 Suggested exercises749

A.6 Evolution of the interpreter750

A.7 Extensions751

Bibliography752

Index780

热门推荐