计算机软件名称用什么符号,[计算机软件及应用]第九章符号表.ppt

[计算机软件及应用]第九章符号表

第9章 符号表 符号表 用来存放在词法分析过程中生成的有关标识符的语义特征属性信息 符号表中所登记的信息在编译的不同阶段都要用到。 例如作为语义检查的依据,目标代码生成阶段地址分配的依据等。 不同种类的表格所涉及的操作往往是不同的 符号表的操作 在整个编译期间,对于符号表的操作大致可归纳为五类: 对给定名字,查询名字是否已在表中 往表中填入一个新的名字; 对给定名字,访问它的某些信息; 对给定名字,填写或更新它的某些信息; 删除一个或一组无用的项。 TABLE中的信息—表格管理 9.1 符号表的作用和地位 1. 收集符号属性 在编译程序分析标识符说明部分时,收集有关标识符的属性,在符号表中建立符号的相应属性信息。 例如,说明语句: int a; 符号名为a,整型变量 float b[5]; 符号名为b,浮点型一维数组 具有5个元素,下标范围0~4 符号表的作用和地位 2.上下文语义的合法性检查的依据 在语义分析中,符号表所登记的属性记录将用于语义检查。 检查一个名字的使用和原先的说明是否一致,即标识符属性在上下文中的一致性与合法性。 符号表的作用和地位 例如,C语言中有变量说明: …… int i[3,5]; ‖定义说明 …… 一致性错误 extern float i; ‖引用说明 …… 重复定义导致的类型不一致是语义错误。 同一标识符的重复定义,即使类型一致,仍然是语义错误。 符号表的作用和地位 3. 作为目标代码生产阶段地址分配的依据 在目标代码生成阶段,当对符号名进行地址分配时,符号表是地址分配的依据。 对一个多遍扫描的编译程序,不同遍所用的符号表也往往各有不同,因为每遍所关心的信息各有差异。 9.2 符号表的主要属性和作用 不同的语言定义的标识符属性不尽相同,但以下几种通常都是需要的: 1. 符号名— 表示常量名、变量名、函数名、过程名等的标识符。用标识符在符号表中位置表示该标识符,通常是一个整数值,称之为内部代码。 对重名标识符,按照该标识符在程序中的作用域及可视性规则进行处理。 符号表的主要属性和作用 2. 符号的类型— 数据类型(data type),符号的类型决定了具有该类型的数据的存储格式 3. 符号的存储类别 关键字指定:C语言中的static—静态存储、extern—外部变量、regist—寄存器变量 说明语句的位置指定:C语言中的函数内部指定—局部变量、外部指定—全局变量。 符号表的主要属性和作用 4. 符号的作用域及可视性 作用域—在程序中起作用的范围 变量可视性的作用域规则—在作用域范围内是可引用的。 变量可视性还取决于: 函数形参:内部变量,可以和外部定义的变量重名,但应视为不同的变量。一般规定在函数内部,使用形参定义的变量。外部变量被屏蔽—成为不可视的。 符号表的主要属性和作用 (2) 分程序结构:由于分程序可以是多层次的嵌套结构,因此在各层次的分程序中定义的与外部重名的变量,在本层次中有效。即一旦重名,在本层外定义的变量被屏蔽—成为不可视的。 为了确立符号的作用域和可视性,符号表中除符号的存储类别外,还有该符号在程序结构上被定义的层次。 符号属性(信息) 5. 符号变量的存储分配信息 静态存储区—全局静态区、局部静态区 动态存储区—局部动态变量的生存周期是定义该变量的局部范围。 对变量存储分配还要确定其在存储区的具体位置的属性信息。 出现先后次序、存储区表头相对位移量。 符号属性(信息) 6. 符号的其它属性: (1) 数组内情向量 (2) 记录结构型的成员信息 成员所占存储空间、排列次序 (3) 函数及过程的形参 每个函数或过程的形参个数、排列次序、形参的类型。 9.3 符号表的组织 符号表是连贯上下文进行语义检查、语义处理、生成代码和存储分配的主要依据。 符号表的整体组织 表项信息组织 9.3.1 符号表的总体组织 第一种:把属性种类完全相同的那些符号组织在一起,构造出表项是分别为等长的多个符号表 第二种:把所有语言中的符号都组织在一张符号表中。组成一张包括了所有属性的庞大的符号表 第三种:折衷方式,根据符号属性相似程度分类组织成若干张表,每张表中记录的符号都有比较多的相同属性。 9.3.2 符号表项的排列 符号表作为一个多元组,表中元组的排列组织是构造符号表的重要成分。 在编译程序的整个工作过程中,符号表被频繁地用来建立表项,找查表项,填充和引用表项的属性。因此表项的排列组织对该系统运行的效率起着十分重要的作用。 符号表项的排列 在编译程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/500737.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mf253s移动版变全网通_中国电信发布5G全网通终端需求白皮书v2.0

