编译原理习题(含答案)——8-10语法制导翻译——哈工大陈鄞配套版本

本文介绍了编译原理中的语法制导翻译,包括相关概念、语法规则及习题解答。内容涉及综合属性、继承属性、自底向上分析等,并通过例题展示了语法制导翻译的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 语法制导翻译_1


1 文法G[S]及其语法制导翻译定义如下:

产生式 语义动作

S’ → S print( S.num)

S → ( L) S.num = L.num +1

S → a S.num = 0

L →L( 1), S L.num = L( 1).num + S.num

L →S L.num = S.num

若输入为( a,( a)),且采用自底向上的分析方法,则输出为( )

A. 0

B. 1

C. 2

D. 4

 

2 有文法G及其语法制导翻译如下所示( 语义规则中的*+分别是常规意义下的算术运算符)

 E→E( 1) ∧ T {E.val = E( 1).val * T.val}

 E→T {E.val = T.val}

 T→T( 1)# n {T.val = T( 1).val + n.val }

 T→ n {T.val = n.val}

则分析句子3 ∧ 3 # 4其值为()。

A. 10

B. 21

C. 14

D. 24

 

3 有一语法指导定义如下:

S→bAb print “1”

A→( B print “2”

A→a print “3”

B→aA) print “4”

若输入序列为b( a( a( aa)))b,且采用自底向上的分析方法,则输出序列为( )

A. 32224441

B. 34242421

C. 12424243

D. 34442212

 

4 有一语法指导定义如下,其中+表示符号连接运算:

S→B print B.vers

B→a B.vers=a

B→b B.vers=b

B→Ba B.vers=a+B.vers

B→Bb B.vers=b+B.vers

若输入序列为abab,且采用自底向上的分析方法,则输出序列为( )

A. aabb

B. abab

C. bbaa

D. Baba

 

5 使用( )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花月诗人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值