




免费预览已结束,剩余22页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1台州学院信电学院计算机系应建健 第6章自底向上优先分析法 自底向上优先分析概述简单优先分析算符优先分析 2台州学院信电学院计算机系应建健 自底向上分析方法 自底向上分析方法 也称移进 归约分析法 实现思想 对输入符号串自左向右进行扫描 并将输入符逐个移入一个后进先出栈中 边移入边分析 一旦栈顶符号串形成某个句型的句柄时 该句型对应某产生式的右部 就用该产生式的左部非终结符代替相应右部的文法符号串 这称为归约 重复这一过程直到归约到栈中只剩文法的开始符号时则为分析成功 也就确认输入串是文法的句子 3台州学院信电学院计算机系应建健 文法G S 1 S aAcBe 2 A b 3 A Ab 4 B d a b b c d e 步骤 符号栈 输入符号串 动作 1 abbcde 移进 2 abbcde 移进 4 aAbcde 移进 6 aAcde 移进 7 aAcde 移进 9 aAcBe 移进 11 S 接受 分析符号串abbcde是否G S 的句子 对输入串abbcde 的移进 规约分析过程 4台州学院信电学院计算机系应建健 算法应考虑的问题 算法是否能够终止 算法是否快速 算法是否能够处理所有的情况 在每一步中如何选择子串进行归约 5台州学院信电学院计算机系应建健 自下而上语法分析的策略 移进 规约分析 移进就是将一个终结符推进栈归约就是将0个或多个符号从栈中弹出 根据产生式将一个非终结符压入栈移进 归约过程是自顶向下最右推导的逆过程 规范归约 6台州学院信电学院计算机系应建健 优先分析法简单优先分析法对一个文法按一定原则求出该文法所有符号 终结符和非终结符 之间的优先关系 按照这种关系确定归约过程中的句柄 它的归约实际上是一种规范归约 算符优先分析法只规定算符 终结符 之间的优先关系 找到句柄就归约 不是规范归约 7台州学院信电学院计算机系应建健 简单优先分析法 按照文法符号 包括终结符和非终结符 的优先关系确定句柄 8台州学院信电学院计算机系应建健 文法G S 1 S bAb 2 A B a 3 B Aa 步骤 符号栈 输入符号串 动作 1 b aa b b 移进 2 b aa b b 移进 3 b aa b a 移进 4 b aa b a a 归约A a 5 b Aa b A a 移进 6 b Aa b a 移进 7 b Aa b b 归约B Aa 8 b Bb B b 归约A B 9 bAb A b 移进 10 bAb b 归约S bAb 11 S 接受 对输入串b aa 的简单优先分析过程 简单优先关系矩阵 9台州学院信电学院计算机系应建健 优先关系 优先关系X Y 文法G中存在产生式A XY XY 文法G中存在产生式A BD 且B X DY 如何确定两个文法符号之间的优先关系 返回调用 10台州学院信电学院计算机系应建健 简单优先文法的定义 满足以下条件的文法是简单优先文法 1 在文法符号集V中 任意两个符号之间最多只有一种优先关系成立 2 在文法中任意两个产生式没有相同的右部 3 不含空产生式 11台州学院信电学院计算机系应建健 简单优先分析法 根据已知优先文法构造相应优先关系矩阵 并将文法的产生式保存 设置符号栈S 算法步骤如下 将输入符号串a1a2a3 an 依次逐个存入符号栈S中 直到遇到栈顶符号ai的优先性 下一个待输入符号aj时为止 栈顶当前符号ai为句柄尾 由此向左在栈中找句柄的头符号ak 即找到ak 1 ak为止 由句柄ak ai在文法的产生式中查找右部为ak ai的产生式 若找到则用相应左部代替句柄 若找不到则为出错 这时可断定输入串不是该文法的句子 重复上述三步 直到归约完输入符号串 栈中只剩文法的开始符号为止 12台州学院信电学院计算机系应建健 如何确定优先关系 文法G S 1 S bAb 2 A B a 3 B Aa 1 求 关系 由 1 b AA b由 2 B由 3 A aa 2 求关系 由 1 B ba b b由 3 B aa a a4 查看关系定义 13台州学院信电学院计算机系应建健 算符优先分析法 某些文法具有 算符 特性表达式运算符 优先级 结合性 人为地规定其算符的优先顺序 即给出优先级别和同一级别的结合性只考虑算符之间的优先关系来确定句柄 14台州学院信电学院计算机系应建健 文法G E E E E E E E E E E E E E i 步骤 符号栈 输入符号串 动作 1 i i i i 移进 2 i i i 规约 3 E i i 移进 4 E i i i 移进 5 E i i 规约 6 E E i 移进 7 E E i i 移进 8 E E i 规约 9 E E E 规约 10 E E 规约 11 E 接受 对输入串i i i的算符优先分析过程 算符优先关系表 15台州学院信电学院计算机系应建健 如何确定算符优先关系 0 i的优先级最高 1 优先级次于i 右结合 2 和 优先级次之 左结合 3 和 优先级最低 左结合 4 括号 的优先级大于括号外的运算符 小于括号内的运算符 内括号的优先性大于外括号 5 的优先性低于与其相邻的算符 文法G E E E E E E E E E E E E E i 算符优先关系表 16台州学院信电学院计算机系应建健 算符文法的定义 定义如果不含空产生式的上下文无关文法G中没有形如U VW 的产生式 其中V W VN则称G为算符文法 OG 性质1 在算符文法中任何句型都不包含两个相邻的非终结符 数学归纳法 性质2 如Vx或xV出现在算符文法的句型 中 其中V VN x VT 则 中任何含x的短语必含有V 反证法 17台州学院信电学院计算机系应建健 算符优先关系的定义 在OG中定义 算符优先关系 x yG中有形如 U xy 或U xVy 的产生式 xyG中有形如 U Wy 的产生式 而W x或W xV规定若Sx 或SVx 则 18台州学院信电学院计算机系应建健 算符优先文法的定义 在OG文法G中 若任意两个终结符间至多有一种算符优先关系存在 则称G为算符优先文法 OPG 注意 允许b c c b 不允许b c b c b c结论算符优先文法是无二义的 19台州学院信电学院计算机系应建健 算符优先关系表的构造 由定义直接构造由关系图法构造算符优先关系表 20台州学院信电学院计算机系应建健 首先引入两个概念FIRSTVT B b Bb 或BCb 对于非终结符B 其往下推导所可能出现的首个算符LASTVT B a B a或B aC 对于非终结符B 其往下推导所可能出现的最后一个算符 21台州学院信电学院计算机系应建健 如何计算算符优先关系 1 关系直接看产生式的右部 若出现了A ab 或A aBb 则a b2 关系求出每个非终结符B的LASTVT B 若A Bb 则 a LASTVT B a b 22台州学院信电学院计算机系应建健 文法G E 0 E E 1 E E T 2 E T 3 T T F 4 T F 5 F P F P 6 P E 7 P i FIRSTVT E FIRSTVT E i FIRSTVT T i FIRSTVT F i FIRSTVT P i LASTVT E LASTVT E i LASTVT T i LASTVT F i LASTVT P i 1 关系由产生式 0 和 6 得 2 关系找形如 A aB 的产生式 E 则 FIRSTVT E T 则 FIRSTVT T F 则 FIRSTVT F F 则 FIRSTVT F E 则 FIRSTVT E 3 关系找形如 A Bb 的产生式E 则LASTVT E E 则LASTVT E T 则LASTVT T P 则LASTVT P E 则LASTVT E 23台州学院信电学院计算机系应建健 算符优先分析算法 归约过程中 只考虑终结符之间的优先关系来确定句柄 而与非终结符无关 这样去掉了单非终结符的归约 所以用算符优先分析法的规约过程与规范归约是不同的 P110 为解决在算符优先分析过程中如何寻找句柄 引进最左素短语的概念 24台州学院信电学院计算机系应建健 最左素短语 算符文法的任一句型有如下形式 N1a1N2a2 NnanNn 1 若Niai NjajNj 1为句柄 则有ai 1ai 1对于算符优先文法 如果aNb 或ab 出现在句型r中若ab 则在r中必含有a而不含b的短语存在若a b 则在r中含有a的短语必含有b 反之亦然定义cfgG的句型的素短语是一个短语 它至少包含一个终结符 且除自身外不再包含其他素短语 处于句型最左边的素短语为最左素短语 25台州学院信电学院计算机系应建健 文法G E 1 E E T 2 E T 3 T T F 4 T F 5 F P F P 6 P E 7 P i 句型 T T F i 其短语有 T T F iT T FTT Fi E E T E T F F T T i 最左素短语为 T F 句型 N N N i 的归约过程 N N N N i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年西北农林科技大学幼教中心教师招聘(3人)考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025广西桂林市第十九中学招聘初中语文代课教师1人模拟试卷有完整答案详解
- 2025年哈尔滨道里区工程社区卫生服务中心招聘若干名考前自测高频考点模拟试题及完整答案详解一套
- 2025湖北襄阳市市直部分事业单位选聘9名模拟试卷附答案详解(考试直接用)
- 2025中核集团中核光电招聘笔试题库历年考点版附带答案详解
- 2025中国旅游集团所属企业岗位公开招聘8人笔试题库历年考点版附带答案详解
- 崇左保安安全巡查培训课件
- 2025电影制作赞助协议书参考
- 2025标准合同范本出口协议
- 2025年下学期初中数学基本增强现实意识试卷
- 物业监控调取管理制度
- 商场危险作业管理制度
- T/CADBM 55-2021建筑室内窗饰产品罗马帘
- 《翡翠玉石翡翠玉》课件
- 2025成都市辅警考试试卷真题
- 中国慢性淋巴细胞白血病-小淋巴细胞淋巴瘤的诊断与治疗指南(2025年版)解读课件
- 2025年刑法知识竞赛复习题库及答案(320题)
- DB42-T 2051-2023 文物保护单位保护标志及保护界桩设置规范
- 医院外出进修、培训及参加学术会议的管理规定
- 朋友之间借车免责承诺书
- 驾驶员三级安全教育卡考试试卷(含公司级、部门级、车队级)
评论
0/150
提交评论