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

