【本章小结】
  ◇ 符号表在编译全过程的地位和重要作用
  - 登录源程序中定义的标识符的所有属性。
  - 对源程序中标识符的定义和引用,进行上下文合法性检查。
  - 作为语义处理及代码生成的依据。
  ◇ 符号的作用域关系到标识符的生存期,符号的可视性关系到标识的可引用性。两者密切相关,但又不完全相同。
  ◇ 标识符的数据类型通过类型声明来定义(默认除外)。而标识符的存储类别不但取决于存储类别声明,而且还取决于该标识符声明在程序构造中的位置。
  ◇ 符号表总体组织的选择应考虑语言文本的复杂性(包括词法结构、语法结构的复杂性),还应考虑到对于编译系统在时间效率和空间效率方面的要求。
  ◇ 符号表中属性域的构造原则上是定长的。对于复杂属性可采用索引扩展方式构造。
  ◇ 采用复合属性域组织,提高了符号表的空间效率,但增加了表处理的复杂度。
  ◇ 采用单表结构时,下推链域的构造用来处理解决分程序构造中同名标识符声明的可视性规则,采用分表结构不存在下推问题。分表结构很适合基于对象的语言的编译系统。