编译原理第8章作业及习题参考答案

编译原理第8章作业及习题参考答案

ID:16303707

大小:89.00 KB

页数:5页

时间:2018-08-09

编译原理第8章作业及习题参考答案_第1页
编译原理第8章作业及习题参考答案_第2页
编译原理第8章作业及习题参考答案_第3页
编译原理第8章作业及习题参考答案_第4页
编译原理第8章作业及习题参考答案_第5页
资源描述:

《编译原理第8章作业及习题参考答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、编译原理作业参考答案-5-第八章语法制导翻译和中间代码生成1.给出下面表达式的逆波兰表示(后缀式):(1)a*(-b+c)(4)(A∧B)∨(ØC∨D)(7)if(x+y)*z=0thens∶=(a+b)*celses∶=a*b*c解(1)ab-c+*(4)AB∧CØD∨∨(7)xy+z*0=sab+c*:=sab*c*:=¥(注:¥表示if-then-else运算)¥=:=*0:=+xyzs+cxabs*c*ab2.请将表达式-(a+b)*(c+d)-(a+b+c)分别表示成三元式、间接三元式和四元式序列。答案:三元式  (1)(+a,b)  (2)(+c,d)  (3)(*(1

2、),(2))  (4)(-(3),/)  (5)(+a,b)(6)(+,(5),c)(7)(-(4),(6))  间接三元式  间接三元式序列  间接码表  (1)(+a,b)    (1)  (2)(+c,d)    (2)  (3)(*(1),(2))  (3)  (4)(-(3),/)  (4)编译原理作业参考答案-5-  (5)(-(4),(1))  (1)(6)(-(4),(5))  (5)(6)  四元式  (1)(+,a,b,t1)  (2)(+,c,d,t2)  (3)(*,t1,t2,t3)  (4)(-,t3,/,t4)(5)(+,a,b,t5)(6)(+,t5

3、,c,t6)  (6)(-,t4,t6,t7)3.采用语法制导翻译思想,表达式E的"值"的描述如下:  产生式      语义动作  (0)S′→E    {printE.VAL}  (1)E→E1+E2  {E.VAL∶=E1.VAL+E2.VAL}  (2)E→E1*E2  {E.VAL∶=E1.VAL*E2.VAL}  (3)E→(E1)   {E.VAL∶=E1.VAL}  (4)E→n    {E.VAL∶=n.LEXVAL}如果采用LR分析法,给出表达式(5*4+8)*2的语法树并在各结点注明语义值VAL。S’*E1E2E0E32E5.VAL=585*E5E6+E44E

4、6.VAL=4E4.VAL=8E3.VAL=20E1.VAL=28E2.VAL=2E0.VAL=56Print(56)4.假如习题3中表达式E的“值”有两种类型:整型和实型。语义处理增加"类型匹配检查",请给出相应的语义描述。编译原理作业参考答案-5-解:  (0)S′→E{iferror≠1thenprintE.VAL}  (1)E→E1+E2{ifE1.TYPE=intANDE2.TYPE=intthen           begin            E.VAL:=E1.VAL+E2.VAL;            E.YTPE:=int;           end 

5、        elseifE1.TYPE=realANDE2.TYPE=realthen             begin              E.VAL:=E1.VAL+E2.VAL;              E.YTPE:=real;             end           elseerror=1         }  (2)E→E1*E2{ifE1.TYPE=intANDE2.TYPE=intthen           begin            E.VAL:=E1.VAL*E2.VAL;;            E.YTPE:=int;   

6、        end         elseifE1.TYPE=realANDE2.TYPE=realthen            begin             E.VAL:=E1.VAL*E2.VAL;;             E.YTPE:=real;            end           elseerror=1         }  (3)E→(E1){E.VAL:=E1.VAL;        E.TYPE:=E1.TYPE}  (4)E→n{E.VAL:=n.LEXVAL;        E.TYPE:=n.LEXTYPE}5.令综合属性val给

7、出在下面的文法中的S产生的二进制数的值(如,对于输入101.101,则S.val=5.625)。S->L.L

8、LL->LB

9、BB->0

10、1解1:提示画出对应于输入101.101的语法树,然后设置相应的属性进行语义规则的创立。产生式语义规则S->L1.L2编译原理作业参考答案-5-S->LS.val:=L.valL->L1BL.val:=L1.val*2+B.valL.length:=L1.length+1L->BL.val:=B.valL.length:=1B->0B

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

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

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