第五章符号表的组织和管理.pptVIP

  • 3
  • 0
  • 约6.34千字
  • 约 25页
  • 2016-10-22 发布于湖北
  • 举报
第五章:符号表的组织和管理 符号表的作用 符号表的主要属性及其作用 符号表的组织结构 名字的作用范围 * 5.1 符号表的作用 符号表是编译程序中的一个重要的数据结构,它象源程序的一个数据字典,存储了源程序中每个名字及其属性,使用在编译的各个阶段。 (1) 登记符号属性值 在源程序的各个分析阶段,编译程序根据标识符的声明信息收集它属性的有关值,并把它们存放在符合表中。 每种语言规则定义了不同的符号属性;即使是同一个语言,不同的编译程序也可能会定义并且收集不同的属性信息。现代编程语言中一般包括常数声明、变量声明、类型声明和过程/函数声明等四类声明。对于每类声明,编译程序要收集、存储和应用的属性完全不同。 * 例 C语言的变量声明 short int a; float b = 0.0; 把标识符a声明为短整数型,把b声明为浮点类型,而且初始化为0。那么,编译程序对每个变量要记录它的类型,以便执行类型检查和分配存储,比如短整型变量i占2个字节;要记录它在存储器中的位置(相对位移或绝对地址),以便目标程序运行时访问;若像b有初始值,则还需要记录这个初始值。 * (2) 查找符号的属性 符号表存放了源程序中的各种类型的信息,比如数值、变量类型、参数传递的地址等,在分析和翻译源程序的过程中会被不断地查询。 例如,对于上述的变量声明,如果源程序有代码 a + b时,就需要查找、计

文档评论(0)

1亿VIP精品文档

相关文档