编译原理课件7.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理课件7

Thank You That’s all for today. 符号表 第七章 符号表的作用 符号表 关于符号表的操作 符号表的常见属性 符号表的组织 符号表体现作用域信息 符号表的作用 符号表 用来存放有关标识符的属性信息 这些信息会在编译的不同阶段用到 在语义分析中,符号表所登记的内容将用于语义检 查和产生中间代码 在目标代码生成阶段,符号表是对符号名进行 地址分配的依据 对一个多遍扫描的编译程序,不同遍所用的符号表 也会有所不同,因为每遍所关心的信息或所能得到 的信息会有差异 用来体现作用域信息 符号表 符号的常见属性 符号名 符号的类型 符号的存储类别和存储分配信息 符号的作用域 其他属性 数组内情向量 记录结构的成员信息 函数及过程的形参 符号表 关于符号表的操作 创建符号表 在编译开始,或进入一个作用域 插入表项 在遇到新的标识符声明时进行 查询表项 在引用标识符时进行 修改表项 在获得新的语义值信息时进行 删除表项 在标识符成为不可见/不再需要它的任何 信息时进行 释放符号表空间 在编译结束前或退出一个作用域 符号表 符号表的组织 实现符号表的常用数据结构 一般的线性表 如:数组,链表,等 有序表 查询较无序表快,如可以采用折半查找 二叉搜索树 Hash表 符号表 符号表的组织 名字域(表项的关键字域)的组织 可采用关键字池解决名字串长短不一带来空间浪 费的问题(参见清华教材p216图9.10) 其他域的组织 解决好不等长属性值问题 一般不把所有属性值都放在符号表项的某个域中,而 是另辟空间存放属性值(如数组的内情向量),或把 属性种类完全相同的那些符号组织在一起,构造出多 个子表(参见清华教材p219-221) 符号表 符号表体现作用域信息 作用域与可见性 作用域与符号表组织 所有作用域共用一个全局符号表 每个作用域都有各自的符号表 符号表 作用域与可见性 嵌套的作用域(nested scopes) 开作用域与闭作用域(相应于程序中特殊点) 该点所在的作用域为当前作用域 当前作用域与包含它的程序单元所构成的作用域称 为开作用域(open scopes) 不属于开作用域的作用域称为闭作用域(close scopes) 符号表 作用域与可见性 常用的可见性规则(visibility rules) 在程序的任何一点,只有在该点的开作用域中声明 的名字才是可访问的 若一个名字在多个开作用域中被声明,则把离该名 字的某个引用最近的声明作为该引用的解释 新的声明只能出现在当前作用域 符号表 作用域与符号表组织 作用域与单符号表组织 所有嵌套的作用域共用一个全局符号表 每个作用域有一个作用域号 仅记录开作用域中的符号 当某个作用域成为闭作用域时,从符号表中删除该 作用域中所声明的名字 const a=25; var x,y; procedure p; var z; begin …… end; procedure r; var x, s; procedure t; var x; begin …… /*here*/ end; begin …… end; begin …… end. 例:右边程序在处理到/*here*/时 的符号表(以哈希表为例) 所有嵌套的作用域共用一个 全局符号表 符号表 ??? t(2) p(1) a(1) s(2) r(1) y(1) x(3) x(2) x(1) Hash Table 符号表 作用域与符号表组织 作用域与多符号表组织 每个作用域都有各自的符号表 维护一个符号表的作用域栈,每个开作用域对应栈 中的一个入口,当前的开作用域出现在该栈的栈顶 当一个新的作用域开放时,新符号表将被创建,并 将其入栈 在当前作用域成为闭作用域时,从栈顶弹出相应的 符号表 const a=25; var x,y; procedure p; var z; begin ……

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档