目录
Preface
1. Introduction
2. Language and Syntax
2.1. Exercises
3. Regular Languages
4. Analysis of Context-free Languages
4.1. The method of recursive descent
4.2. Table-driven top-down parsing
4.3. Bottom-up parsing
4.4. Exercises
5. Attributed Grammars and Semantics
5.1. Type rules
5.2. Evaluation rules
5.3. Translation rules
5.4. Exercises
6. The Programming Language Oberon-0
7. A Parser for Oberon-0
7.1. The scanner
7.2. The parser
7.3. Coping with syntactic errors
7.4. Exercises
8. Consideration of Context Specified by Declarations
8.1. Declarations
8.2. Entries for data types
8.3. Data representation at run-time
8.4. Exercises
9. A RISC Architecture as Target
10. Expressions and Assignments
10.1. Straight code generation according to the stack principle
10.2. Delayed code generation
10.3. Indexed variables and record fields
10.4. Exercises
11. Conditional and Repeated Statements and Boolean Epressions
11.1. Comparisons and jumps
11.2. Conditional and repeated statements
11.3. Boolean operations
11.4. Assignments to Boolean variables
11.5. Exercises
12. Procedures and the Concept of Locality
12.1. Run-time organization of the store
12.2. Addressing of variables
12.3. Parameters
12.4. Procedure declarations and calls
12.5. Standard procedures
12.6. Function procedures
12.7. Exercises
13. Elementary Data Types
13.1. The types REAL and LONGREAL
13.2. Compatibility between numeric data types
13.3. The data type SET
13.4. Exercises
14. Open Arrays, Pointers and Procedure Types
14.1. Open arrays
14.2. Dynamic data structures and pointers
14.3. Procedure types
14.5. Exercises
15. Modules and Separate Compilation
15.1. The principle of information hiding
15.2. Separate compilation
15.3. Implementation of symbol files
15.4. Addressing external objects
15.5. Checking configuration consistency
15.6. Exercises
16. Code Optimizations and the Frontend/backend Structure
16.1. General considerations
16.2. Simple optimizations
16.3. Avoiding repeated evaluations
16.4. Register allocation
16.5. The frontend/backend compiler structure
16.6. Exercises
Appendix A: Syntax
A.1. Oberon-0
A.2. Oberon
A.3. Symbol files
Appendix B: The ASCII character set
Appendix C: The Oberon-0 compiler
C.1. The scanner
C.2. The parser
C.3. The code generator
References
【展开】
【收起】
内容简介
A refreshing antidote to heavy theoretical tomes, this book is a concise, practical guide to modern compiler design and construction by an acknowledged master.
Readers are taken step-by-step through each stage of compiler design, using the simple yet powerful method of recursive descent to create a compiler for Oberon-0, a subset of the author's Oberon language. A disk provided with the book gives full listings of the Oberon-0 compiler and associated tools.
The hands-on, pragmatic approach makes the book equally attractive for project-oriented courses in compiler design and for software engineers wishing to develop their skills in system software.
【展开】
【收起】
下载说明
1、追日是作者栎年创作的原创作品,下载链接均为网友上传的的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!
下载链接