编译原理(第2版)陈意云张昱编著课后答案.pptVIP

  • 25
  • 0
  • 约3.56万字
  • 约 106页
  • 2017-06-03 发布于四川
  • 举报

编译原理(第2版)陈意云张昱编著课后答案.ppt

编译原理习题 2003.4 目录 chap 1 基本知识 chap 3 词法分析 chap 4 语法分析 chap 5 语法制导翻译 chap 6 运行时刻环境 chap 7 中间代码生成 chap 8 代码生成 E ? T { E.type = T.type ; E.code = T.code} T ? num.num { T.type = real; T.code = (num.num).lexval} T ? num {T.type = integer; T.code = num.lexval} S t c E t c E t c + T t c E t c + T t c num.num T t c num num 5.5 S ? L.L | L L ? L B | B B ? 0 | 1 (a) 试用各有关综合属性决定S.val. 引入L的属性b记录2的L的位数次幂值 S ? L1.L2 { S.val = L1.val +L2.val / L2.b;} S ? L { S.val = L.val;} L ? L1 B { L.val = L1.val *2 + B.val; L.b = L.b*2;} L ? B { L.val = B.val; L.b = 2;} B ? 0 { B.val = 0;} B ? 1 { B.val = 1;} S val L v . L b v L v B v L b v B v B v 0 L b v B v 1 1 B v 0 1 (b) 试用一个语法制导定义来决定S.val, 在这个定义中B仅有综合 属性c,给出由B生成的位对于最后的数值的分担额. 引入B的继承属性i, 综合属性c S ? L1.L2 { L1.i = 20; L2 .i = 2-1; S.val = L1.val +L2.val} S ? L {L.i = 20; S.val = L.val;} L ? L1 B { if L.i = 20 then begin L1.i = L.i *2 ; B.i = L.i end else begin L1.i = L.i ; L.s = L1.s/2; B.i = L1.s end L.val = L1.val +B.c } L ? B { B.i = L.i ; L.s= L.i/2; L.val = B.c} B ? 0 { B.c = B.i*0} B ? 1 { B.c = B.i*1} S val i L v . i L s v i L v i B c i L s v i B c i B c 0

文档评论(0)

1亿VIP精品文档

相关文档