第9章 符号表.pptx

第9章 符号表?§9.1 符号表的作用 在编译程序中,符号表是用来存放程序中出现的标识符的有关信息的,它除了记录名字本身外,还记录了与该名字相关联的各种属性信息。 例如,名字的种属、名字的数据类型、为名字分配的存储单元地址以及其他有关信息。 根据对编译程序工作阶段的划分,符号表中的各种信息将在编译程序工作过程中的适当时候填入,并且在编译各阶段每当需要引用名字及相关信息时,只要查询符号表便可获得。 由于在编译程序工作的过程中,对符号表进行频繁访问所需的时间开销占编译时间不小的比例,所以合理地组织符号表,选择好的查填表方法,是提高编译效率不可忽视的问题。§9.2 符号的主要属性1. 符号名; 2. 符号的类型; 3. 符号的存储类别; 4. 符号的作用域及可视性; 5. 符号变量的存储分配信息; 6. 符号的其它属性 :数组内情向量; 记录结构型的成员信息; 函数及过程的形参。 §9.3 符号表的组织一、符号表的一般组织形式 名字域用来存放符号或标识符本身。 信息域,一般由若干个子域组成,用来记录与该项名字相对应的各种属性和特征。名字信息…………表项1表项2……表项n问题及解决方法 名字的长度、信息域的组成及长度可能使各不相同的,除非给出某种约定,否则符号表项各域的长度很难一致,因此常采用间接表技术。 例如,对于名字域:对标识符的长度有限制: 按标识符的最大允许长度来确定。对标识

文档评论(0)

1亿VIP精品文档

相关文档