读《编译原理》第二章
第二章 一个简单的语法制导翻译器
本章的重点是:词法分析,语法分析,中间代码生成。
章名解释:
将中缀算术表达式转换为后缀表达式的语法制导翻译器
之后扩展,使之能将某些程序片段转换为三地址代码。
此章即用示例把第一章介绍的所有流程实现一下。
删除空白和注释
预读
有时需要预读,大多数情况下不需要。
识别关键字和标识符
符号表:供编译器用于保存有关源程序构造的各种信息的数据结构。
两种中间表示形式
- 树型结构,语法分析树和(抽象)语法树。
- 线性表示形式,特别是三地址代码。
静态检查
- 语法检查
- 类型检查
自动类型转换
实现重载
语句的翻译
表达式的翻译
改进表达式的代码
减少拷贝指令的数目
考虑上下文,减少生成的指令