收藏 分享(赏)

KYT培训文稿(案例分析)ppt课件.ppt

上传人:小陳 文档编号:3082953 上传时间:2020-11-27 格式:PPT 页数:41 大小:1.49MB
下载 相关 举报
KYT培训文稿(案例分析)ppt课件.ppt_第1页
第1页 / 共41页
KYT培训文稿(案例分析)ppt课件.ppt_第2页
第2页 / 共41页
KYT培训文稿(案例分析)ppt课件.ppt_第3页
第3页 / 共41页
KYT培训文稿(案例分析)ppt课件.ppt_第4页
第4页 / 共41页
KYT培训文稿(案例分析)ppt课件.ppt_第5页
第5页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、9.1 符号表的作用和地位 编译程序在执行的过程中,为了完成源 程序到目标代码的翻译,需要不断收集 、记录和使用源程序中一些语法符号的 类型、特征和属性等相关信息。 通常这些信息利用一些表格来保存,如 常数表、变量名表、数组名表、过程或 子程序名表以及标号表等。习惯上,将 这些表格统称为符号表。 1 源程序 词法分析程序 语法分析程序 语义分析程序 中间代码生成程序 代码优化程序 目标代码生成程序 目标程序 出 错 处 理 程 序 表 格 管 理 程 序 2 9.1 符号表的作用和地位 符号表的每一登记项包括名字标识符以及与 该名字相关联的一些信息。这些信息全面反 映了各个符号的属性及它们在编

2、译过程中的 特征。 在编译程序工作的全部过程中,都需要频繁 对符号表进行访问。有时填写信息,有时是 查找信息。 3 无论是查找,还是填写符号表,在编 译过程中都是一笔很大的开销。但仍 然要利用它,因为,它的功能体现如 下: 1.收集符号属性:在分析语言程序中标 识说明部分时,编译程序根据说明信息收 集有关标识符的属性,并在符号表中建立 符号的相应属性信息。 2.上下文语义的合法性检查的依据:同一 个符号,可能在不同的地方出现,有的是 定义;有的是引用。需要检查上下文之间 的一致性和合法性。 9.1 符号表的作用和地位 4 9.1 符号表的作用和地位 3. 作为目标代码生成阶段地址分配的依据:除

3、了在分析 过程中临时变量需要存贮单元外,每个符号变量在生成 目标代码时需要安排存贮位置。这需要解决两个问题: 存在哪个存贮区;在存贮区中存在哪个位置。这两个信 息都要存贮在符号表中。 符号表在编译过程中担任很重要的角色,然而, 又有很大开销。因此,合理组织符号表,正确利 用符号表,是提高编译程序工作效率的重要一环 。 5 9.2 符号表的主要属性及作用 语言符号可以分为关键字(保留字)符号、 操作符符号和标识符符号。它们之间的主要 属性有较大差别。需要建立不同的符号表。 以标识符为例,通常具有下列几种属性: 1.符号名: a.在程序设计语言中,一个标识符可以 是一个变量名、一个函数名或一个过程

4、 的名字; b.每个标识符通常由若干个字符组成的 字符串来表达。 6 a.因为标识符是变量、函数或过程的唯一标 识,因此标识符的重命名问题需要注意。 b.符号名与它在符号表中的位置一一对应, 而该位置通常用一个整数来表示,这个整数 就是该符号的内部代码,在分析过程中符号 串就变成了一个数值,识别与处理就方便了 。 7 9.2 符号表的主要属性及作用 2.符号的类型: a.除了过程标识符之外函数和变量标识 符都具有数据类型属性,其中,对于函 数的数据类型指的是函数值的数据类型 ; b.基本数据类型有整数、实数、字符、 逻辑及位组型等; c.符号的类型属性是在语言程序中定义 的; d.变量符号的类

5、型属性决定了该变量的 数据存贮格式和可以施加的运算操作; 8 a.不同类型的变量类型在运算过程中可能发 生变化; b.符号类型调整的原则是把其中一个存贮尺 寸较小或结构简单的变量转换成另一个符号 类型; c.在基本数据类型基础上可以扩充复合数据 类型。如数组类型、记录结构类型等; d.符号的类型是符号表存贮的符号的重要属 性。 9 9.2 符号表的主要属性及作用 3.符号的存贮类别: a.大多数语言对变量的存贮类别定义采用二种方式; 一种是用关键字指定。如:COMMON、Static等; 另一种是根据定义变量说明在程序中的位置来决定。 如私有变量、全局变量等; b.区别符号存贮类型的属性是编译

