编译原理(陈火旺第三版)练习答案(16)

发布时间:2021-06-07

编译原理(陈火旺第三版)练习答案

Else

E.type = real

E.code = E1.code || T.code || inttoreal || +

End if

E→T { E.type = T.type

E.code = T.code}

T→num. num { T.type = real

E.code = num.num }

T→num { T.type = int

E.code = num }

P164-7

S→L1.L2 { S.val = L1.val + L2.val / 2L2.length }

S→L { S.val = L.val } L→L1B { L.val = 2*L1.val + B.c

L.length = L1.length + 1 }

L→B { L.val = B.c

L.length = 1 }

B→0 { B.c = 0} B→1 { B.c = 1}

P165-11

对D,L,T设置综合属性type。过程addtype(id.entry,type)用来将标识符id 的类型type填入到符号表中。 (1) 翻译模式:

D→id L { addtype(id.entry,L.type)}

L→,id L1 { L.type = L1.type ;addtype(id.entry,L1.type)} L→:T { L.type = T.type } T→integer { T.type = integer } T→real { T.type = real }

(2) 假设Ttype为已定义的表示“类型”的数据结构,预测翻译器如下: procedure D; var l_type:Ttype begin

if sym = “id” then begin

advance ; l_type = L ;

addtype(id.entry , l_type) end

else error end;

编译原理(陈火旺第三版)练习答案(16).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

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