- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章:语法分析 第四章(上)重要概念回顾 如果S?* αAβ and A?+γ,则称γ是句型αγβ的相对于变量A的短语 如果S?* αAβ and A?γ,则称γ是句型αγβ的相对于变量A的直接(简单)短语 最左直接短语叫做句柄 规范归约(另一表达):设α为文法 G 的句子,如果 1) α=αn?αn-1?…?α2?α1=S 2)对每个i(1≤i≤n),αi-1是将句型αi中的句柄归约后得到的句型,则称序列 αn,...,α1为α的规范归约序列—由规范归约组成 4.6 自底向上语法分析概述 基本思想:从待输入的符号串开始,利用文法的规则步步向上归约,试图归约到文法的识别符号。从语法树的角度看,自底向上分析的过程是以输入符号串作为末端结点符号串,向着根结点的方向往上构造语法树,使识别符号正好是该语法树的根结点。如果最终根结点是识别符号,则输入串被识别出是相应语言的句子,否则不是。自底向上分析过程实际上是一个不断进行直接归约的过程。 遇到的问题:采用自底向上分析技术进行语法分析时,在分析的每一步中,会遇到的两个基本问题是: ①如何找出进行直接归约的简单短语? 4.6 自底向上语法分析概述 遇到的问题: ②找出的简单短语应直接归约到哪一个非终结符号?(即在S ?* αAδ且A ?β推导出的αβδ中如何找到β使αβδ归约为αAδ,最终归约为S。) 解决方法: 由于分析过程是从左往右扫描源程序,所以遇到的第一个简单 短语正好是句柄,第一个问题变成“如何找到句柄”。 如何找到句柄?找出的句柄应归约到哪一个非终结符号?对这 两个,不同的分析算法有不同的解决方法。 4.6 自底向上语法分析概述 基本实现方法: 自底向上分析的基本实现方法是移入-归约 法。采用移入-归约法时通常引进一个后进先出的栈来存放符号,按 照扫描顺序把当前输入符号下推入栈(移入),然后查看栈顶的符 号串是否形成句柄。如前所述,引进了符号#作为输入符号串的开始 和结束符,所以它也作为符号栈的第一个符号,即栈底标志符号。 在整个分析过程中,动作共有4类,即移入、归约、接受与报错: 移入:读入下一个输入符号并把它下推进栈。 归约:当栈顶的(部分)符号串形成一个句柄时,对此句柄 进行归约,把形成句柄的符号串替换为相应的非终结符号。 4.6 自底向上语法分析概述 基本实现方法: 接受:当识别程序发现栈顶除了栈底标志符号#外仅有识别符 号,而输入也已到达右端标志符号#,因而识别出输入符号串是一 个句子时,执行接受动作而结束识别工作。 报错:当识别程序察觉一个错误,因此输入符号串不是句子而 无法继续识别工作时,调用一个出错处理子程序进行处理或停止。 主要分析方法:简单优先分析算法、算符优先分析算法以及适于自动生成的LR(k)分析算法。 4.6 自底向上语法分析概述 系统框架 输入缓冲区:保存输入符号串 控制程序:控制分析过程,输出分析结果——产生式序列 栈:保存语法符号—已经得到的部分结果 系统运行: 开始状态:栈:#;输入缓冲区:ω# 存放已经分析出来的结果,并将读入的符号送入栈,一旦句柄在栈顶形成,就将其弹出进行归约,并将结果压入栈 正常结束: 栈中为 #S,输入缓冲区只有 # 4.6 自底向上语法分析概述 4.6 自底向上语法分析概述 一个简单的归约过程: 设文法为: S→aAcBe A→Ab|b B→d 句子abbcde的分析: abbcde ?aAbcde ? aAcde ?aAcBe ? S 4.6 自底向上语法分析概述 a b b c d e 4.6 自底向上语法分析概述 4.6 自底向上语法分析概述 上面的归约过程是从文法的句子abbcde开始,每一步都是把最左直接短语(句柄)替换为相应产生式的左部符号(在步骤5时栈顶为#aAb,此时是将b归约为A还是将Ab归约为A?由于此时对于句型aAbcde(即栈内容+输入缓冲区内容)来说Ab是句柄,故将Ab归约为A)。也就是说,自底向上分析的关键问题是在分析中如何确定句柄(准确地说为可归约串),即如果知道何时在栈顶符号串中已形成了某句型的句柄,那么就可以确定何时进行归约。对此,不同的分析方法有不同的解决办法。这里主要介绍算符优先及LR分析方法。 4.7 算符优先分析方法 算符优先的引入:算符优先分析法在寻找句柄(即可归约串)的过程中只考虑算符(广义上为终结符)之间的优先关系(而不考虑非终结符号,若考虑就为简单优先文法,但其很少用)。 如有简单表达式文法如下G[E] : E→E+E|E-E|E*E|E/E|E↑E|(E)|-E|id 对输入串id1+id2*id3的归约过程可表示为:
您可能关注的文档
最近下载
- 《旅行社经营与管理》课件 第一章 旅行社概述.ppt VIP
- 人教版八年级数学上册分式的加减法练习题精选47.doc VIP
- 必威体育精装版【人教版】三年级数学上册教科书电子版教学课本(2025年秋-新教材版本).docx
- 【精选】申银万国行业分类标准(2014版).pdf VIP
- 3500个常用汉字整理完整.doc VIP
- 农村狗狗交配的全过程,让你看了有点不可置信.pdf VIP
- 2023——2024学年度第一学期北师大版小学数学一年级上册教学计划附教学进度表.docx VIP
- 新北师大版四年级数学上册第四单元《买文具》课件14.ppt VIP
- 8.2 掌握自驾游计调业务 课件《旅行社计调业务》(中国言实出版社).pptx VIP
- 申银万国行业分类.pdf VIP
文档评论(0)