2019-11-07 10:56 2019年10月31日,中国5G正式商用,标志着5G发展已进入快车道,整个社会各行各业对5G热情高涨,业界纷纷增加5G投入,5G终端的发展进程必将加快,市场空间巨大,潜力无限。 为更好地引…

广西 启动计算机教案,广西版六年级下册信息技术教案.docx

文档介绍:广西版六年级下册信息技术教案三年级下册信息技术教案1广西版六年级下册信息技术教案主题一制作Flash动画任务一美丽蝴蝶画出来一、教学目标知识与技能:①、认识flash窗口及工具栏;②、能够利用工具栏绘制图画;③、学会简单修改图画。过程与方法:通过用工具…

sap权限激活_sap角色权限设置手册V1.0

SAP角色权限设置及测试手册作者:邓珍石版本:V1.0第1页共14页SAP角色权限设置及测试手册(一)从Source Role拷贝生成Common Role.............................................................................2(二)直接创建生成Common Role ...........…

2020江苏计算机二级考试官网,2020年秋季江苏省计算机等级考试报名通知

2020年秋季江苏省高等学校计算机等级考试报名工作即将开始。现将有关事宜通知如下:一、报名时间和办法网上报名开放时间为:2020年8月28日10:00至9月4日16:00方法:登录信息门户(http://my.seu.edu.cn),选择“教学服务”页面&#x…

质量码_在验证牛顿第二定律实验为什么要保证槽码质量m远远小于小车质量M?...

在验证牛顿第二定律实验中,要保证槽码总质量m远远小于小车的质量M,为什么要这样?在“验证牛顿第二定律”实验中要求测量物体所受合外力和物体的总质量,而且对这两个物理量越容易测量越好.通过“等效法”的阐述我们已经知道,绳子对小车的拉力即…

计算机论文的的格式,计算机论文格式模板.doc

计算机论文格式模板作为计算机专业的同学,我们应该学会如何书写一份本专业的论文。对于论文的格式和写法大家了解过吗?以下是精心准备的计算机论文格式模板,大家可以参考以下内容哦!摘要:随着互联网宽带的飞速告诉的发…

拆分列成多行_把订单按货品拆分成多行(上)

办公的小伙伴们,今天小编来和大家分享。如何将一个单元格中有多行数据拆分成多行。看下图:要把订单按货品拆分成多行明细。下面给出几种不同的方法。一一一一一一一一一一一一一一一一一一一一一一方法一:借word来拆分内容Step1:把…

中北大学计算机二级负责老师,导师信息#中北大学计算机与控制工程学院研究生导师介绍#秦品乐...

姓名:秦品乐教育经历:1978年生,博士,副教授,硕士生导师。2009年-2011年大连理工大学工业装备与结构分析国家重点实验室从事博士后工作;2010年-2011年受教育部高等学校青年骨干老师国内访问学者资助在大连海…

遍历对象属性_细说JS遍历对象属性的N种方法

本人详细介绍了JS遍历对象N种方法,欢迎关注收藏。遍历对象属性有五种方法,下图为一个场景对比图。可以注意到两点:只有for ... in 才可以遍历原型链属性,且只能遍历可枚举属性。Object.getOwnPropertyNames Object.getOwnPropert…

计算机考试减法公式,Excel减法函数公式

根据网友提出的“错位减法的Excel减法公式”等问题,Excel办公网整理了一些著名网站上关于“错位减法的Excel减法公式”的信息标题: 求等比数列前n项之和的方法(数学)公式法和位错减法最好有一个例子参考文献: 常用方法包括:一. 公式法: 采用等差数列和等比数列求和的…

easyui label显示不全_easyui 元素遍历问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼easyui 1.7.2一个编辑对话框要提交的时候想遍历一下form上的所有需要提交元素的name属性及值,结果发现在处理easyui-combobox的时候得到的值总是怪怪的,会多出一到两组数据,请教下是何原因,不知道各位吧友是如何实现的?代码如下:g…

计算机系统账户被锁定,帐号已经被系统锁定是什么意思

2007-10-09我的帐号锁定了,我已经把那个解锁的资料用邮件发去去了,怎么不回呀,不是说24小时吗尊敬的客户:您好!5173客户服务010很高兴为您服务!请您查看下您的邮件是否已经成功提交,您的信息有没有填写齐全…

小孔成像实验探究的软件_探究小孔成像实验报告.doc

探究小孔成像实验报告探究小孔成像实验报告提出问题用易拉罐自制一个针孔照相机,在观察过程中,发现在室外观察景物时成像总不太清晰,有什么办法可增加清晰度呢。照相机半透膜上的图像会发生大小改变,这大小改变受什么因素影响&…

计算机模拟量与数字量的转换,在S7-1200 CPU中,如何实现模拟量数值与工程量数值之间的转换?...

在S7-1200 CPU中,如何实现模拟量数值与工程量数值之间的转换?本例程中的程序使用类似于STEP7 中提供的FC105/106.用户可以使用它们将模拟量输入/输出的整数数值与工程量单位之间进行转换。用户需要将此例程安装到程序库中。步骤1:在西门子网站…

计算机硬盘坏道有什么特点,硬盘坏道对电脑会造成什么影响

现在很多人还不知道什么是硬盘坏道,导致很多人不去重视。那今天来了解下什么是硬盘坏道,对电脑有什么影响!前方高能,请系好安全带!影响一:硬盘坏道后,常见的就是打开、运行或者拷贝某个文件时会出现卡顿,操…

域控下发脚本_域环境下做到单用户登陆控制脚本

早两年的时候因目前工作的工厂有要求做域环境下单用户的登陆控制,即只允许一个用户帐号在域环境下一台电脑登陆,以此来做好相关用户资料及权限控制的要求,故通过此脚本来做好相关用户的登陆记录,并配合之后的注销脚本来一起完成此…

金坛区实验幼儿园服务器不稳定,2019年金坛城区部分公办幼儿园服务区划分方案(试行)...

原标题:2019年金坛城区部分公办幼儿园服务区划分方案(试行)2019年金坛城区部分公办幼儿园服务区划分方案(试行)为认真贯彻省、市、区第二期学前教育五年行动计划中关于试行幼儿园服务区制度的文件精神,满足适龄儿童相对就近入园需求,促进区域…

hbase动态更改行键设计_Hadoop HBase概念学习系列之优秀行键设计(十六)

尽量最小化行名和列名的字段大小在HBase中,值是作为一个单元(Cell)保存在系统的中的,要定位一个单元,需要行,列名和时间戳。通常情况下,如果你的行和列的名字要是太大(甚至比value的大小还要大)的话,你可能…

mui ajax 文件上传,MUI的图片上传和压缩

MUI的上传图片目前知道有两种方式,一种见前面文章中关于图片裁切时使用的base64作为字符串上传,另外一种则是本篇章中所使用的plus.uploader方式,它是一种真正意义上的文件上传,我们可以使用commons- fileupload组件来实现一个文件…

高并发服务器开源项目,百万级高并发WebRTC流媒体服务器设计与开发(示例代码)...

第1章 课程导学与准备工作本章主要介绍为何要学习WebRTC流媒体服务器开发,以及本门课能为我们带来哪些收获。之后会为大家介绍本课程内容具体安排,最后给出如何学好这门课程的一些学习建议。希望大家都能通过这门课程,学有所成,学…