已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章 习题14-1 消除下列文法的左递归性。(1) SSA|A ASB|B|(S)|( ) BS| (2) SAS|b ASA|a(3) S(T)|a| TS|T,S4-2 对于如下文法,求各候选式的FIRST集和各非终结符号的FOLLOW集。 SaAB|bA| AaAb| BbB| 4-3 验证下列文法是否为LL(1)文法。(1) SAB|CDa Aab|c BdE|CeC| DfD|f EdE|(2) SaABbCD| AASd| BSAc|eC|CSf|Cg| DaBD| 4-4 对于如下的文法GS:SSb|Ab|b AAa|a(1) 构造一个与G等价的LL(1)文法GS;(2) 对于GS,构造相应的LL(1)分析表;(3) 利用LL(1)分析法判断符号串aabb是否是文法GS的合法句子。 4-5 设已给文法SSaB|bB AS|a BAc(1) 构造一个与G等价的LL(1)文法GS;(2) 对于GS,构造相应的LL(1)分析表;(3) 利用LL(1)分析法判断符号串bacabc是否是文法GS的合法句子。第4章 习题答案4-1 解: (1) 文法GS中的S,A都是间接左递归的非终结符号。将A产生式的右部代入产生式 SA中,得到与原文法等价的文法GS: SSA|SB|B|(S)|( ) ASB|B|(S)|( ) BS| 文法GS中的S是直接左递归的非终结符号,则消除S产生式的直接递归性后,我们便得到了与原文法等价且无任何左递归性的文法GS:SBS|(S)S|( )S SAS|BS|ASB|B|(S)|( ) BS| (2) 文法GS中的S,A都是间接左递归的非终结符号。将A产生式代入产生式 SAS中,得到与原文法等价的文法GS: SSAS|aS|b ASA|a文法GS中的S是直接左递归的非终结符号,则消除S产生式的直接递归性后,我们便得到了与原文法等价且无任何左递归性的文法GS:SaSS|bS SASS|ASA|a(3) 文法GS中的T是直接左递归的非终结符号。则消除T产生式的直接递归性后,我们便得到了与原文法等价且无任何左递归性的文法GS:S(T)|a| TSTT,ST|4-2 解: 文法GS的各候选式的FIRST集和各非终结符号的FOLLOW集如答案表4-2所示。答案表4-2 文法GS的各个FIRST集和FOLLOW集产 生 式FIRSTFOLLOWSaABSbASab#AaAbA a b,# BbB Bb#4-3 解:(1) 因为D产生式的两个候选式fD和f的FIRST集交集为f,不为空,所以该文法不是LL(1)的。(2) 因为文法中含有左递归的非终结符号A,故此文法具有左递归性,不是LL(1)的。4-4 解: (1) 文法中含有直接左递归的非终结符号S和A,则消除直接递归性后,我们便得到了与原文法等价且无任何左递归性的文法GS:SAbS|bS SbS| AaA AaA| 文法GS的各候选式的FIRST集和各非终结符号的FOLLOW集如答案表4-4-(1)所示:答案表4-4-(1) 文法GS的各个FIRST集和FOLLOW集产 生 式FIRSTFOLLOWSAbSSbSab#SbSSb#AaAab AaA Aab下面来验证文法GS是否是LL(1)文法。对于文法GS,因为有:对于产生式SAbS|bS,有FIRST(AbS)FIRST(bS)=ab=;对于产生式SbS|,有FIRST(bS)FOLLOW(S)=b#=;对于产生式AaA|,有FIRST(aA)FOLLOW(A)=ab=;所以文法GS即为所求的与G等价的LL(1)文法。(2) 文法GS的LL(1)分析表如答案表4-4-(2)所示:答案表4-4-(2) 文法GS的LL(1)分析表ab#SSAbSSbSSSbSSAAaAAAaAA(3) 对符号串aabb进行LL(1)分析的过程如答案表4-4-(3)所示。答案表4-4-(3) 对aabb进行LL(1)分析的过程 步骤分析栈余留输入串所用产生式1#Saabb# SAbS2 #SbAaabb# AaA3 #SbAaaabb# 4#SbAabb# AaA5 #SbAaabb# 6#SbAbb# A7#Sbbb# 8#Sb# SbS9#Sbb# 10#S# S11# # 分析成功 因为分析成功,所以符号串aabb是文法GS的合法句子。4-5 解: (1) 文法中含有直接左递归的非终结符号S,则消除直接递归性后,我们便得到了与原文法等价且无任何左递归性的文法GS:SbBS SaBS| AS|a BAc 文法GS的各候选式的FIRST集和各非终结符号的FOLLOW集如答案表4-5-(1)所示:答案表4-5-(1) 文法GS的各个FIRST集和FOLLOW集产 生 式FIRSTFOLLOWSbBSb#,cSaBSSa#,cAS Aabac BAca,b #,a,c下面来验证文法GS是否是LL(1)文法。对于文法GS,因为有:对于产生式SaBS|,有FIRST(aBS)FOLLOW(S)=a#,c=;对于产生式AS|a,有FIRST(S)FIRST(a)=ba=;所以文法GS即为所求的与G等价的LL(1)文法。(2) 文法GS的LL(1)分析表如答案表4-5-(2)所示:答案表4-5-(2) 文法GS的LL(1)分析表abc#SSbBSSSaBSSSAAaASBBAcBAc (3) 对符号串bacabc进行LL(1)分析的过程如答案表4-5-(3)所示。答案表4-5-(3) 对bacabc进行LL(1)分析的过程 步骤分析栈余留输入串所用产生式1#Sbacabc# SbBS2 #SBbbacabc# 3 #SBacabc# BAc4#ScAacabc# Aa5 #Scaacabc# 6#Sccabc# 7#Sabc# SaBS8#SB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年二级建造师之二建建筑工程实务题库及参考答案
- 对比剂过敏反应应急演练方案
- 泥工班组考试题及答案
- 2025新《安全生产法》培训试题及答案
- 技术转移中心面试评分标准
- 印染工岗位风险评估与防范措施
- 年度个人工作总结与未来工作计划
- 贸易行业的成本管理及高级管理者方案
- 殡葬司仪高级面试沟通技巧全解
- 包装车间自动化升级改造计划
- GA/T 1566-2019法庭科学传真文件检验技术规程
- 曾老师:管理者的修为课件
- 梁祝-钢琴双手简谱
- 消防安全重点单位“四个能力”自我评估报告备案表
- PCR上岗证考试题库及答案
- ISO90012020内审技巧培训
- 壳寡糖功能课件
- 《纪念白求恩》朱德《纪念白求恩同志》教科书原文版
- 设计构成第四章--立体构成
- 医院护理常用评估量表使用课件课件
- 陕西污水处理定价成本监审办法
评论
0/150
提交评论