- 1、本文档共100页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
则不能采用自顶向下分析法
编译原理 第一章 编译程序概述 第二章 PL/0编译程序的实现 第三章 文法和语言 第四章 词法分析 第五章 自顶向下语法分析方法 第六章 自底向上优先分析方法 第七章 LR分析方法 第八章 语法制导翻译和中间代码生成 第九章 符号表 第一○章 代码优化 第一一章 代码生成 自顶向下语法分析方法 自顶向下分析法就是从文法的开始符号出发,试图推导出与输入的单词串完全匹配的句子。 如果能够推导出,则该输入串是给定文法的句子; 如果不能推导出,则该输入串不是给定文法的句子。 自顶向下语法分析要解决的关键问题 假定要被代换的最左非终结符号是B,且有n条规则:B→A1|A2|…|An,那么如何确定用哪个右部去替代B? 自顶向下语法分析方法 自顶向下分析法分确定性和不确定性两种。 自顶向下的确定性分析法对文法有一定的限制,但实现简单直观,便于手工或自动构造; 自顶向下的不确定性分析法是带有回溯的分析方法,效率低,代价高,极少使用。 自顶向下语法分析要解决的关键问题 假定要被代换的最左非终结符号是B,且有n条规则:B→A1|A2|…|An,那么如何确定用哪个右部去替代B? 如何根据输入串的第1个符号来确定产生式呢? 根据当前输入符号属于哪个产生式右部的开始符号集合而决定选择相应产生式进行推导。 自上而下语法分析要解决的关键问题 假定要被代换的最左非终结符号是B,且有n条规则:B→A1|A2|…|An,那么如何确定用哪个右部去替代B? 根据规则的选择集合来确定。 LL(1)的含义:从左L向右扫描输入串,分析过程中采用最左L推导,只需向右看1个符号就可确定如何推导(选择哪个产生式进行推导)。 当需要选用自顶向下分析技术时,首先必须判定所给的文法是否是LL(1)文法。 例:递归子程序实现 表达式的语法分析 表达式的EBNF〈表达式〉∷=[+|-]〈项〉{(+|-)〈项〉}〈项〉∷=〈因子〉{(*|/)〈因子〉}〈因子〉∷=ident|number|‘(’〈表达式〉‘)’ 〈表达式〉∷=[+|-]〈项〉{(+|-)〈项〉} procedure expr;begin if sym in [ plus, minus ] then begin getsym; term; endelse term; while sym in [plus, minus] do begin getsym; term; endend; 〈项〉∷=〈因子〉{(*|/)〈因子〉} Procedure term; begin factor; while sym in [times,slash] do begin getsym;factor end end; 〈因子〉∷=ident|number|‘(’〈表达式〉‘)’ Procedure factor; begin if sym=ident then getsym else if sym=number then getsym else if sym=‘(‘ then begin getsym; expr; if sym=‘)’ then getsym else error end else error end; 预测分析表可用一个矩阵表示。矩阵元素M[A,a]中的A表示非终结符, a表示终结符或句子结束符#,矩阵元素M[A,a]中的内容是一条关于A的产生式,表明当用非终结符A向下推导时,面临输入符a时,所采用的候选产生式,当元素内容无产生式时,表明用A为左部向下推导时遇到了不该出现的符号,因此元素内容为转向出错处理。 如何构造预测分析表? 分析算法 BEGIN 首先把’#‘然后把文法开始符号推入栈;把第一个输入符号读进a; FLAG:=TRUE; WHILE FLAG DO BEGIN 把栈顶符号上托出去并放在X中; IF X ? Vt THEN IF X=a THEN
您可能关注的文档
- 关于招募第六届东亚运动会语言服务志愿者 - 南开大学物理学院.doc
- 关于招募西南财经大学2013年全国大学生志愿服务西部计划志愿者的 .doc
- 关于招募选拔温州大学建校80周年校庆.doc
- 关于招募山东省妇女维权服务志愿者的公告 - 山东省妇联.pdf
- 关于无线固话来电弹屏、拨号、发短信功能说明 无线座机:也叫无线固 .doc
- 关于比赛服印字和重剑手线固定方法等器材规则的说明.pdf
- 关于社会公共安全产品自愿性认证 - 中国安全技术防范认证中心.doc
- 关于海洋肽产品的一些问题 - 中国保健协会.doc
- 关于组织参加2016学雷锋志愿服务四个100投票活动的通知.doc
- 关于编印出版《中国模具采购指南》的通知 - 中国模具工业协会.doc
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 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)