6、过程语义处理、检查和 存贮分配的重要依据。 10 4.符号的作用域及可视性: a.一个符号变量在程序中起作用的范围, 称为它的作用域; b.一般来说,定义该符号的位置及存贮类 关键字决定了该符号的作用域; c.一个变量的作用域就是该变量可以出现 的场合,也就是说在某个变量作用域范围 内该变量是可以引用的,这就是变量可视 性的作用域规则; 9.2 符号表的主要属性及作用 11 a.变量的可视性还体现在函数的形式参数及分程序结构 情形中; 函数的形式参数:通常函数的形式参数是作为函数 的内部变量处理的。函数体外定义的变量在函数体 内是看不见的。这时可以重名。 分程序结构:即结构化的程序设计。程序可

7、以分为 若干程序模块,程序模块中又可以嵌套其他程序模 块。为确定符号的作用域和可视性,符号表属性中 除了需要符号的存贮类别之外还需要表示该符号在 程序结构上被定义的层次。 b.无论是函数形式参数,还是分程序结构中的局部定义 都可以统一地用定义层次来区分。一般外部为0层,函 数内部为1层,依次向内嵌套定义的分程序为2、3等层 。 12 5.符号变量的存贮分配信息: a.根据符号变量的存贮类别定义及它们出现的位 置和次序来确定每一个变量应分配的存贮区及在 该区中的具体位置; b.在编译程序中,变量符号有两个存贮区域:静 态存贮区和动态存贮区; 静态存贮区:该存贮区单元经定义分配后成为静态单元 ,在

8、整个语言程序运行过程中是不可改变的。静态单元 分配的符号变量的生命周期是整个语言程序运行的周期 ;根据变量存贮类别及作用域规则,静态存贮区又可以 分为:公共静态区和局部静态区。 9.2 符号表的主要属性及作用 13 动态存贮区:根据变量的局部定义和分程序结构,编译程序设 置动态存贮区来适应这些局部变量的生存和消亡。局部动态变 量的生存周期是定义该变量的局部范围,即在该范围之外此变 量已经没有存在的必要。及时撤消时,这些单元可以收回,从 而提高运行的空间效率。 a.符号变量在存贮区中存放具体位置是根据扫描源程序 变量出现的次序以及它们之间的相对位置决定。 14 6.符号的其他属性: a.数组内情

9、向量:在程序设计语言中,数组是重要的数 据类型。数组内情向量是描述数组属性的信息,包括: 数组类型、维数、各维的上下界、数组的首地址,这些 信息登录在符号表中,是数组存贮分配时确定所占空间 大小和数组元素位置的依据; b.记录结构的成员信息:一个记录结构的变量,是由若 干成员组成的,因此记录结构变量在存贮分配时所占据 空间大小和位置要由它的全体成员的属性以及这些成员 排列次序来确定; c.函数及过程的形参:函数或过程的形式参数是函数或 过程的变量,有是对外的窗口,它们的属性和排列次序 都要反映在符号表中。 9.2 符号表的主要属性及作用 15 9.3 符号表的组织 从词法分析、语法分析、语义分

10、析到 代码生成的整个过程中,符号表是连贯上下 文进行语义检查、语义处理、生成代码和存 贮分配的主要依据,因此,符号表的组织直 接关系到这些语义功能的实现和语义处理的 时空效率。 1.符号表的总体组织 在程序设计语言中,有不同的种类的符号, 它们的属性信息各不相同,有的差异很大, 有的比较接近。 要将这样属性信息各不相同的符号放入符号 表中,需要很好的组织,通常有三种方法: 16 a).按照属性完全相同的符号组织在一起;b).这 样就需要建立多个符号表;c).好处是空间效率 高,对每个符号表来说管理一致方便;d).缺点 ,表多,总体管理复杂,混乱。 a).把程序设计语言中所有的符号集中在一张表

11、中;b).好处,集中管理方便,处理和管理比较 一致;c).缺点,空间效率低,符号个性化处理 不方便。 将第一、第二中折中,将属性接近的符号放在 一个符号表中,各个表通过关键字索引。 17 9.3 符号表的组织 2.符号表项的排列 符号表作为一个多元组,表中元组之间的排列组织是构造符号 表的重要成分; 在整个编译过程中,符号表被频繁的用来建立、查找、填写和 引用,因此,表项的排列和组织对系统运行效率影响很大。 符号表项的排列通常有三种方式: 线性组织:按符号被扫描的先后顺序建立在符号表中。 排序组织及二分法:按照符号的代码值(ASCII)从小到大排列 。 散列组织:a).表项位置由对表项符号值进

