编译原理第7章答案
更新时间:2023-12-22 18:03:02 阅读量: 教育文库 文档下载
译原理习题解答 页1/1
第七章 LR分析法
1.已知文法 A?aAd|aAb|ε
判断该文法是否是SLR(1)文法,若是构造相应分析表,并对输入串ab#给出分析过程。
/
解:增加一个非终结符S后,产生原文法的增广文法有:
/
S?A
A?aAd|aAb|ε
下面构造它的LR(0)项目集规范族为:
状 态 当 前 符号 a I2: A?a?Ad A?a?Ab A??aAd A??aAb A?? I2 b d # A I1: /S?A? I0: /S??A A??aAd A??aAb A?? I1: /S?A? I2: A?a?Ad A?a?Ab A??aAd A??aAb A?? I3: A?aA?d A?aA?b I4: A?aAb? I5: A?aAd? acc I3: A?aA?d A?aA?b I4: A?aAb? I5: A?aAd?
从上表可看出,状态I0和I2存在移进-归约冲突,该文法不是LR(0)文法。 对于I0来说有
FOLLOW(A)∩{a}={b,d,#}∩{a}=Φ
所以在I0状态下面临输入符号为a时移进,为b,d,#时归约,为其他时报错。 对于I2来说有也有与I0完全相同的结论。
这就是说,以上的移进-归约冲突是可以解决的,因此该文法是SLR(1)文法。其他SLR(1)分析表为: 下面构造它的SLR(1)项目集规范族为:
表7.1.1 文法的SLR(1)分析表 ACTION 状态 0 1 2 3 4 5 a S2 S2 r2 r1 b r1 r1 S4 r2 r1 d r2 r2 S5 r2 r1 # r3 acc r3 r2 r1 GOTO A 1 3 译原理习题解答 页2/2 对输入串ab#给出分析过程为: 步骤 1 2 3 4 5 状态栈 0 02 023 0234 01 符号栈 # #a #aA #aAb #A 输入串 ab# b# b# # # ACTION S2 r3 S4 r2 acc GOTO 3 1 15.已知文法为: S?a|^|(T) T?T,S|S
(1) 构造它的LR(0),LALR(1),LR(1)分析表。 (2) 给出对输入符号串(a#和(a,a#的分析过程。
(3) 说明(1)中三种分析表发现错误的时刻和输入串的出错位置有何区别。 解:
/
(1)加入非终结符S,方法的增广文法为:
/
S?S S?a S?^ S?(T) T?T,S T?S
下面构造它的LR(0)项目集规范族为:
状 态 当 前 符号 a I2: S?a? ^ I3: S?^? ( I4: S?(?T) T??T,S T??S S??a S??^ S??(T) I4 ) , # /S I1: S?S? T I0: /S??S S??a S??^ S??(T) I1 I2 I3 I4: S?(?T) T??T,S T??S S??a S??^ S??(T) I5: S?(T?) T?T?,S I2 I3 acc I6: T?S? I5: S?(T?) T?T?,S I7: S?(T)? I8: T?T,?S S??a S??^ S??(T) I6 I7: I8: T?T,?S S??a S??^ S??(T) I9 I2 I3 I4 I9 T?T,S? 从上表可看出,不存在移进-归约冲突以及归约归约冲突,该文法是LR(0)文法。从而有下面的LR(0)分析表: 表7.15.1 文法的LR(0)分析表
译原理习题解答 页3/3
ACTION 状态 0 1 2 3 4 5 6 7 8 9 a S2 r1 r2 S2 r5 r3 S2 r4 ^ S3 r1 r2 S3 r5 r3 S3 r4 ( S4 r1 r2 S4 r5 r3 S4 r4 ) r1 r2 S7 r5 r3 r4 , r1 r2 S8 r5 r3 r4 # acc r1 r2 r5 r3 r4 S 1 6 9 GOTO T 5 下面构造它的LR(1)项目集规范族为: I0: /S??S,# S??a,# S??^,# S??(T),# a I2: S?a?,# ^ I3: S?^?,# ( ) , # S I1: /S?S?,# T I4: S?(?T),# T??T,S,), T??S,), S??a,), S??^,), S??(T),), I1 I2 I3 I4: I7: I8: I9: S?(?T),# S?a?,), S?^?,), S?(?T),), T??T,S,), T??T,S,), T??S,), T??S,), S??a,), S??a,), S??^,), S??^,), S??(T),), S??(T),), I5: S?(T?),# T?T?,S,), acc I6: T?S?,), I5: S?(T?),# T?T?,S,), I10: S?(T)?,# I11: T?T,?S,), S??a,), S??^,), S??(T),), I6 I7: I8 I8 I9 I6 I12: S?(T?),), T?T?,S,), I9: I7 S?(?T),), T??T,S,), T??S,), S??a,), S??^,), S??(T),), I10 I11: I7 T?T,?S,), S??a,), S??^,), S??(T),), I8 I9 I13: T?T,S?,), 译原理习题解答 页4/4
I12: S?(T?),), T?T?,S,), I13 I14 I14: I11 S?(T)?,), 从上表可看出,不存在移进-归约冲突以及归约归约冲突,所以该文法是LR(1)文法。从而有下面的LR(1)分析表: 译原理习题解答 页5/5
表7.15.2 文法的LR(1)分析表 ACTION 状态 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 GOTO ) , S11 r5 r1 r2 S11 r4 r3 # acc r1 r2 r3 S 1 6 6 13 GOTO ) , r1 r2 S11 r5 r3 r4 # acc r1 r2 r3 S 1 6 13 T 5 T 5 12 a S2 S7 S7 S7 ^ S3 S8 S8 S8 ( S4 S9 S9 S9 S10 r5 r1 r2 S14 r4 r3 ACTION 由上图可知I2与I7,I3与I8,I4与I9,I5与I12,I10与I14是同心集。现在合并同心集有文法的LALR(1)分析表: 状态 0 1 2 3 4 5 6 10 11 13 a S2 S2 S2 ^ S3 S3 S3 ( S4 S4 S4 r1 r2 S10 r5 r3 r4 将状态10,11,13分别重新命名为7,8,9有: 表7.15.3 文法的LALR(1)分析表 ACTION 状态 a ^ ( ) , # S 1 6 9 GOTO T 5 0 S2 S3 S4 1 acc 2 r1 r1 r1 3 r2 r2 r2 4 S2 S3 S4 5 S7 S8 6 r5 r5 7 r3 r3 r3 8 S2 S3 S4 9 r4 r4 可以看出,表7.15.3与 表7.15.1非常接近,但句子判断错误的速度要高很多。
正在阅读:
编译原理第7章答案12-22
对企业实施ERP实施的背景分析 对企业实施ERP实施的背景分析12-09
2015-2020年中国保险中介行业市场发展前景预测报告04-27
高考专项指导:成语、熟语05-10
实验五 循环结构程序设计10-10
(浙江选考)2018届高三地理二轮专题复习专题三大气与水的运动规06-06
高一化学必修二期末测试题110-21
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 编译
- 原理
- 答案
- 66个世界文化圣地(下) - 图文
- 义务教育课程标准修订稿
- 2016学年蛟川书院第一学期期中测试初一科学 - 初一 - 答案
- 五年级语文阅读理解包括答案100篇
- 中共江西省委江西省人民政府关于做好2011年全省农业和农村工作的意见
- Starter Unit1-3 复习导学案
- 尔雅军事理论 张国清版 期末考试100分答案
- 北航大讲堂 小论文
- 为英语学困生插上翱翔翅膀
- 人体解剖生理学习题汇总
- 基因工程 期末复习题及答案
- 转向器设计说明书 - 图文
- 天津2013年会计从业资格考试(法规)
- 浅谈多媒体技术在思想品德教学中的应用
- 门诊处方点评与分析
- 员工晋级晋升管理办法
- 北航工业设计专业培养计划 - 图文
- 《水泥地上的足迹》讲解与评析
- 远程教育在语文教学中的作用
- 第十讲:三角形中的三角函数问题