各类语句的翻译
6-1 类型表达式
- 基本类型是类型表达式
- 可以为类型表达式命名,类型名也是类型表达式
- 将类型构造符作用于类型表达式可以构成新的类型表达式
1)数组构造符
int[2] [3] = array(2,array(3,int))
2)指针构造符
T是类型表达式,pointer(T)是表示指针的类型表达式
3)笛卡尔乘积构造符
4)函数构造符
5)记录构造符
6-2 声明语句的翻译——自顶向下
- 收集标识符的类型,并分类相对地址
- 根据类型判断宽度
- 名字的类型和相对地址信息保存在符号表中
- 两个例子:有了前面的基础这里还是比较好推断的
- 在程序中,标识符的出现是定义性、使用性的。
6-3 简单赋值语句的翻译——自底向上
- 赋值语句的基本文法:
- 赋值语句翻译的主要任务:生成对表达式求值的三地址码
- 翻译与增量翻译:
构造自动机,判断是移入还是规约,并根据action进行记录。
采用自底向上进行规约。