编译原理 龙书 第版 第5、6章.docVIP

  • 176
  • 0
  • 约1.79万字
  • 约 6页
  • 2016-08-26 发布于贵州
  • 举报
编译原理 龙书 第版 第5、6章

第五章 练习5.1.1: 对于图5-1中的SDD,给出下列表达式对应的注释语法分析树: 1)(3+4)*(5+6)n 练习5.2.4: 这个文法生成了含“小数点”的二进制数: S-L.L|L L-LB|B B-0|1 设计一个L属性的SDD来计算S.val,即输入串的十进制数值。比如,串101.101应该被翻译为十进制的5.625。提示:使用一个继承属性L.side来指明一个二进制位在小数点的哪一边。 答: 元文法消除左递归后可得到文法: S-L.L|L L-BL’ L’-BL’|ε B-0|1 使用继承属性L.side指明一个二进制位数在小数点的哪一边,2表示左边,1表示右边 使用继承属性m记录B的幂次 非终结符号L和L’具有继承属性inh、side、m和综合属性syn 产生式 语义规则 1)S-L S.val=L.syn; L.side=2;L.m=1;L.inh=0 2)S-L1.L2 L1.side=2;L2.side=1; L1.inh=0;L1.m=1;L2.m=1/2;L2.inh=0 S.val=L1.syn+L2.syn; 3)L-BL’ L’.m=L.m*L.m;L’.side=L.side L’.inh=L.inh*L.side+B*L.m L.syn=L’.syn 4)L’-BL1’ L1’.m=L’

文档评论(0)

1亿VIP精品文档

相关文档