- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
编译原理 第 4 讲 自顶向下语法分析方法
第4讲 自顶向下语法分析方法 确定的自顶向下分析思想 LL(1)文法的判别 某些非LL(1)文法到LL(1)文法的等价变换 不确定的自顶向下分析思想 确定的自顶向下分析方法 一、确定的自顶向下分析思想 文法G1[S]:S→pAS→qBA→cAdA→aB→dBB→b 2、如果两个产生式有相同的左部,那么它们的右部由不同的终结符开始。 文法G2[S]:S→ApS→BqA→aA→cAB→bB→dB 3、文法中无空产生式。 定义:设 G = (VT ,VN , S , P) 是上下文 无关文法,FIRST(α) = { a|α aβ,a∈ VT, α,β ∈ V* }若α ε,则规定ε∈ FIRST(α) FIRST(Ap)={a,c} FIRST(Bq)={b,d} 文法G3[S]:S→aAS→dA→bASA→ε 定义:设 G = (VT ,VN , S , P) 是上下文无关文法,A∈VN , S是开始符号。 FOLLOW(A) = {a|S ?A?且a∈FIRST(?), ?∈V*,?∈V+ } 若S ?A?,且? ε,则规定 #∈FOLLOW(A) 对于 A→α A→β其中A∈VN , α, β ∈VN* 当α和β不同时推导出空时(设 α不推导 出空,β推导出空),则当FIRST(α)∩(FIRST(β)∪FOLLOW(A)) = Φ 时,对于非终结符A的替换仍可唯一地 确定候选。 定义:给定上下文无关文法的产生式 A→α,A∈VN , α∈V*,若α ε, 则 SELECT(A→α)=FIRST(α) 如果α ε,则SELECT(A→α)=FIRST(α)∪FOLLOW(A) 定义:一个上下文无关文法是LL(1)文法的充要条件是:对每个非终结符A的两个不同产生式A→α和A→β,满足SELECT(A→α)∩SELECT(A→β)=Φ其中α,β不能同时 ε LL(1)文法的含义: 第一个L表示:自顶向下分析是从左向右扫描输入串。 第二个L表示:分析过程中将用最左推导。 1表示:只需向右看一个符号便可决定如何推导(即选择哪个产生式进行推导)。 类似也可以有LL(K)文法:需向前查看K个符号才可确定选用哪个产生式。 文法G[S]是否是LL(1)文法?S→aA S→d A→bAS A→ε 设文法G[S] 为:S→aAS S→b A→bA A→ε 二、LL(1)文法的判别 求出能推出ε的非终结符 计算FIRST集 计算FOLLOW集 计算SELECT集 判别是否是LL(1)文法 例:设文法G[S] 为:S→AB S→bCA→ε A→bB→ε B→aDC→AD C→bD→aS D→c判断它是否是LL(1)文法。 1.求出能推出ε的非终结符 S→ABS→bCA→εA→bB→εB→aDC→ADC→bD→aSD→c 2.计算FIRST集 1.若X?V?,则FIRST(X)={X} 2.若X?VN,且有产生式X?a…,则 a∈FIRST(X); 若X??也是一条产生式,则 ?∈FIRST(X). S→ABS→bCA→εA→bB→εB→aDC→ADC→bD→aSD→c 3.计算FOLLOW集 1.对于文法的开始符号S,置#于FOLLOW(S)中; S→ABS→bCA→εA→bB→εB→aDC→ADC→bD→aSD→c 4.计算SELECT集 S→ABS→bCA→εA→bB→εB→aDC→ADC→bD→aSD→c 三、某些非LL(1)文法到LL(1)文法的等价变换 提取左公共因子 消除左递归 1、提取左公共因子 A→αβ|αγ导致SELECT(A→αβ)∩ SELECT(A→αγ)≠Φ,因此是非LL(1)文法。 例:文法G1[S] 为:S→aSbS→aSS→ε 例:文法G2为:A→ad A→Bc B→aA B→bB 结 论 不一定每个文法的左公共因子都能在有限的步骤内替换成无左公共因子的文法,文法中不含左公共因子只是LL(1)文法的必要条件。 2、消除左递归
您可能关注的文档
- 管理人员常犯的11种错误培训.ppt
- 管理信息系统第十四-十五章.ppt
- 管理学3 简史.ppt
- 管理学PPT课件6.ppt
- 管壳式换热器的构件50.ppt
- 管理学原理_07_激励.pptx
- 管理学综合复习题 2016.6.16.doc
- 管理学思想研究第1章.ppt
- 管理会计原理.ppt
- 管理沟通第三章 沟通客体分析.ppt
- 幼儿园全民国家安全教育日PPT.ppt
- 文明礼仪伴我行主题班会课.ppt
- 4.2 《心有一团火,温暖众人心》课件(共26张PPT) 2024-2025学年统编版高中语文必修上册.pptx
- 大模型平民化开启“AI+医疗”新纪元.pptx
- 2《以工匠精神雕琢时代品质》 课件(共28张PPT)2024-2025学年统编版高中语文必修上册.pptx
- 3《鸿门宴》 课件 (共52张PPT)2024-2025学年统编版高中语文必修下册.pptx
- unit 2能力阅读写作拔高练-学九级英语全一册单元模块满分必刷题人教版.pdf
- 9.3 《声声慢(寻寻觅觅)》课件 (共25张PPT)2024-2025学年统编版高中语文必修上册.ppt
- “4·23世界读书日”主题教育班会-阅读启心智,知识筑梦想 课件(共27张PPT).pptx
- 4EAT 变速箱维修手册.pdf
最近下载
- DG_TJ08-40-2010:地基处理技术规范.pdf VIP
- 2024年四川省宜宾市江安区化学中考一诊试卷.doc VIP
- 2024年中考语文总复习专题06:修辞手法(附答案解析).docx
- QCT 468_汽车散热器最新标准规范.pdf
- 《基本分析与技术分析相结合的A股投资策略案例报告》6200字.doc
- 2 TNC 640 HSCI加工中心和铣车复合加工机床数控系统.pdf VIP
- 2024年四川省宜宾市江安中学中考物理一诊试卷 .docx VIP
- 节能与新能源汽车技术路线图2.0_完整下载版.pdf
- 一般现在时(第三人称单数形式_)及练习.doc VIP
- 医院医保办个人年度述职报告与医院医保办个人总结汇编.doc VIP
文档评论(0)