第7章 符号表组织.ppt_第1页
第7章 符号表组织.ppt_第2页
第7章 符号表组织.ppt_第3页
第7章 符号表组织.ppt_第4页
第7章 符号表组织.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章符号表组织 内容提要 7 1符号表的地位和作用7 2符号表的组织与管理7 3符号表的结构设计 7 1符号表的地位和作用 符号表是标识符的动态语义词典 属于编译中语义分析的知识库 主要内容 定义和重定义检查 类型匹配校验 数据的越界和溢出检查 值单元存储分配信息 函数的参数传递与校验 符号表的作用 标识符四种语义信息 7 2符号表的组织与管理 7 2 1符号表的操作原理 1 遇定义性标识符 在说明中 把语义信息填入表中 并修改其TOKEN的指针 使其指向相应的表项 2 遇应用性标识符 在语句中 查符号表的相应项 查到后修改其TOKEN的指针 使其指向相应的表项 7 2 2符号表的查询 访问方式 在词法分析过程中 7 2符号表的组织与管理 续1 7 2 3符号表的维护 管理方式 一个源文件有若干个函数组成 通常 每个函数对应一个符号表 此外 还是有一个公用符号表 符号表如何管理 这取决于所属语言的程序结构 常见的实现方式是 在内存设置一定长度的符号表区 并建立适当的索引机制 访问相应的符号表 全局符号表区 局部符号表区 索引机制 7 3符号表的结构设计 例7 1 有下列函数过程 1 需要进符号表的标识符 exp 函数 附带信息 类型 参数情况和入口地址 x 形参 y 形参 pai 常量 arr 类型 a 数组变量 b 简单变量 2 怎样检查出 a重定义 z无定义以及数组变量 a 2 5 的值地址在何处 7 3符号表的结构设计 续1 由于标识符的种类不同 导致语义属性也不尽相同 怎样组织符号表 下面提供一个符号表的体系结构 7 3符号表的结构设计 续2 7 3 1符号表总表 SYNBL 结构 NEME 名字 标识符源码 或内部码 TYP 类型 指针 指向类型表相应项 CAT 种类 种类编码 f 函数 c 常量 t 类型 d 域名 v vf vn 变量 传值形参 传地址形参 ADDR 地址 指针 根据标识符的种类不同 分别指向 FINFL CONSL LENL ACTL 7 3符号表的结构设计 续3 7 3 2类型表 TYPEL 结构 TVAL 类码 类型代码 i 整型 r 实型 c 字符型 b 布尔型 a 数组型 s 结构型 TPOINT 指针 根据数据类型不同 指向不同的信息表项 基本数据类型 i r c b null 空指针 数组类型 ARRAY 指向数组表 AINFL 结构类型 STRUCT 指向结构表 SINFL 7 3符号表的结构设计 续4 7 3 3数组表 AINFL 结构 每维占表中一个记录 LOW 数组的下界 C语言自动设为0 UP 数组的上界 CTP 成分类型指针 指针 指向该维数组成分类型 在类型表中的信息 CLEN 成分类型的长度 成分类型的数据所占值单元的长度 这里假定 值单元的长度以字长为单位计算 7 3符号表的结构设计 续5 7 3 4函数表 FINFL 结构 OFF 值单元 该函数的值单元地址 过程免填 DAT 数据区 指针 指向该过 函的数据区 FN 参数个数 该过 函的形式参数的个数 PAR 参数表 指针 指向形参表 ENT 入口地址 该函数目标程序首地址 运行时填写 过程或函数语义信息 7 3符号表的结构设计 续6 7 3 5其他表 1 常量表 CONSL 存放相应常量的初值 2 长度表 LENL 存放相应数据类型所占值单元的长度 3 活动记录表 ACTL 一个函数 或过程 虚拟的值单元存储分配表 此分配表在运行调用时才可用 故称活动记录 结构见下页 活动记录的结构 区头SP 区顶TOP 调用过程中的链接信息 一个函数的活动记录表 ACTL 相对地址vi i 0 符号表的构造过程示例 ENT 2 v3 v5 vn itp y v4 vf rtp x 临时变量值区 b值 y值 数组a值区 管理区 exp值 x值 链接表 3 14 50 1 itp 10 1 10 5 1 a a c i r b v3 v4 v5 v6 v56 t arr v6 v a c rtp pai v56 v rtp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论