版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章语法分析-自下而上分析Bottom-upParsing自下而上语法分析优先分析法简单优先分析法*算符优先分析法LR分析法-YACC第五章语法分析5.1自下而上分析根本问题5.2算符优先分析5.3LR分析5.4YACC5.1自下而上分析根本问题5.1.1归约5.1.2标准归约简述5.1.3符号栈的使用和语法树的表示1.自下而上分析过程2.自下而上分析面临的问题1.自下而上分析过程-补充例
G[S]:S→cAd A→ab A→a识别输入串
cabd是否该文法的句子
ScAdab自下而上分析过程中的每一步,都是从当前串中选择一个子串,将它归约到某个非终结符号,该子串称为“可归约串〞G[S]:S→cAd A→ab A→acdabASScAdab2.自下而上分析面临的问题当串中的某局部和某个产生式右部匹配时,该不该归约?如何确定"可归约串"?a不是"可归约串",ab是"可归约串"可归约串最左素短语句柄算符优先分析标准规约如何精确定义“可归约串〞?本章核心1.采用哪一种自下而上分析方法?2.如何定义可归约串?3.如果在当前符号串中确定可归约串?5.1.1归约G: (1)S→aAcBe
(2)A→b
(3)A→Ab
(4)B→d识别输入串abbcde#是否该文法的句子
abbcdeAABS例:p83abbcdeAABSG: (1)S→aAcBe
(2)A→b
(3)A→Ab
(4)B→d输入串abbcde#可行的实现方案:边扫描,边归约最左归约(标准归约)复习最左推导、最右推导、最左归约、最右归约、标准推导、标准归约的概念aG:(1)S→aAcBe
(2)A→b
(3)A→Ab
(4)B→d
输入串abbcde#baAbc何时移进,何时归约?归约谁?如何确定可归约串?aaAaAaAcaAdcaABcaABeS动作移进移进归约移进归约移进归约归约移进移进ab(2)b(3)cd(4)e(1)图5.1符号栈的变迁移进-归约分析用栈实现标准归约栈顶出现可归约串即可归约
5.1.2标准归约简述1.短语、直接短语、句柄的定义2.从句型的语法树上找出句型的短语、直接短语、句柄3.标准归约与句柄的关系精确定义标准归约过程中的可归约串短语〔Phrase〕SαAδ,且Aβ,那么称β是句型αβδ 相对于非终结符A的短语直接短语(简单短语,Simplephrase)SαAδ,且Aβ,那么称β是句型αβδ 相对于规那么A→β的直接短语*+*句柄(Handle)一个句型的最左直接短语称为该句型的句柄.1.定义找出句型
i1*i2+i3
的所有
短语,直接短语,句柄.G: E→T|E+T T→F|T*F F→(E)|iTFEE+T*FTFi1i2i3短语:i1,i2,i3,i1*i2,i1*i2+i3
直接短语:i1,i2,i3,句柄:i1一棵子树的所有末端结点自左至右排列起来就形成一个相对子树根的短语.2.从语法树中p85例5.1p85例5.2
找出句型
E+T*F+i的所有短语,
直接短语,句柄G: E→T|E+T T→F|T*F F→(E)|i短语:E+T*F+i
E+T*F,i,T*F直接短语:T*F,i句柄:T*FEE+TFiE
+TT
*
FG: (1)S→aAcBe
(2)A→b
(3)A→Ab
(4)B→dabbcdeAABS例:p83abaAbcaaAaAaAcaAdcaABcaABeS移进移进归约移进归约移进归约归约移进移进ab(2)b(3)cd(4)e(1)图5.1符号栈的变迁标准归约过程中的可归约串是句柄3.标准归约与句柄的关系标准归约精确定义P86假定α是文法G的一个句子, 如果序列:αn,αn-1,……,α0满足如下条件, 那么αn,αn-1,……,α0是一个标准归约:(1)αn=α是给定的句子(2)α0=S是文法的开始符号(3)对任何i,0<in,αi-1是从αi经过把句柄替换为相应文法产生式的左部符号而得到的。结论标准归约过程中的可归约串是句柄标准归约的实质:在移进的过程中,当发现栈顶呈现句柄就用相应的产生式的左部符号进行替换.标准归约的中心问题:如何寻找或确定一个句型的句柄?5.1.3符号栈的使用和语法树的表示abaAbcaaAaAaAcaAdcaABcaABeS移进移进归约移进归约移进归约归约移进移进ab(2)b(3)cd(4)e(1)abaAbcaaAaAaAcaAdcaABcaABeS移进移进归约移进归约移进归约归约移进移进ab(2)b(3)cd(4)e(1)移进-归约分析用栈实现标准归约G[S]: S→cAd A→ab A→aScAdab
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年解密BIM技术在建筑项目中的价值
- 桩基灌注施工安全管理方案
- 园林景观生态景观设计方案
- 虚拟电厂云平台技术架构与建设方案
- 2026年过程控制工程师的职业发展
- 装修施工阶段高分子材料性能检测方案
- 卫生院医用设备电气布置方案
- 2026年自动化控制技术在包装行业的应用
- 2026年上半年成都市温江区面向社会考核招聘副高级及以上职称教师备考题库(7人)及1套参考答案详解
- 2026年垃圾焚烧的技术标准与风险
- 立春二声部合唱谱
- 初中地理新课标测试题及答案
- 浙江强基联盟2026年3月高三语文联考作文题目解析及范文:有的时候人们主动选择预制
- 提高肿瘤治疗前TNM分期评估率
- 2026年工会干部业务知识培训考试题库及答案
- 2026 年中小学深入实施学生体质强健计划心得体会三
- 荨麻疹的定义、分类、诊断及管理国际指南(2026)解读课件
- DB61∕T 5132-2025 西安城市轨道交通工程监测技术标准
- 2026湖北恩施州战略规划研究中心选聘1人备考题库含答案详解
- 高速公路机电工程监理实施细则
- 2026年心理咨询师考试题库300道【含答案】
评论
0/150
提交评论