读《编译原理》第二章

来源:互联网 发布:java库存盘点系统源码 编辑:程序博客网 时间:2024/05/22 10:37
第二章 一个简单的语法制导翻译器
本章的重点是:词法分析,语法分析,中间代码生成。
章名解释:
     将中缀算术表达式转换为后缀表达式的语法制导翻译器
     之后扩展,使之能将某些程序片段转换为三地址代码。

此章即用示例把第一章介绍的所有流程实现一下。



删除空白和注释
预读
     有时需要预读,大多数情况下不需要。
识别关键字和标识符
符号表:供编译器用于保存有关源程序构造的各种信息的数据结构。
两种中间表示形式
  • 树型结构,语法分析树和(抽象)语法树。
  • 线性表示形式,特别是三地址代码。
静态检查
  • 语法检查
  • 类型检查
自动类型转换
实现重载
语句的翻译
表达式的翻译
改进表达式的代码
     减少拷贝指令的数目
     考虑上下文,减少生成的指令