Heap management (堆管理)
Introduction to garbage collection (垃圾回收简介)
Chapter 7 (Weeks 13-14): Code Generation (代码生成)
Issues in the design of a code generator (代码生成器设计中问题)
The target language (目标语言)
Addresses in the target code (目标代码中的地址)
Basic blocks and flow graphs (基本块和流图)
Optimization of basic blocks (基本块优化)
A simple code generator (一个简单的代码生成器)
Register allocation and assignment (寄存器分配)
Chapter 8 (Weeks 15-16): Machine-Independent Optimizations (机器无关的优化)
The principle sources of optimizations (优化的来源)
Data-flow analysis (数据流分析)
Constant propagation (常量传播)
Partial-redundancy elimination (部分冗余消除)
Loops in flow graphs (循环的处理)
Syllabus for Lab Sessions (实验课教学内容安排):
Lab 1: Project Introduction and Environment Setup (课程项目简介及开发环境配置)
A C-like language (类 C 语言的介绍)
Project and milestones (项目介绍及时间表)
Programming environment and tool chain (编程环境与工具链)
MIPS simulator (MIPS 模拟器)
Lab 2: Lexical Analysis Using Flex – Part 1 (用 Flex 进行词法分析–上)
Introduction of GNU Flex (GNU Flex 简介)
Writing specifications of a lexical analyzer (编写词法分析器的规约)
Lab 3: Lexical Analysis Using Flex – Part 2 (用 Flex 进行词法分析–下)
Regular expressions (正则表达式)
Generating a lexical analyzer (词法分析器生成)
Lab 4: Syntax Analysis Using Bison – Part 1 (用 Bison 进行语法分析–上)
Introduction of GNU Bison (GNU Bison 简介)
Writing grammar specifications for Bison (编写语法规约)
Lab 5: Syntax Analysis Using Bison – Part 2 (用 Bison 进行语法分析–下)
Generating a parser (语法分析器生成)
Debugging your parser (调试语法分析器)