北航计算机学院编译,[工学]北航计算机学院编译习题讲解.pdf

[工学]北航计算机学院编译习题讲解

习题课

(5章之后)

习题讲解

2008年7月2 日 1

教材第五章

• 语法制导的翻译

2008年7月2 日 2

P138: 1.试分别构造一个符号串翻译文法,它将由一般中缀

表达式文法所定义的中缀表达式翻译成波兰前缀表达式和

波兰后缀表达式。

解:翻译为波兰前缀表达式 翻译为波兰后缀表达式

的文法为: 的文法为:

E->@+E+T E->E+T@+

E->T E->T

T->@*T*F T->T*F@*

T->F T->F

F->(E) F->(E)

F->@ii F->i@i

2008年7月2 日 3

P138: 2.构造一符号串翻译文法,它将接受由0和1组成的任意输入符号串,

并产生下面的输出符号串:

(a) 输入符号串倒置(c) 输入符号串本身。

(a )S->0S@0 或 S->@0S0

S->1S@1 S->@1S1

S->ε S->ε

(c )E->0@0E

E->1@1E

E->ε

2008年7月2 日 4

P138: 3. 以下的符号串翻译文法能做什么?

->@C EN @HI GL @N I @E S @SE H

解:可以识别终结符号串ENGLISH ,并输出符号串CHINESE。

4. 有特殊的翻译文法产生的两个活动序列是:

@x@yb@z和@qa@x@yb@z@x@x@yb@z@y

由这个翻译文法删掉诸动作符号得到的输入文法是:

->a

->b

这是个什么翻译文法?

解:其文法为:

->@x@yb@z

->@qa@x@y

2008年7月2 日 5

5.下面给出带有开始符号 的翻译文法,试列出属于这个文法所定义的

语法制导翻译的所有对偶。

->xc@y

->@yd@xc@zb

->a@y

->d

->b@x

①做题情况

该题做的不错,不过有些同学的题目抄错了,

->@xc@y ,所以答案就写错了;还有相当的同学在写对偶时,

没有把符号“@”写上

解:

(1)dcb @y@x@z

(2)dxcb @x@y

(3)baxcb @x@y@x@y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值