- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.5 简单优先分析法 3. 文法符号之间的优先关系 5.5.2 简单优先分析器设计 3. 简单优先控制程序设计 谢谢收看! * * 简单优先分析法是一种从左到右扫描、最左归约分析法;它属于自底向上分析方法。 该方法利用文法符号之间的优先关系来确定待归约的句柄 ,即可确定当前句型的句柄。 ⑴ 利用一个分析表,登记选择句柄产生式的知识; ⑵ 利用一个分析栈,记录分析过程; ⑶【分析算法】依次读取单词,并进行如下操作: 当栈顶出现句柄时,规约之,否则移进。 5.5.1. 简单优先分析法基本概念 ※ 简单优先分析法的基本要点有三: 1. 什么是简单优先分析法? 2. 简单优先分析过程示例 符号串:? = abbeae # S a A e B S b b a G(S): S?aAeB|b A?Sb|e B?aA A e 句柄产生式 操 作 剩余串 w 分析栈 移进,NEXT a e # e # a 移进,NEXT e # a # a A 移进,NEXT # e # a A e 归约 A - e # # aAe a 归约 B - aA # # aAe a A - Sb S - b 归约 e a e # b # a 移进,NEXT b b e a e # a # 归约 a e # e # a S 移进,NEXT e a e # b # a 移进,NEXT b e a e # b # A A a a b e e 句柄 (接上页) ⑶ 利用分析栈记录行分析过程: 【注】 何时栈顶出现句柄?怎样求当前句柄产生式 ? 设 待分析的符号串: abbeae# # S b # aAe # # B 句柄 S - aAeB 归约 # # S OK ①同时归约者为相等关系,记作 ; ⑴归约过程中如何确认句柄? ※ 是否是句柄,还要看其所在符号串中的位置。 语法树 ※从语法树上,找出优先关系(指相临符号之间)如下: S b, a A, A e, e B … 如: ②左后归约者为小于关系,记作·; 如: a·b, a·e, e·a … ③左先归约者为大于关系,记作·; 如: b·b, b·e… 当把优先关系纳入待分析的符号串时,有如下关系: # · a · b · b · e · a · e · # # · a · S b · e · a · e · # # · a A e · a · e · # # · a A e · a A · # # · a A e B · # 结论:一个句型的句柄,位于第一次(自左至右)出现在· …… ·之间的符号串! ※从文法中获取优先关系! 设si ,sj是两个文法符号; 如:a A,A e,e B,S b; ① si sj ,当且仅当有U?…si sj …; ⑵优先关系的定义 G(S): S?aAeB|b A?Sb|e B?aA ② si·sj ,当且仅当有 U?…siW… ,且 W sj…; = + 如:a·e,a·S,a·a,a·b,e·a …… ③ si·sj ,当且仅当有 U?…Vsj… ,且 V … si; = + 如:b·b,B·b,A·b,e·b。 (3)头符号集合和尾符号集合 设 A∈VN, si ,sj是两个文法符号;则: FIRSTVT(A)={si| A si……}, = + LASTVT(A) = {sj|A ……sj}。 = + 【例5.12】 G(S): S?aAeB|b,A?Sb|e,B?aA · · · e · · b · · · · a · B · A S e b a B A S A , b , e b , e B,b,A,e LASTVT a S,e,a,b a , b FIRSTVT B A S 头符号集合 尾符号集合 优先矩阵 表项=空 表示两个符号不可能相临。 + 简单优先分析器的基本组成: ※优先分析法要求文法应是简单优先文法。
您可能关注的文档
- JAVA程序设计第4章.ppt
- JAVA程序设计第5章.ppt
- JAVA程序设计第6章.ppt
- JAVA程序设计第9章.ppt
- JAVA程序设计第10章.ppt
- JAVA程序设计第11章.ppt
- JAVA程序设计第12章.ppt
- 武汉大学计算机学院linux复习题.doc
- Linux原理及应用——专题0:Shell实例 .ppt
- Linux原理与应用——专题2:Makefile.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)