1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
xt05答案

练习5.1 练习5.2 ????????????? (b)根据图5.17的翻译模式构造((a)+(b))的分析树和语法树 练习5.3 设置下面的函数和属性: expr1||expr2:把表达式expr2拼写在表达式expr1后面。 deletp(expr):去掉表达式expr左端的‘(’和右端的‘)’。 E.expr,T.expr,F.expr:属性变量,分别表示E,T,F的表达式。 E.add,T.add,F.add,属性变量,若为true,则表示其表达式中外层有‘+’号,否则无‘+’号。 E.pmark,T.pmark,F.pmark,属性变量,若为true,表示E,T,F的表达式中左端为‘(’,右端是‘)’。 语法制导定义如下: 产生式 语义规则 E - E1 +T if(T.pmark==true) 牋 THEN E.expr=E1.expr||+||deletep(T.expr)p 牋 ELSE E.expr:=E1.expr||+||T.expr; E.add:=true; E.pmark:=false;掉 E - T if(T.pmark==true) 牋 THEN E.expr:=deletep(T.expr). 牋 ELSE E.expr:=T.expr; E.add:=T.add; E.pmark:=false; . T - T1*F T.expr:=T1.expr||*||F.expr; T.add:=false; T.pmark:=false; T - F T.expr:=F.expr; T.add:=F.add; T.pmark:=F.pmark; F - (E) if(E.add==false) 牋 THEN BEGINa 牋牋牋?F.expr:=E.expr; 牋牋牋?F.add:=false; 牋牋牋?F.pmark:=false; 牋牋牋?END 牋 ELSE BE的‘(’和右端的‘)’。 E.eGIN ??????? F.expr:=(||E.expr||); ??????? F.add:=true; ??????? F.pmark:=true; ??????? END; F - id F.expr:=id.lexval; F.add:=false; F.pmark:=false; 练习5.4 产生式 语义规则 E - E1+T if(E1.type==int) AND (T.type==int) ?? THEN E.type:=int ?? ELSE E.type:=real; ?????? E - T E.type:=T.type; ??????T - num T.type:=int; ????? T - num.num T.type:=real; ????? (b)语法制导定义如下: 产生式 语义规则 E - E1+T if(E1.type==int) AND (T.type==int) ?? THEN E.type:=int ?? ELSE BEGIN ?????? E.type:=real; 牋牋牋 if(E1.type==int) AND (T.type==real) 牋牋牋牋 THEN E1.pf:=inttoreal||E1.pf 牋牋牋牋 ELSE if(E1.type==real)AND(T.type==int) 牋牋牋牋牋牋牋?THEN T.pf:=inttoreal||T.pf 牋牋牋 END; E.pf:=+||E1.pf||T.pf; 达式中左端为‘(’,右端是‘)’。 语法制 ??????? E - T E.type:=T.type; E.pf:=T.pf; ??????? T - num T.type:=int;牋?T.pf:=int.lexval; ea ???????T - num.num T.type:=real;牋 T.pf:=real.lexval; l 练习5.5 解答: (a)用综合属性决定s.val的语法制导定义: 产生式 语义规则 ????????? S - L S.val:=L.val; ????????? S - L1.L2 S.val:=L1.val+L2.val*L2.p; ????????? L - B L.val:=B.val;??? L.p:=2-1; ????????? L - L1B L.val:=L1.val*2+B.val; L.p:=L.p*2-1; ????????? B - 0 B.val:=0; ????????? B - 1 B.val:=1; ???????

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档