编译原理第06.pptVIP

  • 1
  • 0
  • 约3.11千字
  • 约 27页
  • 2017-07-08 发布于贵州
  • 举报
编译原理第06

第6章 符号表的组织和查找 为了检查语义的正确性和生成代码,需要知道源程序中使用的各种标始符的属性,这些属性常常由编译程序集中起来并存放在一个标始符表或符号表中。 组织、构造和各种查找符号表。 符号表的作用和地位 收集符号属性 上下文语义的合法性检查的依据 作为目标代码生成阶段地址分配的依据 符号的主要属性及作用 符号名 变量名、函数名、过程名等,重载信息 符号类型 int、float等,函数的类型看返回值 符号的存储类型 Common、Static、Auto、Regist 符号的作用域及可视性 Public、Private等 符号变量的存储分配信息 静态存储区、动态存储区 符号的其他属性 数组内情向量、结构成员信息、函数及过程的形参 符号表的组织 符号表的总体组织 符号表项的排列 关键字域的组织 其他域的组织 下推链域的组织 符号表的总体组织 1 把属性完全相同的符号组织在一起 优点:表项等长、单个表容易管理 缺点:表较多、总体管理较复杂 2 把所有符号放在一张表中 优点:相同属性处理一致、总体管理简单 缺点:表项不等长、表项复杂、空间浪费 3 根据属性相似程度进行分类组织成若干张表 关键字域的组织 表示符的内部规则(长度)是符号表关键字组织的依据 如:C语言内部变量长度最大为31个字符 可设置关键字段最大长度为32个字符(包含结束符号) 或:考虑空间的节约(字符不等长),将

文档评论(0)

1亿VIP精品文档

相关文档