- 1、本文档共113页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
消除左递归 消除直接左递归 形如:P ? P?|? ?非 ?,不以P打头 改写为:P ?βQ Q ??Q|? a)消除直接左递归 对文法G5: S?Sa S?b 可改写为: S?bS’ S’?aS’|? 改写后的文法所产生的语言句子集仍为:L={ban|≥0} 改写后的文法为LL{1}文法 消除左递归 消除间接左递归 要求文法:1. 无回路(A(?+A) 2.无空产生式 先将间接左递归变成直接左递归,然后再消除直接左递归。 间接左递归的例 例5.11文法G6为: A?aB A?Bb B?Ac B?d 若有输入串:adbc# 分析过程的语法树: d A a B A c B b (a) A a B A c B b A c . . . (b) b)消除间接左递归 对文法G6:A?aB A?Bb B?Ac B?d 替换为:A?aB A?Bb B?aBc B?Bbc B?d 消除左递归:A?aB A?Bb B?(aBc|d)B’ B’?bcB’|? 改写后的文法为LL{1}文法 c)消除文法中一切左递归的算法 对文法中一切左递归的消除要求文法中不含回路 A?+A 的推导 满足这个要求的充分条件是,文法中不含形如 A?A 的有害规则和 A?? 的空产生式 消除文法中一切左递归的算法步骤 把文法的所有非终结符按某一顺序排序,如:A1,A2,……An 从A1开始消除左部为A1的产生式的直接左递归,然后把左部为A1的规则的右部逐个替换左部为A2右部以A1开始的产生式中的A1,并消除左部为A2的产生式的直接左递归,…… 去掉无用产生式 使用算法消除左递归的例 例:有文法的产生式为: (1) S?Qc|c (2) Q?Rb|b (3)R?Sa|a 若排序为:S Q R 无直接左递归,替换:(1)代入(3) (4) R? Qca|ca|a 替换:(2)代入(4) (5) R? Rbca|bca|ca|a 消除直接左递归 S?Qc|c Q?Rb|b R? (bca|ca|a)R’ R’? bcaR’|? 使用算法消除左递归的例 (1) S?Qc|c (2) Q?Rb|b (3)R?Sa|a 若排序为:R Q S 替换:(3)代入(2) Q? Sab|ab|b 再代入(1) S? Sabc|abc|bc|c 消除直接左递归 S? (abc|bc|c)S’ S’?abcS’|? R? (bca|ca|a)R’ R’? bcaR’|? 消除左递归的例 例:考虑文法 S ? (L)|a L?L,S|S 消除左递归后的文法为 S?(L)|a L?SL? L??,SL?|? 5.4 不确定的自顶向下分析思想 当文法不满足LL(1)时,可以用不确定的自顶向下分析法(带回溯的自顶向下分析法) 当某个非终结符的产生式有多个候选时,对当前输入符号无法确定选用唯一的产生式,从而引起回溯。 回溯—退回,重新匹配 1.由于相同左部的产生式的右部FIRST集的交集不为空而引起回溯 例如,有文法: S?xAy A?ab|a 若当前输入串为 xay 对于字符 a,可选用产生式A?ab, 但b和y不匹配,回溯,重新选用A?a 2.由于相同左部的非终结符的右部存在能 ?*? 的产生式,且该非终结符FOLLOW集中含有其它右部FIRST集的元素 例如,文法: S ?aAS S ?b A ?bA A ?ε 对当前输入串 ab#,首选 S ?aAS 对于字符 b,可选用产生式 A ?bA A为非终结符,而且后面有S,回溯,选用产生式 A ?ε,然后选S ?b,完成匹配。 3.由于文法含有左递归而引起回溯 例如,文法: S ?Sa S ?b 对当前输入串 baa#, 对于字符 b,可选用产生式 S ?b,b为终结符,不能继续推导,回溯 选用产生式 S
您可能关注的文档
- 按劳分配为主体,多种分配方式并存1.ppt
- 第八章+Agent(艾真体).ppt
- 001新世纪新人类如何实现创业理想?.ppt
- 2013电法勘探原理10.ppt
- Powerpoint制作课件+控件的使用.ppt
- 第1章 Linux概况及安装.ppt
- 第四章__铸铜合金的熔炼.ppt
- 积极心态成功人生.ppt
- 飞思卡尔8位单片机MC9S08+14+USB接口.ppt
- 2.5形态与指标分析.ppt
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
文档评论(0)