编译原理课件 第8章 符号表与错误处理.pptVIP

  • 2
  • 0
  • 约2.69千字
  • 约 18页
  • 2018-01-03 发布于湖北
  • 举报

编译原理课件 第8章 符号表与错误处理.ppt

编译原理课件 第8章 符号表与错误处理

* * 第8章 符号表与错误处理 8.1 符号表 8.1.1 符号表的作用 编译过程中需不断收集、记录、查证和使用源程序中的一些名字的类型和特征等相关信息。为方便起见,让编译程序在其工作过程中建立并保存一批表格,如常数表、变量名表、数组内情向量表、过程或子程序名表及标号表等,这些表格统称为符号表或名字表。 符号表中的每一项包括两部分:名字、与名字有关的信息,这些信息全面反映各个语法符号的属性及它们在编译过程中的特征,如名字的种属、名字的类型、特征(定义性还是使用性出现等)、给此名字分配的存储单元地址及与此名字语义有关的其它信息等。 根据编译程序阶段的不同划分,名字表中的各种信息将在编译过程中的适当时候填入。对于词法分析阶段就建立符号表的编译程序,当扫描源程序识别出一个单词时,就以此名字查找符号表。若表中无此名的登记项,则将此名字填入符号表中。 语义分析时,符号表中的信息可用于语义检查;代码优化时,编译程序利用符号表提供的信息选出恰当的代码进行优化;目标代码生成时,编译程序将依据符号表中的符号名来分配目标地址。可见,几乎在编译程序工作的全过程中,都需要对符号表进行频繁地访问(查表或填表),其耗费的时间在整个编译过程中占有很大的比例。因此,合理地组织符号表并选择好的查表、填表方法是提高编译程序工作效率的有效办法。

文档评论(0)

1亿VIP精品文档

相关文档