编译原理语义分析

  1. 枚举变量所占大小是int的大小1
  2. 基本类型或构造类型的内部表示都不包括名字,只有变量标识符、函数标识符、域名标识符(结构体的内部变量)的属性表示才包含名字。

变量标识符的属性表示:

在这里插入图片描述
varKind表示是变量标识符。f不是变量标识符,是函数标识符,函数标识符的属性表示见下面。

函数标识符的属性表示:

在这里插入图片描述
在这里插入图片描述
routKind表示是函数标识符,Type填返回值类型,Class里actual是实在函数,formal是形式函数,形式函数才有offset,表示定义的位置(图中offset=2是因为在括号里inc()是第三个形参)

域名标识符的属性表示:

结构体类型的内部表示的Body链表

基本类型和构造类型的内部表示:

在这里插入图片描述

基本类型的内部表示:

在这里插入图片描述

数组类型的内部表示:

在这里插入图片描述

结构体类型的内部表示:

在这里插入图片描述

联合类型的内部表示:

在这里插入图片描述

枚举类型的内部表示:

在这里插入图片描述

指针类型的内部表示:

在这里插入图片描述
问题:
数组的每个值储存在哪?

图片均来源于超星慕课《编译原理与实现》刘磊等,吉林大学出品

原创文章 12 获赞 11 访问量 380

猜你喜欢

转载自blog.csdn.net/qq_43209705/article/details/106093140