- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京交通大学于双元 第四章 语法分析 语法分析的方法 4.1 自顶向下分析法 --最左推导过程 二、问题解决方法 (1)直接左递归的消除: 用扩充的BNF表示{ },[ ], 引入新的非终结符号(提取公因子) (2) 间接左递归的消除 消除左递归的算法(直接和间接均消除) (1)直接左递归的消除 例:U→Uα|β 例1:T→T*F|T/F|F 变成:T→T(*F|/F) |F 消除左递归后得:T→F{*F|/F} 或: T’→(*F|/F)T’|ε T→FT’ 即: T→FT’ T’→*FT’|/FT’|ε (2)间接左递归的消除 ——消除左递归的算法(直接和间接均消除) 要求:文法不含A → A和A→ε 原理:S→Aβ| γ A→Sα 转换成 S→Sαβ| γ 间接左递归替换成直接左递归再消除 消除左递归的算法 ①把G的非终结符号排序A1 ,A2,…, An; ② for (i=1;i=n;i++) { for (j=1;j=i-1;j++) { 把每个形如Ai → Ajγ的规则替换成 Ai→δ1γ|δ2γ|…|δmγ, 其中 Aj →δ1|δ2|…|δm是当前Aj的全部规则; } 消除Ai规则中的直接递归 ; } ③化简由②得的文法,即去掉多余规则; 例:G[S]: S→Qc|c Q→Rb|b R→Sa|a ③ i=3,Ai=A3=S j=1,Aj=A1=R 无S→Rc规则 j=2,Aj=A2=Q 含S→Qc规则 S→Sabc|abc|bc G[S]中:S→Sabc|abc|bc|c 原规则中的 消除直接递归:S→(abc|bc|c){abc} G[S]:S→(abc|bc|c){abc} Q→Sab|ab|b 多余 R→Sa|a 多余 G[S]:S→abcS’|bcS’|cS’ S’ →abcS’| ε 或 S→S’{abc} S’→abc|bc|c 说明:非终结符号的排序不同,所得文法形式就不同,但语言等价。 消除左递归的矩阵表示方法 设VN中有n个非终结符号X1,X2,…,Xn 将Xi→γ1|γ2|...|γm表示成 Xi =γ1+γ2+...+γm 将γi分成两类 首符号∈VN 首符号∈VT Xi=X1α1i+X2α2i+...+Xnαni+βi αji可能为? βi是以终结符号开头的候选式的“和” 求解Xi (X1,X2,...,Xn)= (X1,X2,...,Xn) . α11 α12 ... α1n α21 α22 ... α2n : : αn1 αn2 ... αnn +(β1,,β2, ... βn) ? 表示:X=XA+B其解为X=BA* 解出A*很复杂,但我们的目的只是消除左递归,可绕开该问题。 举 例 上例:S=Qc+c Q=Rb+b R=Sa+a 矩阵展开 等价文法 Z11 → aZ31|ε Z21 → cZ11 Z31 → bZ21 Z12 → aZ32 Z22 →cZ12 |ε Z32 → bZ22 Z13 → aZ33 Z23→cZ13
您可能关注的文档
- 英语倒装句之部分倒装-1.ppt
- 粤教版必修一3.2《研究摩擦力》课件02.ppt
- 英语公共演讲开头和结尾技巧-1.ppt
- 英语公司宣讲会资料-1.ppt
- 英语公开课一等奖课件-1.ppt
- 英语六大基本句型结构-1.ppt
- 英语六级翻译总结.ppt
- 粤教版必修一3.4《力的合成与分解》课件02.ppt
- 粤教版必修一3.4《力的合成与分解》课件03.ppt
- 英语写作常见十大语法错误-1.ppt
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)