0. 译者总结
1. 编译器概览
❱
1.1 介绍
1.2 编译器结构
1.3 转换概览
1.4 工程
1.5 总结与展望
2. Scanners
❱
2.1 介绍
2.2 识别单词
2.3 正则表达式
2.4 从正则表达式到 Scanner
2.5 实现 Scanners
2.6 高级主题
2.7 总结与展望
3. Parsers
❱
3.1 介绍
3.2 Expressing Syntax
3.3 Top-Down Parsing
3.4 Bottom-Up Parsing
3.5 Practical Issues
3.6 高级主题
4. Intermediate Representations
❱
4.1 介绍
4.2 IR 分类
4.3 图 IRs
4.4 线性 IRs
4.5 符号表
4.6 命名空间
4.7 内存中值的布局
4.8 总结与展望
5. Syntax-Deiven Translation
❱
5.1 介绍
5.2 北京
5.3 Syntax-Deriven Translation
5.4 Modeling the Naming Environment
5.5 Type Information
5.6 Storage Layout
5.7 高级主题
5.8 总结与展望
6. Implementing Procedures
❱
6.1 介绍
6.2 Background
6.3 Runtime Support for Naming
6.4 Passing values between procedures
6.5 Standardized Linkages
6.6 高级主题
6.7 总结与展望
7. Code Shape
❱
7.1 介绍
7.2 Arithmetic Operators
7.3 Access Methods for values
7.4 Boolean and Relational Operators
7.5 Control-Flow constructs
7.6 Operations on Strings
7.7 Procedure Calls
8. 优化介绍
❱
8.1 介绍
8.2 Background
8.3 Scope of Optimization
8.4 Local Optimization
8.5 Regional Optimization
8.6 Global Optimization
8.7 Interprocedural Optimization
8.8 总结与展望
9. 数据流分析
❱
9.1 介绍
9.2 Interative Data-Flow Analysis
9.3 Static Single-Assignment Form
9.4 Interprocedural Analysis
9.5 高级主题
9.6 总结与展望
10. Scalar Optimization
❱
10.1 介绍
10.2 Dead Code Elimination
10.3 Code Motion
10.4 Specialization
10.5 Redundancy Elimination
10.6 Enabling Other Transformations
10.7 高级主题
10.8 总结与展望
11. 指令选择
❱
11.1 Indroduction
11.2 Background
11.3 Selection via Peephole Optimization
11.4 Selection via Tree-Pattern Matching
11.5 高级主题
11.6 总结与展望
12. 指令调度
❱
12.1 介绍
12.2 Background
12.3 Local Scheduling
12.4 Regional Scheduling
12.5 高级主题
12.6 总结与展望
13. 寄存器分配
❱
13.1 介绍
13.2 Background
13.3 Local Register Allocation
13.4 Global Allocation via Coloring
13.5 高级主题
13.6 总结与展望
14. 运行时优化
❱
14.1 介绍
14.2 Background
14.3 Hot-Trace Optimization
14.4 Hot-Method Optimization
14.5 高级主题
14.6 总结与展望
Light (default)
Rust
Coal
Navy
Ayu
Engineering a Compiler