第一范文网 - 专业文章范例文档资料分享平台

编译原理课后习题答案+清华大学出版社第二版

来源:用户分享 时间:2025/6/4 13:25:49 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《编译原理》课后习题答案第三章

答案:

(5) <表达式> =><表达式>+<项> =><表达式>+<因子> =><表达式>+(<表达式>) =><表达式>+(<表达式>+<项>) =><表达式>+(<表达式>+<因子>)

=><表达式>+(<表达式>+i) =><表达式>+(<项>+i)

=><表达式>+(<因子>+i) =><表达式>+(i+i) =><项>+(i+i) =><因子>+(i+i) =>i+(i+i)

表达式> < 项> < 因子 < > i ( + 项> < 因子> < 表达式> < ) 表达式> < 表达式> < 项> < 因子> < i

+ 项> < 因子 < > i

盛威网(www.snwei.com)专业的计算机学习网站

3

《编译原理》课后习题答案第三章

<表 达式>(6) <表达式> =><表达式>+<项> =><表达式>+<项>*<因子> <表 达式 > =><表达式>+<项>*i =><表达式>+<因子>*i =><表达式>+i*i <项 > =><项>+i*i =><因子>+i*i <因 子 > =>i+i*i i

第 7 题 证明下述文法 G[〈表达式〉]是二义的。

〈表达式〉∷=a|(〈表达式〉)|〈表达式〉〈运算符〉〈表达式〉 〈运算符〉∷=+|-|*|/

答案:可为句子 a+a*a 构造两个不同的最右推导: 最右推导 1 〈表达式〉〈表达式〉〈运算符〉〈表达式〉

〈表达式〉〈运算符〉a

〈表达式〉* a

〈表达式〉〈运算符〉〈表达式〉* a

〈表达式〉〈运算符〉a * a

〈表达式〉+ a * a a + a * a

最右推导 2 〈表达式〉〈表达式〉〈运算符〉〈表达式〉 符〉〈表达式〉〈运算符〉〈表达式〉 〈表达式〉〈运算符〉〈表达式〉〈运算符〉 a

〈表达式〉〈运算符〉〈表达式〉 * a

〈表达式〉〈运算符〉a * a 〈表达式〉+ a * a a + a * a

第 8 题

文法 G[S]为: S→Ac|aB

盛威网(www.snwei.com)专业的计算机学习网站

+ <项 > <项 > * <因 子> <因 子 > i i 〈表达式〉〈运算

4

《编译原理》课后习题答案第三章

A→ab B→bc

该文法是否为二义的?为什么? 答案:

对于串 abc

(1)S=>Ac=>abc (2)S=>aB=>abc 即存在两不同的最右推导。所以,该文法是二义的。 或者:

对输入字符串 abc,能构造两棵不同的语法树,所以它是二义的。

第 9 题 答案:

第 10 题

S S

a B A c a b c b 考虑下面上下文无关文法:

S→SS*|SS+|a

(1)表明通过此文法如何生成串 aa+a*,并为该串构造语法树。

(2)G[S]的语言是什么?

S S S S * S + a (1)此文法生成串 aa+a*的最右推导如下

S=>SS*=>SS*=>Sa*=>SS+a*=>Sa+a*=>aa+a*

(2)该文法生成的语言是:*和+的后缀表达式,即逆波兰式。

a a

盛威网(www.snwei.com)专业的计算机学习网站

5

《编译原理》课后习题答案第三章

文法 S→S(S)S|ε (1) 生成的语言是什么?

(2) 该文法是二义的吗?说明理由。 答案:

(1) 嵌套的括号

(2) 是二义的,因为对于()()可以构造两棵不同的语法树。

第 11 题 令文法 G[E]为:

E→T|E+T|E-T T→F|T*F|T/F F→(E)|i

证明 E+T*F 是它的一个句型,指出这个句型的所有短语、直接短语和句柄。 答案:

此句型对应语法树如右,故为此文法一个句型。 或者:因为存在推导序列: E=>E+T=>E+T*F,所以 E+T*F 句型

此句型相对于 E 的短语有:E+T*F;相对于 T 的短语 有 T*F

直接短语为:T*F 句柄为:T*F 第 13 题

一个上下文无关文法生成句子 abbaa 的推导树如下: (1)给出串 abbaa 最左推导、最右推导。 (2)该文法的产生式集合 P 可能有哪些元素?

(3)找出该句子的所有短语、直接短语、句 a 答案:

(1)串 abbaa 最左推导:

a S ε B b B A b a A B S S 柄。

盛威网(www.snwei.com)专业的计算机学习网站

6

《编译原理》课后习题答案第三章 S=>ABS=>aBS=>aSBBS=>aBBS=>abBS=>abbS=>abbAa=>abbaa 最右推导:

S=>ABS=>ABAa=>ABaa=>ASBBaa=>ASBbaa=>ASbbaa=>Abbaa=>abbaa

(2)产生式有:S→ABS |Aa|ε A→a B→SBB|b 可能元素有:ε aa ab abbaa aaabbaa ……

(3)该句子的短语有: a 是相

对 A 的短语 ε是相对 S 的短语 b 是相对 B 的短语 εbb 是相对 B 的短语 aa 是相对 S 的短语 aεbbaa 是相对 S 的短语

直接短语有:a ε b

句柄是:a 第 14 题

给出生成下述语言的上下文无关文法: (1){ anbnambm| n,m>=0} (2){ 1n0m 1m0n| n,m>=0}

(3){WaWr|W 属于{0|a}*,Wr 表示 W 的逆}

答案:(1) S→AA A→aAb|ε (2) S→1S0|A A→0A1|ε (3) S→0S0|1S1|ε

盛威网(www.snwei.com)专业的计算机学习网站

7

编译原理课后习题答案+清华大学出版社第二版.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1dmje0u5k20088t3x4ji0cqsi0v0qh00p8t_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top