下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、wordHomework1向首兴20140134211 .语法分析程序的主要任务是什么?简述自顶向下语法分析的思想。答:语法分析程序的任务:1,分析源程序的单词流是否符合语言的语法规则;2,报告语法错误;3,产生源程序的语法分析结果,以语法分析树或与之等价的形式体现出来。自顶向下语法分析的思想:从文法开始符号出发进行推导,每一步推导都对当前句型中剩余的某个非终结符进行扩展,进而获得文法的一个句型,直到产生出所期望的终结符串,如果不存在可以产生出所期望的终结符串的推导,则表明语法错误。2 .对文法GS:S-a|&l(T)T一T,S|S给出(a,(a,a)和(a,a),&,(a),
2、a)的最左推导。答:I .(a,(a,a):S一一(T,S)一(S,S)(a,S)一(a,(T)一(a,(T,S)一(a,(S,S)一(a,(a,S)一(a,(a,a)II .(a,a),&,(a),a):S一一(T,S)一(S,S)一(T),S)一(T,S),S)一(T,S,S),S)一(S,S,S),S)一(T),S,S),S)一(T,S),S,S),S)-(S,S),S,S),S)-(a,S),S,S),S)-(a,a),S,S),S)一(a,a),&,S),S)一(a,a),&,(T),S)一(a,a),&,(S),S)一(a,a),&,(a),
3、S)气(懒,硼3 .判断下面文法是否为LL(1)文法,并说明理由。(1)SfAB|PQxA一xyB一bcP一dP|£Q一aQ|e答:First(A)=xFollow(S)=#First(B)=bFollow(A)=bFirst(P)=d,eFollow(B)=#First(Q)=a,eFollow(Q)=xFirst(S)=x,d,aFollow(P)=a,xForS:First(AB)nFirst(PQx)=xnd,a,x=x由上验证:该文法不是LL(1)文法。(2)S一TPTf+PT|P-(S)Ia答:First(P)=(,aFollow(S)=#,)First(T)=+,歼ol
4、low(T)=(,aFirst(S)=+,aFollow(P)=+,(,a,#,)ForT:First(+PT)nFirst(e)丹n=?First(+PT)nFollow(T)=+n(,a=?ForP:First(S)nFirst(a)=(na=?由上验证:该文法是LL(1)文法。4 .验证如下文法是LL(1)文法。若是,则请构造递归下降分析程序。(1)E一Aa|BbA一cA|eBB一bdFollow(E) = #Follow(A) = aFollow(B) = a, b答:First(A)=c,eFirst(B)=bFirst(E)=c,e,bForE:First(Aa)nFirst(Bb
5、)=c,enb=ForA:First(cA)nFirst(eB)=cne=?由上验证:该文法是LL(1)文法,下面是递归下降分析程序:5 / 5voidParseEf)(lookahead)(ParseAfMjtchToken(a);b-Lp,e4h*.d5b:Par&eB(MatchToken(b);voidParseA()(lookihe»d).e:atchToktri(c);e:MitchTokente);Parsee();printf ( "syntax er rear)printf(Hhsyntaxerrornp);)voidParst*B()(lookd
6、h«ad=b)(HjtchTc<en(b);M5tChTc<en(d):)户Sffprintf("syntaiterror)S一ABA一aA|eB一bB|£Follow(S) = #Follow(A) = b, #Follow(B) = #答:First(A)=a,£First(B)=b,First(S)=a,b,£ForA:First(aA)AFirst(e)a=8=?First(aA)nFollow(A)=anb,#=?ForB:First(bB)nFirst(£)b=0£=?First(bB)nFollow
7、(B)=bn#=?由上验证:该文法是LL(1)文法,下面是递归下降分析程序:void ParseBf)voidPareA()(lookahead)Mnt i h 1 LtKKik(a);ParseA);(10Qkahedd)b:MitchTok*rt(b)j Parsc0();pri ntf( 'syntax error h")prJntCsyfltax ""力p n") exit(U);b* »)lookaheadPorseA();Parsefl();(printf(MsyntaxerrornM);exit(B);5 .验证如下文法是
8、LL(1)文法。若是,则请构造文法的LL(1)分析表。(1)D一TLT一int|realLfidRR一,idR|£Follow(D) = #Follow(T) = idFollow(L) = #Follow(R)=的 s )i= n e = ?答:First(T)=int,realFirst(L)=idFirst(R)=,£First(D)=int,realForR:First(,idR)nFirst(First(,idR)nFollow(R)=idn#=?ForT:First(int)AFirst(real)=intAreal=由上验证:该文法是LL(1)文法,下面是LL
9、(1)分析表:intrealid,#DD一TLD一TLTT-intT一realLL一idRRR一,idRR一£(2)E f TE'E' f +E | eT 一 FT'T' 一 T |£F 一 PF'F' 一 *F |£P 一 (E) | a| &答:First(P) = (, a, &)First(F') = *, £First(F) = (, a, &First(T) = (, a, &First(T') = ( , a, &,£ Firs
10、t(E') = + , £ First(E) = (, a, &For 巳 First(+E) n First( £Follow(E) = #, )Follow(E') = #, )Follow(T) = +, #,) Follow(T') = +, #, ) Follow(F) = (, a, &, #, +, ) Follow(F') = (, a, &, #, +, )Follow(P) = *, (, a, &, #, +, ) 用H £ = ?First(+E)nFollow(E')
11、=+n#,)=ForT':First(T)FFirst(£)(=s,&Fe=?First(T)FFollow(T')=(,a,&F+,#,)=?ForF':First(*F)nFirst(e)*=A£=?First(*F)nFollow(F')=*n(,a,&,#,+,)=ForP:First(E)nFirst(a)=(Fa=?First(E)nFirst(&)=(n&=First(a)nFirst(&)=aF&=由上验证:该文法是LL(1)文法,下面是LL(1)分析表:+*()a&am
12、p;#EE一TE'E一TE'E一TE'E'E'一+EE'一eE'一eTTfFT'TfFT'TfFT'T'T'一eT'一TT'一eT'一TT'一TT'一eFF一PF'F一PF'F一PF'F'F'一eF'<*FF'一eF'一eF'一eF'一eF'一ePP一(E)P一aP一&6.消除如下文法的左递归(1)A一Ba|Aa|cB一Bb|Ab|d答:消除直接左递归:A一B
13、a|Aa|c=>ABaC|cCC一aC|eB一Bb|Ab|d=>BAbD|dDD一bD|s消除一般左递归:排列顺序:C=>D=>A=>BB一AbD|dD=>B一BaCbD|cCbD|dD=>B一cCbDE|dDEE一aCbDE|£最后结果:A-BaC|cCB一cCbDE|dDEC一aC|eD一bD|£E一aCbDE|£(2)A一Bx|Cz|wB一Ab|BcC一Ax|By|Cp答:消除直接左递归:B一Ab|Bc=>B一AbDD一cD|£C一Ax|By|Cp=>C一AxE|ByEE一pE|e消除一般左递归:排列顺序:A=>C=>B=>D=>E=>CBxxE|CzxE|wxE|ByE=>C一BxxEF|wxEF|ByEFB一AbD=>BB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山西省吕梁市事业编单位人员招聘笔试参考试题及答案详解
- 2026年信阳市师河区网格员招聘笔试备考题库及答案详解
- 2026年郑州市上街区社区工作者招聘考试参考试题及答案详解
- 2026年抚顺市东洲区社区工作者招聘笔试备考试题及答案详解
- 2025年深圳市龙岗区社区工作者招聘考试试题及答案详解
- 2026年上海市宝山区社区工作者招聘考试备考试题及答案详解
- 2025年江西省吉安市社区工作者招聘考试试题及答案详解
- 2026年广州市天河区事业编单位人员招聘笔试参考试题及答案详解
- 2025年咸阳市杨陵区社区工作者招聘考试试题及答案详解
- 2026年甘肃省兰州市社区工作者招聘考试备考题库及答案详解
- MH 5006-2015民用机场水泥混凝土面层施工技术规范
- MOOC 跨文化交际通识通论-扬州大学 中国大学慕课答案
- 人教版新目标初中英语Go-for-it!单词大全(音标齐全-已反复校对-单词分类-便于识记)
- 建筑电气工程技术专业申报材料
- 屋顶花园材料吊运施工方案
- 汽车零部件检具培训
- 《结构全寿命维护》教材
- 财务基础知识培训和律师业务中的财务知识运用
- GB/T 28799.2-2020冷热水用耐热聚乙烯(PE-RT)管道系统第2部分:管材
- 摩托车领域:春风动力企业组织结构及部门职责
- 超市进场收费协议书
评论
0/150
提交评论