首页 > 试题广场 >

教材中的语法制导翻译将表达式 E → id1id2 翻译成

[问答题]

教材中的语法制导翻译将表达式 E id1<id2 翻译成一对三地址码

if id1<id2 goto –

goto –

现将上述三地址码对用三地址码 “if id1 id2 goto –” 代替,当

E 为真时执行后继代码。请修改教材中的语法制导翻译,使之产生

这样性质的三地址码序列。

解:

与原来翻译方案的根本区别在于:表达式为真时并不生成三地址码,因此表达式的真出口默认为下一条三地址码。

如果真出口不是下一条三地址码,则仍需要生成两条 goto 语句。

发表于 2017-05-17 01:07:31 回复(0)