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

2020-06-16 23:13

作业5 – 语法制导翻译

1. 已知程序的文法G[P]如下: P ? D

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

(1) 请写一个语法制导定义,输出程序中一共声明了多少个id。 产生式 语义规则 Print(D.c) P ? D D.c= D1.c+ D2.c D ? D1; D2 D.c=1 D ? id: T D.c= D1.c+ 1 D? proc id; D1; S (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}


作业5 - 黄孝喜班(语法制导翻译)答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017中传传播学考研招生人数情况

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: