- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编译原理试题
计算机学院2001级 班 学号 姓名
题号 一 二 三 四 五 六 七 八 九 十 十一 十二 总分 满分 12 6 8 7 8 8 12 12 7 6 6 8 100 得分 一 选择题(12分)
【 】1.词法分析器的输入是 。
A.符号串 B.源程序 C.语法单位 D.目标程序
【 】2.两个有穷自动机等价是指它们的 。
A.状态数相等 B.有向弧数相等
C.所识别的语言相等 D.状态数和有向弧数相等
【 】3.文法G:S → xSx | y 所识别的语言是 。
A.xy*x B.(xyx)* C.xx*yxx* D.x*yx*
【 】4.设a,b,c为文法的终结符,且有优先关系a?b和b?c,则 。
A.必有a?c B.必有c?a
C.必有b?a D.选项A、B和C都不一定成立
【 】5.若状态k含有项目“A→α.”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A →α”归约的语法分析方法是 。
A.ALR分析法 B.LR(0)分析法
C.LR(1)分析法 D.SLR(1)分析法
【 】6.生成中间代码时所依据的是 。
A.语法规则 B.词法规则 C.语义规则 D.等价变换规则
【 】7.表达式(┐a∨b)∧(c∨d)的逆波兰表示为 。
A.┐ab∨∧cd∨ B.a┐b∨cd∨∧
C.ab∨┐cd∨∧ D.a┐b∨∧cd∨
【 】8.基本块 。
A.只有一个入口语句和一个出口语句 B.有一个入口语句和多个出口语句
C.有多个入口语句和一个出口语句 D.有多个入口语句和多个出口语句
二 判断题(6分。认为正确的填“T”,错的填“F”)
【T 】1.同心集的合并有可能产生“归约/归约”冲突。
【T 】2.一个文法所有句子的集合构成该文法定义的语言。
【 】3.非终结符可以有综合属性,但不能有继承属性。
【T 】4.逆波兰表示法表示表达式时无需使用括号。
【 】5.一个有穷自动机有且只有一个终态。
【】6.若过程p第k次被调用,则p的DISPLAY表中就有k+1个元素。
三 填空题(8分)
1.最常用的两类语法分析方法是 自顶向下 和 自低向上 分析法。
2.对于文法G[E]:E→T|E+T T→F|T*F F→P↑F|P P→(E)|i,句型T+T*F+i的直接短语为 ,句柄为 。
3.在LR(0)分析法中,若?,β?V*且a?则称“A ??.”为 规约 项目,称“S ??.aβ”为 移进 项目。
4.在PL/0的目标代码解释执行时,寄存器B总是指向当前执行过程活动记录的 起始地址 ,而寄存器T总是指向 栈顶 。
四(7分)有穷自动机M接受字母表?={0,1}上所有满足下述条件的串:串中至少包含两个连续的0或两个连续的1。请写出与M等价的正规式。
五(8分)构造下列文法相应的有穷自动机。
G[S]: S → aA | bQ
A → aA | bB | b
B → bD | aQ
Q → aQ | bD | b
D → bB | aA
E → aB | bF
F → bD | aE | b
六(8分)写一个文法,使其语言是:
L = { ambmanbn | m,n≥0 }
七(12分)已知文法
G[A]: A → aAB | a
B → Bb | d
(1)构造与G[A]等价的LL(1)文法;
(2)构造G’[A]的预测分析表。
八(12分)考虑文法
G[S]: S → AS | b
A → SA | a
(1)构造文法的可归前缀图(活前缀的DFA);
(2)判断文法是否是LR(0)文法,并说明理由。
九(7分)将下面程序段翻译成四元式序列。
while AC∧BD do
if A=1 then C:=C+1
else while AD do
A:=A+2;
十(6分)设有以下程序段
program main;
var a,b:integer;
procedure p(x,y,z:i
原创力文档


文档评论(0)