- 1、本文档共173页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定义5.16 按照LALR(1)的项目集规范族构造的文法G的LALR (1)分析表,如果每个入口不含多重定义,则称它为G的LALR(1)分析表。 具有LALR(1)分析表的文法G称为LALR(1)文法。 使用LALR(1) 分析表的语法分析器称作LALR(1)分析器。 CompilerPrinciples * 判断G是LR四类文法的哪一类 CompilerPrinciples * 例5.18 设有下列文法 S→Aa| bAc| Bc|bBa A→d B→d 判断该文法是哪类LR文法? CompilerPrinciples * LR(0)?SLR(1)?LR(1)?LALR(1)? CompilerPrinciples * I0 S→?S S→?Aa| ?bAc| ?Bc| ?bBa A→?d B→?d A→d ? B→d ? I1 d 归约—归约 冲突 G为非LR(0) 用SLR(1)方法 FOLLOW(A) = {a,c} FOLLOW(B) = {a,c}∩≠? G为非SLR(1) 构造LR(1)的C S →?S, # S→?Aa| ?bAc| ?Bc| ?bBa, # A→?d , c B→?d , a CompilerPrinciples * A→d ?,a B→d ?,c d S→b?Ac | b ?Ba,# A→?d ,c B→?d ,a b G为LR(1) A→d ?,c B→d ?,a d 同心项目集 S →?S, # S→?Aa| ?bAc| ?Bc| ?bBa, # A→?d , c B→?d , a CompilerPrinciples * A→d ?,a\c B→d ?,a\c d S→b?Ac | b ?Ba,# A→?d ,cB→?d ,a d b 归约—归约冲突。非LALR(1) G为LR(1) 5.8 LR分析对二义文法的应用 结论 任何二义文法都不是LR文法,因而也决不是SLR或LALR文法。 例5.17 设有文法G(E) : E→E+E ① E→E*E ② E→(E) ③ E→i ④ 等价文法 G2: E→E+T∣T T→T*F∣F F→(E)∣i CompilerPrinciples * CompilerPrinciples * I0:E→?E E→?E+E E→?E*E E→?(E) E→?i I1:E→E? E→E?+E E→E?*E I4:E→E+?E E→?E+E E→?E*E E→?(E) E→?i I3:E→i? I2:E→(?E) E→?E+E E→?E*E E→?(E) E→?i I7:E→E+E? E→E?+E E→E?*E I5:E→E*?E E→?E+E E→?E*E E→?(E) E→?i I8:E→E*E? E→E?+E E→E?*E I6:E→(E?) E→E?+E E→E?*E I9:E→(E)? E + i ( ( i E * i E + E * i ( * ) + * + 5.9 LR分析的错误处理与恢复 错误存在的必然性 问题复杂性、程序员素质、输入错、系统环境生疏… 编译中的错误种类 词法错误; 语法错误; 语义错误(静态、动态) ; 违反环境限制的错误; CompilerPrinciples * 5.9 LR分析的错误处理与恢复 错误处理基本目标 1. 清晰准确地报告错误(错误的定性和定位); 2. 迅速从每个错误中恢复过来,以便诊断后面的错误; 3. 不使正确程序的处理效率降低。 CompilerPrinciples * 5.9 LR分析的错误处理与恢复 错误处理与恢复策略 1. 紧急恢复方式 编译器每次发现错误时,抛弃一个输入符号,直到输入符号属于某个指定的同步符号集合为止。 CompilerPrinciples * 例如,界限符:;、}、end … 5.9 LR分析的错误处理与恢复 2. 短语级恢复 发现错误时,对剩余符号串作局部校正。 即使用可以是编译器继续工作的输入串代替剩余输入的前缀。 CompilerPrinciples * 5.9 LR分析的错误处理与恢复 3. 出错产生式 扩充语言的文法,增加产生错误结构的产生式。分析中可以直接识别处理错误。 4. 全局纠正 获取全局最小代价纠正。 CompilerPrinciples * 5.9 LR分析的错误处理与恢复
您可能关注的文档
- 第五章地图符号化 (2).ppt
- 第五章增压器的计算.ppt
- 第五章外汇风险管理.ppt
- 第五章大气环境影响(二).ppt
- 第五章学前儿童注.ppt
- 第五章审计的重要性与审计风险.ppt
- 第五章对外汉语教学的四大环节 (3).ppt
- 第五章工程经济评价指标31.ppt
- 第五章幼儿故事 (2).ppt
- 第五章广告表现战略.ppt
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
最近下载
- 13套题,必过,阿坝州拟任科级领导干部任职资格政治理论考试题汇总.pdf
- 2023年关于医药领域腐败问题全面集中整治自查自纠报告与医院开展医疗领域群众身边腐败作风问题专项整治工作总结【两篇】.docx VIP
- 高中语文必修二课件--念奴娇·赤壁怀古.ppt VIP
- 高中化学选修三全套.pptx VIP
- 中国特色社会主义理论体系的形成的历史条件.ppt VIP
- 领导讲话稿写作方法和技巧.ppt
- 高中:原创语文《反对党八股》(定稿).pptx VIP
- 液压升降机油路图液压升降机毕业设计.doc VIP
- 《管理学原理》全套课后习题答案(大学期末复习资料).docx
- 高中课件:原创语文《反对党八股》公开课课件.pptx VIP
文档评论(0)