顶部
收藏

Principles of Compilers—A New Approach to Compilers Including the Algebraic Meth


作者:
Yunlin Su, Song Y. Yan
定价:
69.00 元
版面字数:
769.000千字
开本:
16开
装帧形式:
精装
版次:
1
最新版次
印刷时间:
2011-01-30
ISBN:
978-7-04-030577-7
物料号:
30577-00
出版时间:
2011-06-27
读者对象:
学术著作
一级分类:
自然科学
二级分类:
计算机科学与工程
三级分类:
信息安全

《编译原理:包含代数方法的新编译方法(英文版)》通过把编程语言的编译同人类对自然语言的理解过程进行类比来阐述编译程序的思想,采用标记法来创建源语 言、中间语言和目标语言的符号,生动地描述了多层次编译程序的编译过程;详细地介绍了LL(1)和LR(1)的分析方法,不仅可以帮助读者了解如何做,还 使他们知道为什么这样做;同时介绍了编译程序的设计方法,引入了一个重要的方法——代数形式化方法。

《编译原理:包含代数方法的新编译方法(英文版)》适合作为计算机和电子专业本科生和研究生教材,也可供相关学科研究人员参考。

  • 前辅文
  • Chapter 1 Introduction
    • 1.1 Language and Mankind
    • 1.2 Language and Computer
    • 1.3 Compilation of Programming Languages
    • 1.4 Number of Passes of Compiler
    • 1.5 An Example of Compilation of a Statement
    • 1.6 Organization of the Book
    • Problems
    • References
  • Chapter 2 Grammars and Languages
    • 2.1 Motivation of the Chapter
    • 2.2 Preliminary Knowledge
    • 2.3 Grammar
    • 2.4 Language
    • 2.5 Language Generated by a Grammar
    • 2.6 Turing Machine
    • 2.7 Issues Concerning Grammars and Languages
    • Problems
    • References
  • Chapter 3 Finite State Automata and Regular Languages
    • 3.1 Motivations of the Chapter
    • 3.2 Languages, Grammars and Automata
    • 3.3 Deterministic Finite Automata
    • 3.4 Nondeterministic Finite Automata
    • 3.5 Regular Expressions
    • 3.6 Regular Grammar
    • 3.7 Kleene's and Moore's Theorems
    • 3.8 Pumping Theorems and Closure Properties for LREG
    • 3.9 Applications of Finite Automata
    • 3.10 Variants of Finite Automata
    • Problems
    • References
  • Chapter 4 Lexical Analysis
    • 4.1 Motivation of the Chapter
    • 4.2 Lexical Analyzer
      • 4.2.1 Role of Lexical Analyzer
      • 4.2.2 Identifier Analysis
      • 4.2.3 Handling of Constants
      • 4.2.4 Structure of Lexical Analyzer
    • 4.3 Output of Lexical Analyzer
    • 4.4 Error Handling
    • Problems
    • References
  • Chapter 5 Push-Down Automata and Context-Free Languages
    • 5.1 Motivation of the Chapter
    • 5.2 Push-Down Automata
    • 5.3 Context-Free Languages (LCF)
    • 5.4 Pumping Theorems for Context-Free Languages
    • 5.5 Push-Down Automata and Context-Free Languages
    • 5.6 Applications of Context-Free Languages
    • 5.7 Turing Machines
    • 5.8 Turing Machines as Language Accepters
    • 5.9 Equivalence of Various Turing Machines
    • 5.10 Recursively Enumerable Languages (LRE)
    • 5.11 Context-Sensitive Languages (Lcs)
    • 5.12 Hierarchy of Machines, Grammars and Languages
      • 5.12.1 Hierarchy of Machines
      • 5.12.2 Hierarchy of Grammars and Languages
    • 5.13 Relations Among Machines, Languages and Grammars
    • Problems
    • References
  • Chapter 6 Context-Free Grammars
    • 6.1 Motivation of the Chapter
    • 6.2 Context-Free Grammars
    • 6.3 Characteristics of Context-Free Grammars
    • Problems
    • References
  • Chapter7 Syntax Analysis
    • 7.1 Motivation of the Chapter
    • 7.2 Role of Syntax Analysis in Compilers
    • 7.3 Methods of Syntax Analysis
    • 7.4 LL(1) Syntactical Analysis Method
    • 7.5 Bottom-Up Syntactical Analysis Method
    • 7.6 LR(1) Syntactical Analysis Method
    • 7.6.1 LR(0) Syntactical Analysis
    • 7.6.2 SLR(1) Syntactical Analysis
    • 7.6.3 LALR(1) Syntactical Analysis
    • 7.6.4 LR(1) Syntactical Analysis
    • 7.6.5 Comparison Between LL(1) Syntactical Analysis Method and LR(1) Syntactical Analysis Method
    • Problems
    • References
  • Chapter 8 Attribute Grammars and Analysis
    • 8.1 Motivation of the Chapter
    • 8.2 Attribute Grammar
    • 8.3 Dependence Graph and Evaluation of Attributes
    • 8.3.1 Dynamic Attribute Evaluation
    • 8.3.2 Loop Handling
    • 8.4 L Attribute Grammas and S Attribute Grammars
    • Problems
    • References
  • Chapter 9 Algebraic Method of Compiler Design
    • 9.1 Motivation of the Chapter
    • 9.2 Source Language
    • 9.3 Algebraic Foundation and Reasoning Language
      • 9.3.1 Algebra Fundamentals
      • 9.3.2 Reasoning Language
    • 9.4 A Simple Compiler
      • 9.4.1 The Normal Form
      • 9.4.2 Normal Form Reduction
      • 9.4.3 The Target Machine
    • Problems
    • References
  • Chapter 10 Generation of Intermediate Code
    • 10.1 Motivation of the Chapter
    • 10.2 Intermediate Code Languages
      • 10.2.1 Graphic Representation
      • 10.2.2 Postfix Representation
      • 10.2.3 The Quadruple Code
    • Problems
    • References
  • Chapter 11 Debugging and Optimization
    • 11.1 Motivation of the Chapter
    • 11.2 Errors Detection and Recovery
    • 11.3 Debugging of Syntax Errors
      • 11.3.1 Error Handling of LL(1) Parser
      • 11.3.2 Error Handling in LR(1) Analysis
    • 11.4 Semantic Error Check
    • 11.5 Optimization of Programs
    • 11.6 Principal Ways of Optimization
      • 11.6.1 Elimination of Subexpressions
      • 11.6.2 Copy Propagation
      • 11.6.3 Dead-Code Elimination
      • 11.6.4 Loop Optimization
      • 11.6.5 Reduction of Strength
    • Problems
    • References
  • Chapter 12 Storage Management
    • 12.1 Motivation of the Chapter
    • 12.2 Global Allocation Strategy
    • 12.3 Algorithms for Allocation
      • 12.3.1 Algorithm for Stack Allocation
      • 12.3.2 Algorithm for Heap Allocation
    • 12.4 Reclamation of Used Space
      • 12.4.1 Basic Garbage Collection Algorithm
      • 12.4.2 Supports to Garbage Collector From Compilers
      • 12.4.3 Reference Counts
      • 12.4.4 Tokens and Scans
      • 12.4.5 Dual Space Copy
      • 12.4.6 Contract
    • 12.5 Parameter Passing
      • 12.5.1 Call-by-Value
      • 12.5.2 Call-by-References
      • 12.5.3 Copy-Restore
      • 12.5.4 Call-by-Name
    • Problems
    • References
  • Chapter 13 Generation of Object Code
    • 13.1 Motivation of the Chapter
    • 13.2 Issues of Design of Generators of Target Codes
      • 13.2.1 Input of Code Generators
      • 13.2.2 Target Programs
      • 13.2.3 Storages Management
      • 13.2.4 Selection of Instructions
      • 13.2.5 Register Allocation
      • 13.2.6 Selection of Order of Computation
      • 13.2.7 Method of Generation of Codes
    • 13.3 Target Machine MMIX
      • 13.3.1 Binary Bits and Bytes
      • 13.3.2 Memory and Registers
      • 13.3.3 Instructions
      • 13.3.4 Load and Store
      • 13.3.5 Arithmetic Operations
      • 13.3.6 Conditional Instructions
      • 13.3.7 Bit Operations
      • 13.3.8 Byte Operations
      • 13.3.9 Jumps and Branches
      • 13.3.10 Subprogram Calls
      • 13.3.11 Interruptions
    • 13.4 Assembly Language of MMIX
    • 13.5 Generation of MMIXAL Target Codes
      • 13.5.1 Translation of Expressions in Reversed Polish Form
      • 13.5.2 Translation of Triple Expressions
      • 13.5.3 Translation of Expression Quadruples
      • 13.5.4 Translation of Expressions
      • 13.5.5 Translation of Syntax Tree Form of Expressions
      • 13.5.6 Translation of Various Statements
    • Problems
    • References
  • Chapter 14 Compilation of Object-oriented Languages
    • 14.1 Motivation of the Chapter
    • 14.2 Objects and Compilation
    • 14.3 Characteristics of Objects
      • 14.3.1 Inheritance
      • 14.3.2 Method Overload
      • 14.3.3 Polymorphic
      • 14.3.4 Dynamic Constraint
      • 14.3.5 Multiple Inheritances
      • 14.3.6 Multiple Inheritances of Inter-reliance
    • Problems
    • References
  • Chapter 15 Compilation of Parallel Languages
    • 15.1 Motivation of the Chapter
    • 15.2 Rising of Parallel Computers and Parallel Computation
    • 15.3 Parallel Programming
      • 15.3.1 Shared Variables and Monitors
      • 15.3.2 Message Passing Model
    • 15.4 Object-oriented Languages
    • 15.5 Linda Meta Array Space
    • 15.6 Data Parallel Languages
    • 15.7 Code Generation for Hidden Parallel Programs
      • 15.7.1 Types of Regions
      • 15.7.2 Formation of Regions
      • 15.7.3 Schedule Algorithms for Regions
    • Problems
    • References
  • Chapter 16 Compilation of Grid Computing
    • 16.1 Motivation of the Chapter
    • 16.2 Rising of Grid Computing and Intent
    • 16.3 Grid Computing Model
      • 16.3.1 Group Routing
      • 16.3.2 Routing in Linear Array
    • 16.4 Compilation of Grid Computing
    • Problems
    • References
  • Index

相关图书