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

编译原理第二版答案张素琴

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

s?(a)|a a?a+s|s

1)构造各非终结符的firstvt集合和lastvt集合。 2)构造优先关系表。

15、设文法g(s): s?(a)|a a?a+s|s

1)构造各非终结符的firstvt集合和lastvt集合。 2)构造优先关系表。

16、设文法g(s): s?(a)|a a?a+s|s

1)构造各非终结符的firstvt集合和lastvt集合。 2)构造优先关系表。

【篇三:编译原理课后习题答案(清华大学_张素琴)复习

例题】

、lr(1)、lalr(1)等。但要求至少要按照作业题的范围复习。) 一 选择题

1.编译的各阶段工作都涉及 。

[a]词法分析 [b]表格管理 [c]语法分析 [d]语义分析 2. 型文法也称为正规文法。 [a] 0 [b] 1[c] 2 [d] 3 3. 文法不是ll(1)的。

[a]递归[b]右递归[c]2型[d]含有公共左因子的

4.文法e→e+e|e*e|i的句子i*i+i*i有 棵不同的语法树。 [a] 1 [b] 3[c] 5 [d] 7

5.文法 s→aas|abc 定义的语言是 。 [a]{a2kbc|k0}

[c]{a2k-1bc|k0} [b]{akbc|k0} [d]{akakbc|k0} 6.若b为非终结符,则 a→?.b? 为 。

[a]移进项目 [b]归约项目 [c]接受项目 [d]待约项目 7.同心集合并可能会产生新的 冲突。

[a]二义 [b]移进/移进 [c]移进/归约 [d]归约/归约 8.代码优化时所依据的是 。 [a]语法规则 [b]词法规则

[c]等价变换规则[d]语义规则

9.表达式a-(-b)*c的逆波兰表示(@为单目减)为 。 [a]a-b@c* [b]ab@c*- [c]ab@- [d]ab@c-*

10.过程的display表是用于存取过程的 。

[a]非局部变量 [b]嵌套层次 [c]返回地址 [d]入口地址 二 填空题

1.词法分析阶段的任务式从左到右扫描 字符流 ,从而逐个识别 一个个的单词 。

2.对于文法g[e]:e→t|e+t t→f|t*f f→p^f|pp→(e)|i,句型t+t*f+i的句柄是 。

3.最右推导的逆过程称为 规范归约 ,也称为 最 左归约 。

4.符号表的每一项是由名字栏和 两个栏目组成。在目标代码生成阶段,符号表是的依据。

三 判断题(认为正确的填“t”,错的填“f”)

【】1.同心集的合并有可能产生“归约/归约”冲突。

【】2.一个文法所有句子的集合构成该文法定义的语言。 【】3.非终结符可以有综合属性,但不能有继承属性。 【】4.逆波兰表示法表示表达式时无需使用括号。 【】5.一个有穷自动机有且只有一个终态。

【】6.若过程p第k次被调用,则p的display表中就有 k+1个元素。 四 解答题

1.给定文法g和句型(t+f)*i+t, g: e→e+t | tt→t*f | ff→(e) | i (1)画出句型的语法树;

(2)写出句型的全部短语、简单短语和句柄。 解:(略)

2.设有文法g:s→s+s|s*s|i|(s)。

(1)对于输入串i+i*i 给出一个最左推导;

(2)该文法是否是二义性文法?请证明你的结论。 解:(1)i+i*i的最左推导:

s = s+s = i+s = i+s*s = i+i*s = i+i*i

(2)该文法是二义性的。因为对于句子i+i*i可以画出两棵 语法树(语法树略)。

3.给出语言{ambmcn|m≥1,n≥0}的上下文无关文法(2型)。 解: g: s→ab|a a→aab|ab b→cb|c

4.给出语言{akbmcn|k,m,n≥1}的正规文法(3型)。 解: g: a→aa|ab b→bb|bc c→cc|c

5.将文法g改写成等价的正规文法(3型)。 g: s→dab a→aa|a b→bb|b

解: g: s→da a→aa|ab b→bb|b

6.构造一文法产生任意长的a,b串,使得 |a|≤|b|≤2|a|

其中,“|a|”和“|b|”分别表示串中的字符a和b的个数。 解:b的个数在a的个数和其2倍之间,串的结构形如asbs和 bsas,其中b为1或2个b。故得文法 b→b|bb

7.设有字母表{a,b}上的正规式r=(ab|a)*。 (1)构造r的相应有限自动机; 解:

(2)构造r的相应确定有限自动机;

(3)构造r的相应最小确定有限自动机;

解:对(2)得到的dfa化简,合并状态0和2 为状态2: +

(4)构造与r等价的正规文法

解:令状态1和2分别对应非终结符b和a 可化简为:

8.写出如图所示的自动机描述的语言的正规式 解:abb*|abb*aa*b|aaa*b

9.写出在{a,b}上,不以a开头,但以aa结尾的字符串集合的正规式(并构造与之等价的最简dfa)。

解:依题意,“不以a开头”,则必以b开头,又要“以aa 结尾”,

故正规式为:b(a|b)*aa

(构造与之等价的最简dfa,此略) 10.写一个

ll(1)文法g,使其语言是

l(g)={ ambnc2n | m=0,n0 } 并证明文法是ll(1)。

解:文法g(s):s ? as | e e ? be’

e’? ecc | cc

故文法为ll(1)的

11.将文法g改写成等价的ll(1)文法,并构造预测分析表。 t→+at|+a

(编写递归下降子程序)

解:消除左递归后的文法g’: s→ats’|*ats’ t→+at|+a

提取左公因子得文法g’’:s→ats’|*ats’ t→+at’

select(s→ats’)={a} select(s→*ats’)={*} select(s’→*ats’)={*} select(t→+at’)={+}

select(t’→t)=first(t) ={+} 所以该文法是ll(1)文法。

12.对文法g[s]: s → asb | p p → bpc | bqc q → qa | a

(递归下降子程序,略)

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