奥鹏东北农业大学网考 编译原理 考前练兵.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多选题
1.在下面的()语法制导翻译中,采用拉链-回填技术。
A.赋值语句
B.goto语句
C.条件语句
D.循环语句
答案: B, C, D
2.符号表的每一项均包含()。
A.名字栏
B.类型栏
C.信息栏
D.值栏
E.a~d均包含
答案: A, C
3.编译程序工作时,通常有()阶段。
A.词法分析
B.语法分析
C.中间代码生成
D.语义检查
E.目标代码生成
答案: A, B, C, E
4.如果文法G存在一个句子,满足下列条件()之一时,则称该文法是二义文法。
A.该句子的最左推导与最右推导相同
B.该句子有两个不同的最左推导
C.该句子有两棵不同的最右推导
D.该句子有两棵不同的语法树
E.该句子的语法树只有一个
答案: B, C, D
5.对LR分析器来说,存在( )等分析表的构造方法。
LR
B.LR(0)
C.SLR(1)
D.SLR(0)
E.LR(1)
答案: A, B, C, E
6.下列优化中,属于循环优化的有()。
A.强度削弱
B.合并已知量
C.删除无用赋值
D.删除归纳变量
E.代码外提
答案: A, B, E
判断题
1.有穷自动机接受的语言是正则语言。
()
T.对
F.错
答案: T
2.在自下而上的语法分析中,语法树与分析树一定相同。
()
T.对
F.错
答案: F
3.对一个右线性文法G,必存在一个左线性文法G',使得L(G)=L(G'),反之亦然。
()
T.对
F.错
答案: T
问答题
1.按指定类型,给出语言的文法。
L={a i b j|j>i≥1}的上下文无关文法。
答案: 解答:
由L={a i b j|j>i≥1}知,所求该语言对应的上下文无关文法首先应有S→aSb型产生式,以保证b的个数不少于a的个数;其次,还需有S→Sb或S→bS型的产生式,用以保证b的个数多于a的个数;也即所求上下文无关文法G[S]为:
G[S]:S→aSb|Sb|b
2.分别写出语句a:=b*-c+b*-c的四元式、三元式和间接三元式的表示。
答案: 解答:
三地址语句的四元式表示
3.写出下面算术表达式E值的语义描述:
(1)E→E1+E2
(2)E→0
(3)E→1
答案: 解答:
E.Val:=E'.Val‘+’E2.Val
E.Val:=‘0’
E.Val:=‘1’
其他题
1.设M=({x,y}, {a,b}, f,x,{y})为一非确定的有限自动机,其中f定义如下:
f(x,a)={x,y} f(a,b)={y}
f(y,a)=φ f(y,b)={x,y}
试构造相应的确定有限自动机M′。
,Z), 由f的定义可知f(x,a)、答案: 解答:对照自动机的定义M=(S,Σ,f,S
f(y,b)均为多值函数,所以是一非确定有限自动机,先画出NFAM相应的状态图,如图下所示。
图 NFAM
用子集法构造状态转换矩阵下表所示。
将转换矩阵中的所有子集重新命名而形成下表所示的状态转换矩阵。
表状态转换矩阵
即得到M′=({0,1,2}, {a,b}, f,0, {1,2}),其状态转换图如下图所示。
将上图的DFAM′ 最小化。
首先,将M′的状态分成终态组{1,2}与非终态组{0};其次,考察{1,2}。
由于{1,2}a={1,2}b={2}{1,2}, 所以不再将其划分了,也即整个划分只有两组{0},{1,2}:令状态1代表{1,2},即把原来到达2的弧都导向1,并删除状态2。
最后,得到如下图所示化简DFAM′。
图化简后的DFAM′
2.字母表{a,b}上的正规式R=(ba|a)*,构造R的相应DFA。
答案: 解答:
I I I
x1y1y2
1y1y2
21y
I I I
123
223
32。