- 1、本文档共72页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ch6-自底向上优先分析方法课件
第六章自下而上优先分析法;设 G =(VT,VN,S,P), α,β∈(VT∪VN)*, A→β∈P,αAw ?αβw
归约的过程是,已知αβw 和产生式 A→β,用产生式A→β左部 A 替换αβw 中的β,得到符号串αAw.
从输入符号串出发,每次从被归约的句型中找到一个产生式的右部,用其左部替换之,得到新的句型,直至归约到文法的开始符号。 ;【例】文法G[S]对输入串 abbcde# 进行语法分析,检查该符号串是否是该文法的正确句子。;S→aAcBe A→b A→Ab B→d;右句型;一个句型的最左直接短语称为该句型的句柄,句柄是规范归约的可归约串。
假定α是文法 G 的一个句子,称序列αn,αn-1,αn-2,…,α0是α的一个规范归约,如果此序列满足:1)αn=α;α0为文法的开始符,即α0=S;2)对任何i,0<i<n, αi-1是从αi经把句柄替换为相应产生式的左部符号而得到的。
如果文法G是无二义的,规范归约是最右推导的逆过程,规范归约也称最左归约,最右推导也称规范推导。
结论:对规范句型来说,句柄的后面不会出现非终结符。因此,规范归约的实质是在移进过程中,发现栈顶呈现句柄时就用相应的产生式的左部符号进行替换。;对输入串 abbcde 的最右推导过程是: S?aAcBe?aAcde?aAbcde?abbcde。
用语法树表示如下图所示: ;用语法树表示规范归约过程如下图所示:它与最右推导的逆过程相对应。 ;非形式地,一个符号串的“句柄”是和一个规则右部匹配的子串,而且把它归约到该规则左部的非终结符,代表了最右推导逆过程的一步。;形式的说,右句型(最右推导可得的句型)γ的句柄是一个与规则 A→β和γ中的一个位置有关的,从这个位置开始往右可找到β,用 A 代替β得到γ最右推导的前一个右句型,即
如果 S ? ?Aw ? ?βw,
那么,在 ? 后β是 ?βw 的句柄。
句柄右侧的 w 是未读入的终结符号。; “移进一归约”分析器使用一个栈和一个存放输入符号串w 的缓冲器。分析器的初始状态为: 栈 输入 动作 # w#? ?工作过程:自左至右把串 w 的符号一一移进栈里,一旦栈顶形成句柄时,就进行归约。这种归约可能持续多次,直至栈顶不再呈现句柄为止。然后,继续向栈里移进符号,重复这个过程,直至最终形成如下格局: 栈 输入 #S # (分析成功接受) ;符号栈 输入串 动作
初态 # w#
…
… (移进、归约、出错) (中间过程)
终态 #S # (分析成功接受);对符号栈的使用有“移进”、“归约”、“接受”、“出错处理”等操作。;还有一个非常重要的事实,任何可归约串的出现必在栈顶,不会在栈的内部。对规范归约而言,这个事实是明显的。
规范归约是最左归约,这种“最左性”保证可归约串一定在栈顶。也正因为如此,先进后出栈在自下而上分析中是一种非常重要的数据结构。 ;6.1 自下而上优先分析法概述;6.2 简单优先分析法;2.简单优先文法
若一个文法满足:
(1)在文法符号集V中,任意两个符号之间最多只
有一种关系成立;
(2)在文法中任意两个产生式没有相同的右部.
则这样的文法为简单优先文法.
;3.简单优先分析法-优先分析算法
(1)根据优先文法构造优先关系矩阵;
(2)存储文法产生式,并设符号栈S;
(3)将输入符号串a1a2…an#依次逐个存入符号栈S中,直到
遇到栈顶符号ai的优先性下一个待输入符号aj时为止.
(4)栈顶当前符号ai为句柄尾,由此向左在栈中找句柄的头符
号ak,即找到ak-1ak为止.
(5)由句柄ak…ai在文法的产生式中查找右部为ak…ai的产生式,
若找到则用相应左部代替句柄,若找不到则为出错,这时可断定输入串不是该文法的句子.
(6)重复(3)-(5)直至归约完输入串,栈中只剩下文法的开始符号为止.;6.3 算符优先分析法;6.3.1 方法概述;【例】文法G[E]:E→E+E | E*E | (E) | id;任何两个相邻终结符 a 和 b 之间的优先关系有三种:
a · b a 的优先级低于 b
a · b a 的优先级高于 b
a =· b a 的优先级等于 b;优先关系矩阵(优先关系表、优先表);6.3.2 算符优先文法的定义;性质1:在算符文法中,任意句型都不含两个相邻的非终结符。;性质2:若 Ab 或 bA 出现在算符文法的句型 ? 中,其中A?VN ,b?VT,则 ? 中任何含 b 的短语必包含 A. ;2.终结符号间的优先关系的定义
设 G 是一个算符文法,对于任何终结符 a、b,算符优先关系 ·、=·、· 定义如下:;由语法树来说明优先关系;3.
您可能关注的文档
最近下载
- 一种辊内冷却的辊压机.pdf VIP
- 公司内部网络安全和设备管理制度(定稿).docx VIP
- 老友记台词剧本第一季第1集中英双语左右对照.pdf VIP
- 2021年第二届全国矿山安全普法网络知识竞赛题库(试题101-200题).pdf VIP
- 五公司2012年统战工作总结(国企版).doc VIP
- 011锂电池行业数字化转型MES整体解决方案.pptx VIP
- 道路改造工程施工组织设计 施工组织设计.doc VIP
- 水文监测数据通信规约SL651-2014.pdf VIP
- 2024最新光伏项目财务测算模型(14张表格数据自动计算).xlsx VIP
- 劳动力市场和新资调查报告2024-2025.docx
文档评论(0)