12、行“杂凑”函数计算得到 函数值来确定;b).所得到的函数值与该表项在表中的位置的对应 关系是通过函数值求整及相对于表长“求余”得到;c).有时会出现 ,不同符号散列到表中同一个位置上,造成“散列冲突”;d).解决 冲突的方法是不断散列,直到确定或报错。 静态符号表:多为关键字符号表 动态符号表:多为一般变量符号表。 18 9.3 符号表的组织 3.关键字域的组织 关键字域就是指符号表的关键字。 符号表的关键字域就是符号本身。它 可以是语言的保留字、操作符、标识 符(包括变量、函数名、记录结构等 )。 不同的程序设计语言,关键字域的规 定不同,如:最大字符个数,保留字 冲突限制等。 19 编译程

13、序中标识符的内部规则是符号表关键 字组织的基础和依据。 语言中标识符不会很长,并且也不会等长, 就会造成空间的浪费。 既要保证关键字的等长,又要减少甚至消除 冗余,采用关键字池的索引结构是可取的。 20 关键字池组织的符号表 v假设有一组标识符 van vexemplar vof vkey-wrds vfield 关键字段属性信息 0 3 12 15 25 a ne x e m p la ro fk e y -w o rd sfie ld 关键字池p 池的空区 21 9.3 符号表的组织 4.其他域的组织 符号表属性域的组织,根据属性性质分成两类:属 性相同且等长;属性相同但不等长。 1.属性

14、相同且等长:可以取相应的数据类型表达属 性略分析第三节 食品包装纸行业产品定位及市场推广策略分析一、食品包装纸行业产品市场定位二、食品包装纸行业广告推广策略三、食品包装纸行业产品促销策略四、食品包装纸行业招商加盟策略五、食品包装纸行业网络推广策略第十二章 食品包装纸企业竞争分析第一节 国际纸业舒尔物德包装(广州)有限公司一、企业基本情况二、企业销售收入及盈利水平分析三、企业资产及负债情况分析四、企业成本费用情况第二节 深圳市贤俊龙彩印有限公司一、企业基本情况二、企业销售收入及盈利水平分析三、企业资产及负债情况分析四、企业成本费用情况第三节 江苏海惠沃特包装有限公司一、企业基本情况二、企业销售收

15、入及盈利水平分析三、企业资产及负债情况分析四、企业成本费用情况第四节 上海紫丹印务有限公司一、企业基本情况二、企业销售收入及盈利水平分析三、企业资产及负债情况分析四、企业成本费用情况第五节 上海界龙集团有限公司一、企业基本情况二、企业销售收入及盈利水平分析三、企业资产及负债情况分析四、企业成本费用情况第六节 广东顺昌印刷有限公司一、企业基本情况二、企业销售收入及盈利水平分析三、企业资产及负债情况分析四、企业成本费用情况第七节 深圳市裕同包装科技股份有限公司一、企业基本情况二、企业销售收入及盈利水平分析三、企业资产及负债情况分析四、企业成本费用情况第八节 东莞市石龙联兴实业有限公司一、企业基本情

16、况二、企业销售收入及盈利水平分析三、企业资产及负债情况分析四、企业成本费用情况第九节 深圳市鸿业纸品有限公司一、企业基本情况二、企业销售收入及盈利水平分析三、企业资产及负债情况分析四、企业成本费用情况第十节 东莞市宏丰包装制品有限公司一、企业基本情况二、企业销售收入及盈利水平分析三、企业资产及负债情况分析四、企业成本费用情况第十三章 食品包装纸行业投资战略研究第一节 食品包装纸行业发展战略研究一、战略综合规划二、技术开发战略三、业务组合战略四、区域战略规划五、产业战略规划六、营销品牌战略七、竞争战略规划第二节 对我国食品包装纸品牌的战略思考一、企业品牌的重要性二、食品包装纸实施品牌战略的意义三

17、、食品包装纸企业品牌的现状分析四、我国食品包装纸企业的品牌战略五、食品包装纸品牌战略管理的策略第三节 食品包装纸行业投资战略研究图表目录图表 食品包装纸行业生命周期图图表 食品包装纸产品国内、国际市场成熟度对比图表 食品包装纸产品行业主要竞争因素分析图表 2015-2021年食品包装纸产品消费量变化图图表 2015-2021年食品包装纸企业品牌集中度分析图表 2015-2021年食品包装纸产品产能分析图表 2015-2021年中国食品包装纸产业工业总产值分析图表 2015-2021年食品包装纸不同规模企业工业总产值分析图表 2015-2021年食品包装纸不同所有制企业工业总产值比较图表 2015-2021年中国食品包装纸产业主营业务收入分析图表 2015-2021年食品包装纸不同

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 学前教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报