欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《编译错误处理》PPT课件.ppt

    • 资源ID:5569033       资源大小:219.99KB        全文页数:16页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《编译错误处理》PPT课件.ppt

    词法错误语法错误语义错误违反了语言的环境限制数组维数太大循环嵌套层数太多,错误处理,词法错误、语法错误和语义错误,超越系统限制:(计算机系统和编译系统),1.数据溢出错误,常数太大,计算结果溢出。,2.符号表、静态存储分配数据区溢出。,3.动态存储分配数据区溢出。,语义规则,标识符先说明后引用标识符引用要符合作用域规定过程调用时实参与形参类型一致参与运算的操作数类型一致下标变量的下标不能越界,错误处理方法有两种:错误校正法:根据文法进行错误改正错误局部化法:把错误的影响限制在一个局部的范围,避免错误扩散和影响程序其他部分的分析,错误局部化法,词法分析:发现不合法字符,显示错误,并跳 过该标识符(单词)继续往下分析。,语法语义分析:跳过所在的语法成分(短语或语 句),一般是跳到语句右界符,然后从新语句继续往下分析。,错误局部化处理的实现(递归下降分析法),err:全局变量,存放错误信息。,用递归下降分析时,如果发现错误,便将有关错误信息(字符串或者编号)送err,然后转错误处理程序;出错程序先打印或显示出错位置以及出错信息,然后跳出一段源程序,直到跳到语句的右界符或正在分析的语法成分的合法后继符号为止,然后再往下分析。,if_ statement()getsym();/*读下个单词符号*/C();/*表达式处理程序*/if not sym=“then”err:=“缺then”;error();/*出错处理程序*/else getsym();statement();if sym=“else”getsym();statement();,if then else;,error()printf(linecnt,err);do getsym();while(sym!=“;”or sym!=“end”),发现错误立即跳到语句结尾处(语句右界符;或end),这样处理较粗糙,将跳过太多;上例中,缺then,就将跳过整个条件语句,使得then后的语句都被跳过而不分析,其中有错误就发现不了,(3)提高错误局部化程度的方法,若有错,则可跳到then若statement有错,则可跳到else,if then else;,6.3PL/0编译程序的错误处理,这样就需跳过一些后面输入的单词符号,直到读入一个能使编译程序恢复正常语法分析工作的单词为止。通常在它的入口和出口处,调用一个测试程序TEST。当语法分析进入这样的语法单元前,可用测试程序检查当前单词符号是否属于它们开始符号的集合,若不是则出错。在语法单位分析结束时,调用test,检查当前符号是否属于调用该语法单位时应有的后继符号集合。若当前单词符号是属于所给集合,则语法分析正常进行,否则出错。,开始符号集合 symset=set of symbol;declbegsys,statbegsys,facbegsys:symset;开始符号集合(*主程序*)declbegsys:=constsym,varsym,procsym;statbegsys:=beginsym,callsym,ifsym,whilesym,readsym,writesym;facbegsys:=ident,number,lparen;,后继符号集合fsys作为参数:procedure test(s1,s2:symset;n:integer);procedure block(lev,tx:integer;fsys:symset);procedure statement(fsys:symset);procedure expression(fsys:symset);procedure term(fsys:symset);procedure factor(fsys:symset);,在进入某个语法单位时或在语法单位分析结束时,调用TEST,检查当前单词是否属于该语法单元的开始符号或后跟符号集合。,TEST TEST,开始符号集合与后继符号集合,TEST测试过程流程图,因子的处理过程,例:因子的处理过程 procedure factor(fsys:symset);var i:integer;begin 入口:test(facbegsys,fsys,24);while sym in facbegsys do begin if.出口:test(fsys,facbegsys,23);end end;,

    注意事项

    本文(《编译错误处理》PPT课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开