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
· · · · · · (
收起)
还没人写过短评呢
还没人写过短评呢