文档库

最新最全的文档下载
当前位置:文档库 > 作业5_黄孝喜班(语法制导翻译)答案

作业5_黄孝喜班(语法制导翻译)答案

作业5 –语法制导翻译1. 已知程序的文法G[P]如下:

P→D

D→D; D| id: T | proc id; D;S

作业5_黄孝喜班(语法制导翻译)答案

(2)请写一个翻译模式,输出程序中每变量id的嵌套深度。P→{D.d=1} D

D →{ D1.d=D.d} D1; { D2.d=D.d}D2

D → id: T {print(D.d)}

D→ proc id; { D1.d=D.d+1} D1; S

2.有表示二进制无符号数的文法G[S]:

S → L . L | L

L →L B | B

B →0 | 1

请构造一个翻译模式,将二进制表示的数转换为十进制数。

S’→S {print(S.val)}

S → L1. L2{S.val = L1.val + L2.val / L2.w}

S→ L{S.val=L.val}

L →L1 B {L.val = L1.val * 2 + B.val; L.w=L1.w * 2} L→B{L.val = B.val; L.w=2}

B →0 {B.val =0}

B→1{B.val =1}