06 中间代码生成 | 《编译原理》笔记
本系列是编译原理 (哈工大陈鄞、郭勇)视频课的课堂笔记,主要是课堂 PPT 和部分讲授内容的文字版,仅供参考。
类型表达式
声明语句的翻译
- B:生成基本类型关键字
- C:生成数组下标表达式序列
- T:标识符类型,C 为空串时 T 生成的是基本变量,不为空串时 T 生成的是数组变量
- D:声明序列
- P:一个声明序列就可以构成一个程序
以上两个例子过程比较长,请参考原视频。
简单赋值语句的翻译
- lookup(name):查询符号表返回 name 对应的记录
- gen(code):生成三地址指令 code
- newtemp():生成一个新的临时变量 t 并返回 t 的地址
数组引用的翻译
控制流语句及其 SDT
布尔表达式及其 SDT
控制流翻译的例子
布尔表达式的回填
控制流语句的回填
switch 语句的翻译
过程调用语句的翻译
06 中间代码生成 | 《编译原理》笔记