- 1、本文档共118页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理-辽宁工大(郭伟)4_自上而下语法分析
6)例4.7 算法应用于文法G E —> TE′ 填法: ∵ FIRST(TE′)=FIRST(T)={ ( , id } ∴ M[ E , ( ] = { E —> TE′} M[ E ,id] = { E —> TE′} E —> +TE′ 填法: M[ E, + ] = { E —> +TE′} E ′—> ε填法: ∵ FOLLOW(E′)={ ), # } ∴ M[ E′, )] = { E ′—> ε} M[ E , # ] = { E ′—> ε} 构造不带回溯的自上而下分析的文法条件 (1) 文法不含左递归; (2) 对于文法中每一个非终结符A的各个产生式的候选首符集两两不相交。即,若 A→α1|α2 |…|αn 则 FIRST(αi)∩FIRST(αj)=? (i≠j) (3) 对文法中的每个非终结符A,若它存在某个候选首符集包含ε,则 FIRST(A)∩FOLLOW(A)= ? 如果一个文法G满足以上条件,则称该文法G为LL(1)文法。 1.定义 若文法G的预测分析表M中不含有多重定义项,则称G为LL(1)文法。 注: 1)LL(1)文法是无二义的,二义文法一定不是LL(1)文法; 2)LL的含义是从左到右扫描输入串,采用最左推导分析 句子; 3)数字1表示分析句子时需向前看一个输入符号; 4)有LL(1)就有LL(k),LL(k)向前查看k个输入符号,选 择候选式更加准确,但M的尺寸会以nk增长,其中 n=|∑|+1,对程序设计语言取k=1就够了。 LL(1)文法 2 .证明定理 文法G是LL(1)文法当且仅当对于G的每个非终结符A的任何两个不同产生式A a|b有: 1)First(a) ∩ First(b)=Φ 2)若e∈First(b),则First(a) ∩ Follow(A) =Φ 注: 1)可以使用这个定理直接根据首符集,随符集来判断文法是否是LL(1),但判断之前,必须消除左递归和提取公共左因子,因为包含左递归和公共左因子的文法肯定不是LL(1)文法; 2)LL(1)文法只是上下文无关文法的一个子集。 LL(1)文法 例:判断下面文法是不是LL(1)文法 S if E then S else S |if E then S |other E b 解:首先对文法进行改造,消除文法左递归和提取公共左因子; 文法改写为: S if E then S S’|other S’ else S|e E b 第二步求首符集和随符集 First(S)={if,other},First(S’)={else,e} First(E)={b} Follow(S)=Follow(S’)={else,#} Follow(E)={then} 第三步:根据定理判定文法是不是LL(1)文法 因为:1)First(if E then S S’) ∩First(other)=Φ First(else S) ∩First(e)= Φ 但 2)First(else S) ∩ Follow(S’)={else}不为空集 故此文法不是LL(1)文法 i + * ( ) # E E TE’ E TE’ E’ E’ +TE’ E’ e E’ e T T FT’ T FT’ T’ T’ e T’ *FT’ T’ e T’ e F F i F (E) 判断一个文法是否是LL(1)文法的方法二 六、LL(1)分析法 LL:第一个L表示从左到右扫描输入串, 第二个L表示最左推导 (1):表示分析时每一步只需向前查看一个符号 2.LL(1)文法的条件 1.LL(1)文法 一个文法G,若它的分析表M不含多重定义入口,则称它是 一个LL(1)文法。 (1)FIRST(α)∩ FIRST(β) = φ (2)若β ε,则 FIRST(α)∩ FOLLOW(A)=Φ 文法G是LL(1)的,则对于G的每一个非终结符A的任何两个不同产生式 A - α| β,有: 使用LL(1)文法,一定可以实现不带回溯的自上而下分析; ① 对 A- α | β,若条件(1)不成立, 则 FIRST(α)∩ FIRST(β
您可能关注的文档
- 经典浸润人生,雅言传承文明.ppt
- 经济生活第三课第二框.ppt
- 结尾篇公开课.ppt
- 结合教师用书制作的《跨越百年的美丽》课件.zi.ppt
- 结尾的写作.ppt
- 结构_高考作文指导之结构篇.ppt
- 结构力学几何组成分析-例题.ppt
- 结构化面试万用句(分类).doc
- 结构化面试与招聘流程120912.ppt
- 结构化研讨2.ppt
- 2025旅游景区消防演练活动脚本方案.docx
- 2025年《机械员》考试题库附参考答案【培优】.docx
- 2024-2025学年度反射疗法师3级考试历年机考真题集【培优A卷】附答案详解.docx
- 2024-2025学年度反射疗法师3级考前冲刺试卷含答案详解(轻巧夺冠).docx
- 江西省2025年中考第三次模拟考试生物试卷(含答案).docx
- 2024-2025学年度反射疗法师3级考前冲刺试卷及完整答案详解【全优】.docx
- 2024-2025学年度反射疗法师3级考前冲刺试卷含答案详解(完整版).docx
- 2025年《机械员》考试题库附参考答案【培优b卷】.docx
- 2025麻醉药品培训试题(附答案).docx
- 2024-2025学年度反射疗法师3级考试彩蛋押题附参考答案详解(A卷).docx
最近下载
- 机械仿生狗设计说明书.doc
- 2025《西藏自治区建设工程计价定额》A房屋建筑与装饰工程.pdf
- 传送带同步运行功能使用说明书-北京迪基透科技有限公司.PDF
- 2025河北邯郸魏县选聘村级党务(村务)工作者490人笔试模拟试题参考答案详解.docx VIP
- 心脑血管疾病防治健康教育讲座课件PPT.ppt VIP
- 2025河北邯郸临漳县选聘农村党务(村务)工作者笔试模拟试题及答案解析.docx VIP
- 国开一网一 电子商务概论 实践任务(B2B电子商务网站调研报告).doc
- Siemens西门子工业SITRANS LR500 系列 (mA HART) SITRANS LR500 系列 (mA HART)使用手册.pdf
- 一种驻车空调和卡车启动共用锂电池模组.pdf VIP
- 电子商务学习记录.docx VIP
文档评论(0)