UsefulLinks
Computer Science
Programming
Compiler Design
1. Introduction to Compilation
2. Programming Language Foundations
3. Formal Language Theory
4. Lexical Analysis
5. Syntax Analysis
6. Semantic Analysis
7. Intermediate Code Generation
8. Code Optimization
9. Code Generation
10. Runtime Environment
11. Advanced Compilation Topics
12. Compiler Construction Tools and Techniques
7.
Intermediate Code Generation
7.1.
Intermediate Representation Design
7.1.1.
IR Design Goals
7.1.1.1.
Machine Independence
7.1.1.2.
Optimization Facilitation
7.1.1.3.
Translation Simplicity
7.1.2.
IR Classification
7.1.2.1.
High-Level IR
7.1.2.2.
Medium-Level IR
7.1.2.3.
Low-Level IR
7.2.
Three-Address Code
7.2.1.
TAC Instruction Format
7.2.2.
Address Types
7.2.3.
Temporary Variable Management
7.2.4.
TAC Instruction Types
7.3.
TAC Representation Methods
7.3.1.
Quadruples
7.3.2.
Triples
7.3.3.
Indirect Triples
7.3.4.
Representation Trade-offs
7.4.
Static Single Assignment Form
7.4.1.
SSA Properties
7.4.2.
Phi Functions
7.4.3.
SSA Construction Algorithm
7.4.4.
SSA Destruction
7.5.
Control Flow Representation
7.5.1.
Basic Blocks
7.5.2.
Control Flow Graphs
7.5.3.
Dominance Relations
7.5.4.
Loop Detection
7.6.
Translation Schemes
7.6.1.
Syntax-Directed Translation
7.6.2.
Translation Grammar
7.6.3.
Action Symbol Placement
7.7.
Expression Translation
7.7.1.
Arithmetic Expressions
7.7.2.
Boolean Expressions
7.7.3.
Short-Circuit Evaluation
7.7.4.
Array References
7.7.5.
Record Field Access
7.8.
Statement Translation
7.8.1.
Assignment Statements
7.8.2.
Conditional Statements
7.8.3.
Loop Statements
7.8.4.
Switch Statements
7.8.5.
Break and Continue Statements
7.9.
Procedure Call Translation
7.9.1.
Parameter Passing Mechanisms
7.9.2.
Return Value Handling
7.9.3.
Activation Record Setup
7.9.4.
Nested Procedure Calls
7.10.
Declaration Translation
7.10.1.
Variable Declarations
7.10.2.
Array Declarations
7.10.3.
Record Declarations
7.10.4.
Procedure Declarations
Previous
6. Semantic Analysis
Go to top
Next
8. Code Optimization