1.6 A More Detailed Look at Phases of a Compiler
1.7 A Real-life Compiler – gcc
1.8 What Do We Mean by “Meaning”?
2.3 A Virtual Machine for Simple
3.2 Symbol Tables and a Scanner
3.4 Error Handling in a Scanner
4.1 Top-down and Bottom-up Parsing
4.8 Real-life – GCC: GNU Compiler Collection
Chapter 5 Syntax-directed Translation
5.2 Synchronized Semantic Stacks
5.6 Intermediate Representation Output for miniC
6.1 Data Types and Type Checking
6.2 Type Expressions and Type Constructors
6.4 Type Names, Declarations and Recursive Types
6.6 Type Conversion and Coercion
6.7 Overloading of Operators and Functions
6.8 Example: Type Checking in an Interpreter
Chapter 7 Run-Time Environment
7.1 Run-Time Storage Allocation
7.4 System Environmental Variables
7.5 Invocation Command-line Parameters
8.5 Abstract or Virtual Machine Code
8.8 Grammar and IR Generation for miniC
8.9 Real-life: Intermediate Codes of GNU gcc
Chapter 9 Code Generation and Machine-dependent Optimization
9.1 Our Concerns in Code Generation
9.5 Procedures and Function Calls
9.6 The Target Operating Environment
9.8 Machine-dependent Optimization
9.9 Converting the 4-tuple and RPN into Assembly Code
10.5 Global Data-flow Analysis
Chapter 11 Overview of Processing of Some Languages
Chapter 12 Project: Compiler for a miniC
12.2 Architecture of miniC Compiler
12.10 Use of gdb to Debug the FPU Operations
12.11 Difference Between AT&T and Intel Assembly Syntax
Further Reading and Web Resources
Appendix A Formal Languages and Automata
A.1 Essential Mathematical Background
A.2 Formal Language Theory Review
A.4 Regular Languages, Regular Expressions and Finite-state Machine
A.5 Context-free Languages, CFG and Push-down Automata
Appendix B Assemblers and Macro Processors
Appendix C Linkers and Loaders
Appendix D Worked-out Problems
D.1 Problems for Chapter 4: Parsers
D.2 Problems for Chapter 5: Syntax-directed Translation
D.3 Problems for Chapter 6: Type Checking
3.144.222.185