- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4语法分析汇编
第4章 语法分析
4.1 语法分析程序的功能
4.2 自上而下分析方法
4.3 自下而上分析方法的一般原理
4.4 LR分析法
4.2 自上而下分析方法
自上而下分析就是从文法的开始符出发并寻找这样一个推导序列:推导出的句子恰为输入符号串;或者说,能否从根结点出发向下生长出一棵语法树,其叶结点组成的句子恰为输入符号串,则证明输入符号串为文法的一个句子;否则,输入符号串不是文法的句子。
1.自上而下分析存在的不确定性
假定文法G[S]为: S→xAy
? A→ab∣a
语法树的每一步生长(或每一步推导)都以能否与输入符号串匹配为准。(最左推导)
若输入串为xay,分析过程如下:
(1) 首先建立根结点S。
(2) 文法关于S的产生式只有一个,由S生长的语法树如图4–1(a)所示,它的第一个终结符x与输入串待分析的字符x匹配。下一个待分析的字符为a,期待着它与语法树中在x右侧且与x相邻的叶结点A匹配。
(3) 非终结符A有两个候选式,先选用第一个候选式生长的语法树(如图4–1(b)所示);这时语法树的第二个叶结点a恰与待分析的字符a匹配。
(4) 输入串中下一个待分析的字符为y,它期待与第三个叶结点b匹配,但匹配时发现这两个字符是不同的,即匹配失败。
(5) 因不匹配而将A所生成的这棵子树注销,即把匹配指针回退到输入串的第二个字符a,也就是恢复与A匹配时的现场,即(3)之前。
(6) 此时A选用第二个候选式并生长语法树如图4–1(c)所示,这时第二个叶结点a与输入串的第二个叶结点a匹配。
图4–1 试探分析对应的语法树
(7) 此时输入串的下一个待分析字符指向y,而语法树的下一个未匹配的叶结点也为y,两者恰好匹配。因此,图4–1(c)的语法树即为输入串xay的语法树。
上述分析过程是一个不断试探的过程;即在分析过程中,如果出现多个产生式(即候选式)可供选择,则逐一试探每一候选式进行匹配,每当一次试探失败,就选取下一候选式再进行试探;此时,必须回溯到这一次试探的初始现场,包括注销已生长的子树及将匹配指针调回到失败前的状态。
带回溯的自上而下分析方法是一种穷举的试探方法,其分析效率极低,在实用的编译程序中很少使用。
2.文法的左递归性和回溯的消除
实现确定的(即无回溯的)自上而下分析,要求文法满足下述两个条件:
(1) 文法不含左递归,即不存在这样的非终结符号A:有A→A…存在或者有A =+ Aα;
(2) 无回溯,对文法的任一非终结符号,当其产生式右部有多个候选式可供选择时,各候选式所推出的终结符号串的首字符集合要两两不相交。
左递归是程序语言的语法规则中并不少见的形式,例如规则 E→E+T
如果采用自上而下分析法,即首先以“E+T”中的E为目标对“E+T”进行试探,进而又以其中的E为目标再对选择“E+T”进行试探;也即 E+T=E+T+T=E+T+T+T = … 陷入无限循环。 当试图用E去匹配输入符号串时会发现:在没有吃进任何输入符号的情况下,又得重新要求E去进行新的匹配。
由于回溯的存在,可能在已经做了大量的语法分析工作之后,才发现走了一大段错路而必须回头,就要把已经做的一大堆语义工作(指中间代码产生工作和各种表格的簿记工作)推倒重来。
回溯使得自上而下语法分析只具有理论意义而无实际使用价值。因此,要使自上而下语法分析具有实用性就要消除回溯。
消除左递归
设关于非终结符A的直接左递归的产生式形如
A→Aα∣β
其中α、β是任意的符号串且β不以A开头。
方法是引入一个新的非终结符,可将A的产生式改写为如下的右递归形式:
您可能关注的文档
最近下载
- 建筑工程危险源识别及预防措施.doc VIP
- 团餐的工作流程.pptx VIP
- 华能汶上西曼克400KWP分布式光伏项目EPC总承包工程技术规范书.pdf VIP
- 二类医疗器械经营质量管理制度.docx VIP
- 超高压气井井口除砂器及现场应用.pptx VIP
- 2023年专升本考试:专升本《政治》历年真题汇编(共184题).doc VIP
- 汇川INOVANCE MD290系列通用变频器综合手册.PDF VIP
- 第6课 从小爱科学 第2课时(教学课件)2025统编版道德与法治三年级上册.pptx
- 2025年江苏省职业院校技能大赛中职组(法律实务)考试题库(含答案).doc VIP
- ISO9001质量管理体系基础培训-适合新人培训.ppt
文档评论(0)