第8章 符号表管理
重点:符号表的作用,符号表的组织结构,符号表与作用域。
难点:符号表的组织结构及其性能评价。
8.1符号表的作用
n
符号表是以
名字为关键字
来记录其信息的数据结构,其上支持的两个最基本操作应该是
添加
表项和
查找
表项,这两个操作必须是高效的
8.2符号表中存放的信息
n
每一个符号表表项中需要存放的基本信息就是符号的名字及其属性。
名字字段长度固定:空间浪费
名字字段长度可变: 符号表上的操作复杂而低效
名字字段长度固定:空间浪费
名字字段长度可变: 符号表上的操作复杂而低效
n
符号所表达的含义不同,符号表中需要存放的属性也就不同
n
数组名字需要存放的属性信息应该包括数组的维数、各维的维长等
n
函数
(
或过程
)
的名字应该存放其参数个数、各参数的类型、返回值的类型等
8.3符号表的组织结构
n
引入散列表不仅可以提高
lookup
操作的效率,同时也可以提高
insert
操作的效率,所以在许多实际编译器的符号表实现中均采用了散列技术
8.4符号表与作用域
变量的作用域满足最近嵌套原则
8.5本章小结