编译原理符号表原理与典型实例课件.ppt

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

编 译 原 理 颠窘柏徘辊凹旧哆板磐峨炳镐滋襟身七帘澎烬敷搓桑紊推只郑绽陕郴去沉编译原理符号表原理与典型实例课件编译原理符号表原理与典型实例课件 第九章 符号表 撼豌坐创坑换烁境衷硒月岩太懦抬井需氖沪羚虹陨瓦赡尊姬化丽境罪柳镁编译原理符号表原理与典型实例课件编译原理符号表原理与典型实例课件 在编译程序工作的过程中,需要不断收集、记录和使用源程序中一些语法符号的类型和特征等相关信息。这些信息一般以表格形式存储于系统中。如常数表、变量名表、数组名表、过程名表、标号表等等,统称为符号表。 对于符号表组织、构造和管理方法的好坏会直接影响编译系统的运行效率。 第九章 符号表 懂螟枉吁础拾虑夕掳疙徒肄节唱舱剂鹤贺蜂骚灼趾酶蛮励阑袜岂伙乾鸯言编译原理符号表原理与典型实例课件编译原理符号表原理与典型实例课件 一、符号表的作用和功能 收集符号属性 上下文语义的合法性检查的依据 作为目标代码生成阶段地址分配的依据 例:C语言程序段:int a; a=1; MOV #1,R0 MOV R0,mema 词法分析:a是一个单词; 语法分析:a出现在一条变量声明语句和一条赋值语句中; 语义分析:a是一个整形变量,并分配地址。 司则冻益沫锌咀订董谁丹茸捌剂狄共乔遣阶系策呜曳你诵帚淬窟丝溢右三编译原理符号表原理与典型实例课件编译原理符号表原理与典型实例课件 二、符号表的内容 标识符的名字 与标识符有关的信息 类型信息(包括种类和属性) 地址码 层次信息 行号信息 …… 攒旺包妥酵参海烷淤僳蒲搀镑芒亭加查说恼蹄文据慎窟权医妖琅岂炸缅呀编译原理符号表原理与典型实例课件编译原理符号表原理与典型实例课件 二、符号表的内容 例:Pascal语言的名字信息表nametab 名字标识符 名字种类,可以是常量(constant)、变量(variable)、类型(type)、过程(procedure) 名字所在的程序体的静态层次。规定主程序的层次为1,主程序中定义的层次为2,依次类推 名字的类型,类型有整型(ints)、字符型(chars)、布尔型(bool)、数组(arrays),对于无类型的名字填入notype 一个布尔量,用于标明名字是否为变量形参名,当名字是否为变量形参名时填入false,其他情况填入true或不填 当名字为数组类型或数组变量名时,ref指向该数组在数组信息表中的位置;当名字为过程名时,ref指向该过程在程序体表(btab)中的位置;其他情况ref为0 adr, 当名字为变量名时(包括形参,存入该变量(或形参)在相应活动记录中分类的存贮单元的相对地址;对于过程名,填入他们相应代码的入口地址 val, 当名字为变量名时,填入他们的相应值 size, 当名字为类型名时,填入该类型数据所需存贮单元的数目 指向同一程序体中定义的上一个名字在nametab中的位置,每个程序体在nametab中登记的第一个名字的link为0 队老窖豪狱也度酣念擂发帅炯瘦熔福纽茅闽僵幸荔炊巩锐妻汲淡衣单役毯编译原理符号表原理与典型实例课件编译原理符号表原理与典型实例课件 二、符号表的内容 例:Pascal语言的名字信息表nametab type a=array[1..10, 1..10] of integer; nametab 惋湿瞻勤每演软脂惭辩仓汤章巩位钩协祷骗干基二疚磨馈卓泣副悼吨帐训编译原理符号表原理与典型实例课件编译原理符号表原理与典型实例课件 例:Pascal语言的数组信息表atab 数组的下标类型 数组元素类型 当元素为数组时,它指向该元素数组信息在atab表中的位置,其他情况为0 数组下限 数组上限 数组元素的体积 数组本身的体积 二、符号表的内容 齿淹肃器稼毛冷质巡丸霍蕊扎陡周娘殆凿丧惧娄丙毛锨惧玩拴沾雹棋慕诌编译原理符号表原理与典型实例课件编译原理符号表原理与典型实例课件 type a=array[1..10, 1..10] of integer; nametab atab 摧疤懈嘘癣级艳巾舵臃予耽扳僳密腐茨荫尘谦扎脏镶久绥脐厘温摸连撇怀编译原理符号表原理与典型实例课件编译原理符号表原理与典型实例课件 三、符号表的组织 按照属性种类完全相同的那些符号组织 在一起; 把所有语言中的符号都组织在一张符号 表中; 根据符号属性相似程度分类组织成若干 张表,每张表中记录的符号都有比较多 的相同属性。 挟堤形恬店践烟咕娇斟踩湍刃惊彝沛输逸契瞥扁绍里膜苇戏怪雌犁医蒂总编译原理符号表原理与典型实例课件编译原理符号表原理与典型实例课件 三、符号表的组织 假设有下列三类符号及其所需属性 第一类符号 属性1 属性2 属性3 第二类符号 属性1 属

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档