- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章符号表报告
编译原理 第7章 符号表 安庆师范学院计算机与信息学院 本章目标 解释符号表的作用 阐明符号表的内容 介绍符号表的基本操作 介绍符号表的组织结构 说明符号表的构造与查找方法 解释名字的作用范围 教学内容 7.1 符号表的作用与内容 7.2 符号表的组织与管理 7.3 名字的作用范围 7.4 本章小结 7.1 符号表的作用与内容 符号表的作用 1 符号表的内容与操作 2 1、 符号表的作用 在编译程序工作的过程中,需要不断收集、记录、查证和使用源程序中的一些语法符号(简称为符号)的类型和特征等相关信息。为方便起见,一般的做法是让编译程序在其工作过程中建立并保存一批表格,如常数表、变量名表、数组内情向量表、过程或子程序名表及标号表等,将它们统称为符号表或名字表。 语义分析时,符号表中的信息可用于语义检查;代码优化时,编译程序利用符号表提供的信息选出恰当的代码进行优化;目标代码生成时,编译程序将依据符号表中的符号名来分配目标地址。可见,几乎在编译程序工作的全过程中,都需要对符号表进行频繁地访问(查表或填表),其耗费的时间在整个编译过程中占有很大的比例。因此,合理地组织符号表并选择好的查表、填表方法是提高编译程序工作效率的有效办法。 返回 2、 符号表的内容与操作 (1)符号表的组成 一张符号表的每一项(入口)包含两大栏(区段,字域),即名字栏和信息栏。 名字(NAME) 信息(INFORMATION) …… …… 第1项(入口1) 第2项(入口2) 第n 项(入口n) …… 2、 符号表的内容与操作 (2)符号表的基本操作 对给定名字,查询此名是否已在表中(查表) 填入新名(填表) 对给定名字,访问它的信息(访表信息) 对给定名字,往表中填写或更新它的某些信息(更新) 删除一个或一组无用的项(删除) 返回 7.2 符号表的组织与管理 符号表的组织结构 1 符号表的构造与查找 2 1、 符号表的组织结构 (1)名字栏组织方式 按照处理对象的特点,符号表的组织方式一般可分为直接方式和间接方式。也按标识符的种属分别建立不同的符号表。 ①直接方式 直接方式是指在符号表中直接填入源程序中定义的标识符及相关信息。在下图所示的符号表中,名字栏的长度是固定的,这种栏目长度固定的表格易于组织、填写或查找,因而是最简单的一种符号表组织方式, 它适合于规定标识符长度的程序语言。 名字 信息 Sentence … Data … … … 1、 符号表的组织结构 ②间接方式 用一个独立的字符串数组,把所有标识符都连续存放在其中。在符号表的主栏放一个指示器和一个整数,或在主栏仅放一个指示器,在标识符前放一个整数。指示器指出标识将在字符串数组中的位置,整数代表此标识符的长度。 1、 符号表的组织结构 ③按标识符的种属建立不同的符号表 如对简单变量、数组、过程等分别建立简单变量名表、数组名表、过程名表等。例如,下面的函数: int f(int a,int b) { int c; if(ab) c=1; else c=0; return c; } (a)简单变量名表 (b)常数表 (c)函数入口名表 1、 符号表的组织结构 (2)信息栏组织方式 根据符号表名字栏的组织特点,符号表信息栏的组织方式也分为两类:固定信息内容和仅记录信息存放地址。 如果名字栏中的标识符按种属分类,则因同类标识符其基本特征一致,故可将这些信息一一记录在信息栏中。 如果符号表的名字不分种属,则由于不同种属的标识符其特征不一致,也即它们所需存储的信息不一致,因而不容易确定一个固定长度的空间来统一安排。这时,可在符号表外另设一组存储空间,并在符号表信息栏中放一指针来指向这个存储空间始址。 1、 符号表的组织结构 例如,对数组标识符需要存储有关数组维数,每维上、下界值,数组类型及数组存放的起始地址等信息。如果将信息与名字一起全部放在符号表中,则因维数不同而使记录该信息的空间大小不易确定,因此,通常给它们另外安排一个内情向量表来记录数组的全部信息,同时在符号表的信息栏设置一指针指向内情向量的入口地址(见图8-4)。此外,对像函数名、过程名等含有较多信息且不容易规范信息长度的名字都可以采取这种办法。 返回 2、 符号表的构造与查找 符号表
您可能关注的文档
- 第7章时间序列分析和预测报告.ppt
- 第7章氧化还原反应报告.ppt
- 第7章气体动理论报告.ppt
- 第7章热水及燃气供应报告.ppt
- 第7章植物生产与合理施肥报告.ppt
- 第7章物流成本分析与控制报告.ppt
- 第7章火电厂热工控制报告.ppt
- 第7章生物农药剂型报告.ppt
- 第7章电力系统用电力电子装置报告.ppt
- 第7章生态系统2报告.ppt
- 难点详解鲁教版(五四制)6年级数学下册期末测试卷带答案详解(考试直接用).docx
- 难点详解鲁教版(五四制)6年级数学下册期末试题【培优】附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题及完整答案详解(全国通用).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(名师系列).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解【全国通用】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(突破训练)附答案详解.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷(能力提升)附答案详解.docx
- 难点详解京改版数学9年级上册期中试卷附参考答案详解【突破训练】.docx
- 难点解析鲁教版(五四制)7年级数学下册期末试题含完整答案详解(有一套).docx
- 难点解析鲁教版(五四制)7年级数学下册期末试卷带答案详解(夺分金卷).docx
最近下载
- 减肥打卡社群运营.pdf
- 时间管理之四象限法则的运用PPT(59张)课件.pptx VIP
- Unit 5 Whose dog is it_ Part A Spell 课件人教版英语五年级下册.pptx
- 价值管理的信息系统开发.pptx VIP
- 装饰装修施工组织设计(完整版).pdf
- 模板专项施工方案(完整版).docx
- 《最后一片叶子》课件高教版中职语文基础模块上册.pptx
- 光合速率的测定方法讲课教案.ppt
- 电气控制与可编程控制技术课程设-三相六拍步进电机PLC控制系统的设计.docx VIP
- 2024-2025学年苏科版八年级物理下册 第9章 压强和浮力【速记清单】(解析版).pdf VIP
文档评论(0)