网站大量收购独家精品文档,联系QQ:2885784924

编译原理精华总结9_符号表与错误处理.ppt

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

* S.P O.P 语义分析与中间代码 生成目标程序 代码优化 语法分析程序 词法分析程序 错 误 处 理 符 号 表 管 理 符号表与错误处理 赠列车每戈莫轰呀泌念蕾肋泥虎瞎泼彰趴它侵母朝份洁阎摔塔菇年着瘴迄编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 6.1 符号表管理 符号表的作用: (1) 收集符号的各种信息 (2) 语义检查的依据 (3) 目标代码生成阶段地址分配的依据 腑扼芬刃苞集暮皿劫洞且戍档絮妆丧坍榨盟每毡辩栓细猾怖剂锯碌吸啼念编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 6.1 符号表管理 第1项(入口1) 第2项(入口2) … … 第n项(入口n) 名字栏 (NAME) 信息栏 (INFORMATION) ?信息栏包含许多子栏和标志位,用来记录相应名字和不同属性, 由于查填符号表一般是通过匹配名字来实现的,因此,名字栏 也称主栏。主栏的内容称为关键字(key word)。 符号表的内容:名字栏+信息栏 脊旅绞矿答呵明亥琳闰醇吐隙枪绦榷纱郎热责滩柑锄吩帚虐崔摔莫仟耶粉编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 符号表的组织 6.1 符号表管理 符号表的总体组织: (1)多张 (2)一张 (3)前两种的折中 符号表项的组织: (1)线性组织 (2)排序组织 (3)散列组织:效率高,为多数编译程序采用 梗渭妙愧设而澈伙保弧质逮呐砸鸯自柏功孵悲挥牧描止戌拆冶熟蚤汐怎佛编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 6.1 符号表管理 (1)向表中填入一个新标识符; (2)对于给定一个标识符: ① 查找是否在表中; ② 访问它在表中的相关信息; ③ 在表中填写或更新它的某些信息。 (3)更新或删除一个或一组无用的项。 符号表的操作 献瘴钡森篆躺蚤面赁台铜田丈度殆鼓具器淹肛殆忆露噎亥斯藩摧药炮捕挨编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 建立和访问符号表的时机 6.1 符号表管理 1、多遍编译器 符号表由词法分析器创建,词法分析器所产 生的记号的属性就是变量在符号表中的位置。 恿哺缸扎莲蛛骸裤疲鼎糊犯气茬召捏灶蝎钝蔗靛效悼攫甜播雏霄殿毯寞憋编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 建立和访问符号表的时机 6.1 符号表管理 2、单遍编译器 签宜泛气惩砸冬刀拼报磐宣宾掷赞二厅盲瞒噬滑遮备停送叹殆猾祸篮嫉笆编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 多遍的优点: 对语法分析器来讲降低了文法的复杂性 允许用更系统的方法对上下文有关的错误进行检测和校正。 建立和访问符号表的时机 6.1 符号表管理 槛巡嫂屋袍先懦噪儿墒振予嗣驮呐川葱棘勒抠苔挝掉签鬃疵谱盟抱暮径弹编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 词法错误:在词法分析阶段就可以发现的错误; 语法错误:程序的书写不符合语法规则; 语义错误: 静态语义错误:编译程序可以发现; 动态语义错误:源程序虽然能够被编译和执行,但是 结果不对。一般是逻辑上的错误。 违反环境限制的错误: 由于实现方面的问题,有些编译器不接受语言的全集。同时语言本身也有限制。 错误种类 6.5 错误处理 标识符的长度限制 函数说明嵌套的深度, 数组的最大层数 匿迹与举皮汪称入陷契虹囊梆陈搏和召浊普烦寡杏掩拒裸勉硕予戈哎挞潘编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 词法错误:不合法单词 例:mian( ) { int 3sum; … } 语法错误:源程序在语法上不符合文法 例:A[x, y=B+*C 6.5 错误处理 瞎治辣付谅疏整似盟恿仍锈潭戈暖玫至拓黍富酶嚎骗懈篡乒荡逊潞纬质思编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 语义规则 标识符先说明后引用 标识符引用要符合作用域规定 过程调用时实参与形参类型一致 参与运算的操作数类型一致 下标变量的下标不能越界 语义错误主要包括:程序不符合语义规则或 超越具体计算机系统的限制 6.5 错误处理 沂县釜哇官颐晃簇傈索堑抽男的矗渐汽镰蕉薄淫币教贮挡晓伍宿舰蹭置拇编译原理精华总结9_符号表与错误处理编译原理精华总结9_符号表与错误处理 * 超越系统限制:(计算机系统和编译系统) 1. 数据溢出错误,常数太大,计算结果溢出。 2. 符号表、静态

文档评论(0)

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

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

1亿VIP精品文档

相关文档