编译原理第六章习题解答_第1页
编译原理第六章习题解答_第2页
编译原理第六章习题解答_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第六章 习题答案4文法g: sàs;g|ggàg(t)|hhàa|(s)tàt+s|s(1)该文法是算符文法,且不包含产生式。计算每个非终结符的firstvt集合:firstvt(s) = firstvt(s);firstvt(g)= ;, a, (firstvt(g) = firstvt(g)(firstvt(h)= a, (firstvt(h) = a, (= a, (firstvt(t) = firstvt(t)+firstvt(s)= +, ;, a, (计算每个非终结符的lastvt集合:lastvt(s) = ;lastvt(g)= ;, a

2、, )lastvt(g) = )lastvt(h)= a, )lastvt(h) = a, )= a, )lastvt(t) = +lastvt(s)= +, ;, a, )关系由#s#可知:#由gàg(t)|h可知:()关系s#lastvt(s)# ;, a, )#s;lastvt(s); ;, a, );g(lastvt(g)( a, )(t)lastvt(t) +, ;, a, )s)lastvt(s) ;, a, )t+lastvt(t)+ +, ;, a, )+关系#s#fisrtvt(s) #;, a, (;g;fisrtvt(g) ;a, (t(fisrtvt(t) (

3、+, ;, a, (s(fisrtvt(s) (;, a, (+s+fisrtvt(s) +;, a, (构造算符优先关系表如下:+;a()#+;a()#由该文法的算符优先关系表可知,该文法是算符优先文法。(2)句型a(t+s);h;(s)的语法树如右图所示:短语:a(t+s);h;(s),a(t+s);h,a(t+s),a,t+s ,h,(s)句柄:a素短语:a,t+s,(s)最左素短语:a(3)对a;(a+a)进行算符优先分析步骤如下:步骤符号栈当前符号剩余符号串移进或归约1#a;(a+a)#移进2#a;(a+a)#归约3#n;(a+a)#移进4#n;(a+a)#移进5#n; (a+a)#

4、移进6#n; (a+a)#归约7#n; (n+a)#移进8#n; (n+a)#移进9#n; (n+a)#归约10#n; (n+n)#归约11#n; (n)#移进12#n; (n)#归约13#n; n#归约14#n#分析成功对(a+a)进行算符优先分析步骤如下:步骤符号栈当前符号剩余符号串移进或归约1#(a 移进2#(a+a)#移进3#(a+a)#归约4#(n+a)#移进5#(n+a)#移进6#(n+a)#归约7#(n+n)#归约8#(n)#移进9#(n)#归约10#n#分析成功采用算符优先分析方法进行分析,可知:a;(a+a)和(a+a)均应为该文法的句子。(4)句子a;(a+a)的最右推导为:s=>s;g=>s;h=> s;(s)=> (无法推出句子a;(a+a))句子(a+a)的最右推导为:s=>g=>h=> (s)=>(无法推出句子(a+a))由以上推导过程可知:a;(a+a)和(a+a)均不是该文法的句子。(5)由(3)和(4)可看出,算符优先文法忽略了对单个非终结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论