- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]上海大学 计算机 编译原理 沈俊 chap5
* 消除间接左递归 A→aB A→Bb B→Ac B→d A→aB A→Bb B→aBc|Bbc B→d B→(aBc|d)B’ B’→bcB’| ? A→aB A→ Acb|db B→Ac B→d A→(aB|db)A’ A’→cbA’| ? 它们是LL(1) 文法? * 文法消除左递归的要求 无回路(A(A (A) 1. 无空产生式: A→? 2. 没有有害规则: A→A * 文法消除左递归的算法 1. 以某种顺序将文法非终结符排列A1 ,A2 …An 2. for (i=1;i= n; i++) { for (j=1; j=i-1; j++) { 用Ai-?1r| ?2r…| ? k r替代 形如Ai-- Ajr的规则,其中 Aj-- ?1| ?2…| ?k是关于Aj的全部产生式; } 消除Ai规则的直接左递归; } 3. 化简由2得到的文法 * 消除间接左递归示例 G[S]: (1) S→Qc|c (2) Q→Rb|b (3) R→Sa|a 设非终结的排序为: S、Q、R (4) R→Qca|ca|a (5) R→Rbca|bca|ca|a G[S]: (1) S→Qc|c (2) Q→Rb|b (3) R→(bca|ca|a)R’ (4) R’ →bcaR’| ? (3) R→Sa|a (2’) Q→Sab|ab|b (1’) S→Sabc|abc|bc|c G[S]: (1) S→(abc|bc|c)S’ (2) S’→abcS’|? (3) Q→Rb|b (4) R→Sa|a * 不确定的自顶向下分析思想 例:文法G:S → cAd A → ab A → a识别输入串w=cabd是否该文法的句子 S S S c A d c A d a b 推导过程:S ? cAd ? cabd * 通过回朔试探寻找匹配的最左推导 文法G:S → cAd A → ab |a 识别输入串w=cad 试探:推导过程:S ? cAd ? cabd S S S c A d c A d a b 回朔:试探推导过程:S ? cAd ? cad S c A d a * 确定的自顶向下分析思想 递归子程序 预测分析方法 * 递归子程序法实现表达式语法分析 表达式的EBNF表达式→[+|-]项{(+|-)项}项→因子{(*|/)因子}因子→ident|number|‘(’表达式‘)’ * 表达式的语法分析程序 void expr { if (sym in [ plus, minus ]) { getsym; term; }else term;while (sym in [plus, minus]) { getsym; term;} } 表达式∷=[+|-]项{(+|-)项} * 项的语法分析程序 void term { factor; while (sym in [times,slash]) { getsym; factor; } } 项∷=因子{(*|/)因子} * 因子的语法分析程序 void factor { if (sym==ident) getsym ; else if (sym==number) getsym else if (sym==‘(‘) { getsym; expr; if (sym==‘)’) getsym; else error; } else error; } 因子∷=ident|number|‘(’表达式‘)’ * 预测分析程序模型 Input # 总控程序 预测分析表 st
您可能关注的文档
最近下载
- 湖南省长沙市长郡雨花外国语学校2022年人教版小升初考试数学试卷(一)(含答案解析).docx VIP
- 福建省福州一中自主招生考试数学试卷.docx VIP
- 《企业内部控制》第18章 内部信息传递.pptx VIP
- 小学英语特色课程.doc VIP
- 肱骨骨折的护理查房.pptx VIP
- 浙江省台州市椒江区2023-2024学年八年级下学期期末数学试题(含答案).docx VIP
- 2025中考初中英语1600单词速记完整版(复习必背).docx
- 2025年哈尔滨供水集团有限责任公司人员招聘笔试备考试题及答案解析.docx VIP
- (正式版)S-H∕T3507-2024 石油化工钢结构工程施工及验收规范.docx VIP
- JT∕T 1094-2016 营运客车安全技术条件.pdf VIP
文档评论(0)