语法分析部分补充习题解答14

语法分析部分补充习题解答14

ID:12370279

大小:71.50 KB

页数:3页

时间:2018-07-16

语法分析部分补充习题解答14_第1页
语法分析部分补充习题解答14_第2页
语法分析部分补充习题解答14_第3页
资源描述:

《语法分析部分补充习题解答14》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、语法分析补充习题及解答1.P102习题3.10构造文法的LL(1)分析表。2.编写LL(1)语法分析器,进行文法G(L)的语法分析。并写出用此分析器分析句子的过程id+id*id;。3.用P69例3.22的文法<注:文法中的(6)改为F→digit(即数字)>,分析:(1)8+5*2n(n为换行符,即结束符)是否为符合该文法的句子。(2)8-5*2n是否为符合该文法的句子。要求采用LR分析方法,并给出分析过程中格局变化情况和相应的动作及所用产生式。1.P102习题3.10构造文法的LL(1)分析表。解答:(1)先求解FIRST集和FOLLOW集FIRST(D)={int

2、,real}FIRST(T)={int,real}FIRST(L)={id}FIRST(R)={,,ε}FOLLOW(D)={#}FOLLOW(L)={#}FOLLOW(T)={id}FOLLOW(L)={#}(2)得到分析表如下:输入符号intrealid,#DD→TLD→TLTT→intT→realLL→idRRR→,idRR→ε2.编写LL(1)语法分析器,进行文法G(L)的语法分析。并写出用此分析器分析句子的过程id+id*id;。文法G(L):L→E;L

3、εE→TE'E'→+TE'

4、-TE'

5、εT→FT'T'→*FT'

6、/FT'

7、modFT'

8、εF→(E)

9、i

10、d

11、num解答:LL(1)语法分析器由以下驱动程序和LL(1)分析表组成;(1)预测分析器的驱动程序:令ip指向ω#中的第一个终结符,top指向S;loopx:=top^;a:=ip^;ifx∈Tthenifx=athenpop(x);next(ip);elseerror(1);endif;elseifM[x,a]=X→Y1Y2...Ykthenpop(X);push(YkYk-1...Y2Y1);elseerror(2);endif;endif;exitwhenx=#;endloop;(2)LL(1)分析表idnum+-*/mod();#LE;LE;LE;LεETE'

12、TE'TE'E'+TE'-TE'εεTFT'FT'FT'T'εε*FT'/FT'modFT'εεFidnum(E)构造分析表的FIRST集和FOLLOW集为:FIRST(F)={(idnum}FIRST(T')={*/modε}FIRST(T)=FIRST(F)={(idnum}FIRST(E')={+-ε}FIRST(E)=FIRST(T)=FIRST(F)={(idnum}FIRST(L)={ε}∪FIRST(E)={ε(idnum}FOLLOW(L)={#}FOLL0W(E)={);}FOLLOW(E')={);}FOLLOW(T)={+-;)}FOLLOW(T'

13、)={+-;)}FOLLOW(F)={+-*/mod);}(3)分析器分析句子id+id*id;的过程略3.用P69例3.22的文法<注:文法中的(6)改为F→digit(即数字)>,分析:(1)8+5*2n(n为换行符,即结束符)是否为符合该文法的句子。(2)8-5*2n是否为符合该文法的句子。要求采用LR分析方法,并给出分析过程中格局变化情况和相应的动作及所用产生式。解答:(1)见P115表4.5。(2)8-5*2n不是符合该文法的句子,过程略。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。