




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1试构造与下列文法GS等价的无左递归文法。 GS: SSa|Nb|c N Sd|Ne|f 解:将非终结符按SN的循序排列 SSa|Nb|c 存在直接左递归,消除左递归为:S-NbS|cSS-aS|N Sd|Ne|f中Sd中S的顺序在N之前需用S的右部代替S,则N-(NbS|cS) d|Ne|f整理为:N-NbSd| Ne|cSd|f存在直接左递归,消除左递归为: N- cSdN|fN N-bSdN|eN|等价的无左递归文法为:S NbS |cS S aS|e N cSdN |fN N eN |bSdN | e 2:文法G的规则集为; P begin d : X end X d : X | sY Y: sY | e做出该文法LL(1)分析表。 LL(1)分析表为:begind:endse#Pbegin d : X endXd : XsYY: sYe3 设有以下文法:GS: SeEfGh | g EFSG | h FSEc | cG | GSh |(1) 求出该文法每一个非终结符的FOLLOW集。 # h f c h e g Follow(S) Follow(E) Follow(G) Follow(F) First(S) First(G) First(E) e g e g c 根据关系图:Follow(S)=#,h,e,g,c,f Follow(E)=f,c Follow(G)=f,c,h,e,g Follow(F)=e,g(2) 它是LL(1)文法吗?为什么?不是FSEc | cG | First(SEc)=e,g 因为 F,而Follow(F)=e,g First(SEc) Follow(F)=e,g,不为空集,所以不是LL(1)文法4:给出语言L=1na0n1ma0m|n0, m=0 的LL(1)文法GS并说明其理由。 文法为:S-AB A-1A0|1a0 B-1B0|a 提取公共左因子为:A- 1A A-A0|a0 改造后的文法为: S-ABA- 1A A-A0|a0B- 1B0|a 判断文法是LL(1)文法的充要条件是:对每一个非终结符的任何两个不同产生式A- |,则下述条件成立: FIRST()FIRST()= * 若=,则FIRST()FOLLOW(A)=由于文法不存在形如A-的产生式,所以无需求非终结符的FOLLOW集。FIRST(A)=FIRST(S)=1 FIRST(A)= FIRST(B)=1,a 对非终结符A和B有FIRST(A0)FIRST(a0)=FIRST(1B0)FIRST(a)=文法是LL(1)文法。该文法为LL(1)文法,因为左部相同,右部的符号串的First集为空集5 设有文法:GS: SaBc | bAB AaAb | b Bb | 这道题是B不是Be特此改正构造其LL(1)分析表,并分析符号串baabbb是否是该文法的句子。 分析表为:abc#SaBcbABAaAbbBb分析栈 余留符号串 产生式 #S baabbb# S- bAB#BAb baabbb#BA aabbb# A aAb#BbAa aabbb#BbA abbb# A aAb#BbbAa abbb#BbbA bbb# A-b#Bbbb bbb#Bbb bb#Bb b#B # B # # 分析成功6将GV改造为LL(1)文法 GV : VN | NE EV | V+E Ni提取公共左因子:VNVV | E EVEE | +E Ni7有文法GS: S BA ABS | d BaA | bS | c (1)证明文法为LL(1)文法。 判断文法是LL(1)文法的充要条件是:对每一个非终结符的任何两个不同产生式A-|,则下述条件成立: FIRST()FIRST()= * 若=,则FIRST()FOLLOW(A)=因为无A-的产生式,所以无需求非终结符的FOLLOW集。FIRST(S)=a,b,c FIRST(B)=a,b,c FIRST(A)=a,b,c,d对于非终结符A: FIRST(BS)FIRST(d)=对于非终结符B FIRST(aA)FIRST(bS)FIRST(c) = 该文法为LL(1)文法 (2)构造LL(1)分析表。 abcd#S-BA-BA-BAABSBSBSdBaAbSc (3)写出句子adccd的分析过程分析栈 余留符号串 产生式#S adccd# S-BA#AB adccd# B-aA#AAa adccd#AA dccd# A-d#Ad dccd# #A ccd# A-BS#SB ccd# B-c#Sc ccd#S cd# S-BA#AB cd# B-c#Ac cd#A d# A-d#d d# # 分析成功 8 考虑下面文法G1:Sa| (T)TT, S | S(1) 消去G1的左递归。然后对每一个非终结符,写出不带回溯的递归子程序。 T STT, ST |改写后的文法G为: Sa| (T)T STT, ST |对每个非终结符S、T、T的递归子程序为:procedure T; begin S;Tend;procdure Tbegin if SYM=,then begin advance; S;Tendend;procedure S; begin if SYM=aor SYM=then advanceelse if SYM=(then advance else errorendelse errorend;递归过程中的advance是一个将输入指针移向下一个输入符号的子程序,SYM则代表输入指针当前所指的输入符号,error为出错诊断处理程序(2) 经改写后的文法是否是LL(1)文法?给出它的预测分析表。a,()#Sa (T)TSTSTSTT, ST9下面文法中那些是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京首都医科大学附属北京朝阳医院招聘18人(第三次)模拟试卷及完整答案详解1套
- 2025年上半年四川泸州市龙马潭区考试选调机关事业单位人员17名模拟试卷附答案详解(典型题)
- 2025年山东法官培训学院公开招聘人员模拟试卷及1套完整答案详解
- 2025年南通醋酸纤维有限公司招聘(36人)考前自测高频考点模拟试题及答案详解(易错题)
- 2025年福建省南平绿发建设工程劳务管理有限公司招聘14人考前自测高频考点模拟试题(含答案详解)
- 2025年台州市黄岩区公开选调9名公务员考前自测高频考点模拟试题及答案详解(易错题)
- 2025辽宁锦州医科大学开展“锦医英才计划”教学名师遴选工作考前自测高频考点模拟试题及完整答案详解
- 2025年合肥庐阳科技创新集团有限公司招聘6人模拟试卷及完整答案详解一套
- 2025福建三明林校招聘407人模拟试卷带答案详解
- 2025广东清远市清城区招聘事业单位人才专项编制人员11人模拟试卷及答案详解参考
- 2025年全国国家版图知识竞赛题库及答案(中小学组)
- 机加工安全生产培训考核试题及答案(班组级)(精)
- 电梯从业证考试试题及答案解析
- 2024年武汉商学院公开招聘辅导员笔试题含答案
- 钢结构厂房装修施工方案报告
- DB32-T 5156-2025 零碳园区建设指南
- 人教版三年级数学上册第一单元分层作业设计
- 2024年国庆中秋安全教育主题班会《欢度双节 安全护航》主题安全教育【课件】
- 浙教版(2024)科学八年级上册 2.1力(第2课时)课件
- 中国外卖大战报告(中英)-高盛-202507
- 咖啡对身体健康的影响研究
评论
0/150
提交评论