编译原理期末试题及答案.docx
- 文档编号:4505428
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:21
- 大小:184.89KB
编译原理期末试题及答案.docx
《编译原理期末试题及答案.docx》由会员分享,可在线阅读,更多相关《编译原理期末试题及答案.docx(21页珍藏版)》请在冰豆网上搜索。
编译原理期末试题及答案
1、试为表达式w+(a+b)*(c+d/(e-10)+8)写出相应的逆波兰表示。
2、写出表达式a+b*(c-d)/e的逆波兰式和三元序列。
3、写出表达式a:
=(b+c)*e+(b+c)/f的逆波兰式和三元序列。
4、已知文法G(S)及相应翻译方案
S→aAb{print“1”}
S→a{print“2”}
A→AS{print“3”}
A→c{print“4”}
输入acab,输出是什么
5、已知文法G(S)
S→bAa
A→(B|a
B→Aa)
写出句子b(aa)b的规范归约过程。
6、已知文法G[S]
S→S*aF|aF|*aF
F→+aF|+a
消除文法左递归。
1、设文法G(S):
S→^|a|(T)
T→T,S|S
⑴消除左递归;
⑵构造相应的FIRST和FOLLOW集合;
⑶构造预测分析表
2.语句ifEthenS
(1)改写文法,使之适合语法制导翻译;
(2)写出改写后产生式的语义动作。
4.设某语言的for语句的形式为
fori:
=E
(1)toE
(2)doS
其语义解释为
i:
=E
(1)
LIMIT:
=E
(2)
again:
ifi<=LIMITthen
Begin
S;
i:
=i+1
gotoagain
End;
(1)写出适合语法制导翻译的产生式;
(2)写出每个产生式对应的语义动作。
7.已知文法G(S)
S→a|^|(T)
T→T,S|S
(1)给出句子(a,(a,a))的最左推导;
(2)给出句型((T,S),a)的短语,直接短语,句柄。
8.对于C语言doSwhileE语句
(1)改写文法,使之适合语法制导翻译;
(2)写出改写后产生式的语义动作。
9.已知文法G(S)
S→aAcBe
A→Ab|b
B→d
(1)给出句子abbcde的最左推导及画出语法树;
(2)给出句型aAbcde的短语、素短语。
10.设文法G(S):
S→(T)|aS|a
T→T,S|S
⑴消除左递归和提公共左因子;
⑵构造相应的FIRST和FOLLOW集合;
⑶构造预测分析表。
12.已知文法G(S)
E→E+T|T
T→T*F|F
F→(E)|i
(1)给出句型(i+i)*i+i的最左推导及画出语法树;
(2)给出句型(E+T)*i+F的短语,素短语和最左素短语。
答案:
(1)消除左递,文法变为G’[S]:
S→^|a|(T)'
T→ST’|S
T’→,ST’|ε
此文法无左公共左因子。
(2)构造相应的FIRST和FOLLOW集合:
FIRST(S)={a,^,(},FOLLOW(S)={#,,,)}
FIRST(T)={a,^,(},FOLLOW(T)={}}
FIRST(T’)={,,ε},FOLLOW(F)={)}
(3)构造预测分析表:
a
^
(
)
#
S
S→a
S→^
S→(T)'
T
T→ST’
T→ST’
T→ST’
T’
T’→ε
T’→,ST’
2.
(1)
C→ifEthen
S→CS
(1)
(2)
C→ifEthen{BACK,NXQ);:
=}
S→CS
(1){:
=MERG,S
(1).Chain)}
4.
(1)F→fori:
=E
(1)toE
(2)do
S→FS
(1)
(2)F→fori:
=E
(1)toE
(2)do
{GEN(:
=,E
(1).place,_,entry(i));
:
=entry(i);
LIMIT:
=Newtemp;
GEN(:
=,E
(2).place,_,LIMIT);
Q:
=NXQ;
:
=q;
GEN(j≤,entry(i),LIMIT,q+2)
:
=NXQ;
GEN(j,_,_,0)}
S→FS
(1)
{BACKPATCH(S
(1).chain,NXQ);
GEN(+,,1,;
GEN(j,_,_,;
:
=
}
7.最左推导
S=(T)=>(T,S)=>(S,S)=>(a,S)=>(a,(T))=>(a,(T,S))=>(a,(S,S))=>(a,(a,S))=>(a,(a,a))
短语
((T,S),a)
(T,S),a
(T,S)
T,S
a
直接短语
T,S
a
句柄
T,S
9.
(1)S=>aAcBe=>AAbcBe=>abbcBe=>abbcde
(2)短语:
aAbcde,Ab,d
素短语:
Ab,d
10.
(1)S→(L)|aS’
S’→S|ε
L→SL’
L’→,SL’|ε
(2)FIRST(S)={a,(}FIRST(S’)={a,(,ε}
FIRST(L)={a,(}FIRST(L’)={,,ε}
FOLLOW(S)={,,),#}FOLLOW(S’)={,,),#}
FOLLOW(L)={)}FOLLOW(L’)={)}
(3)
(
)
a
#
S
S→(L)
S→aS’
S’
S’→S
S’→ε
S’→S
S’→ε
S’→ε
L
L→SL’
L→SL’
L’→,SL’
L’
L’→ε
12.
(1)E=>E+T=>T+T=>T*F+T=>F*F+T=>(E)*F+T=>(E+T)*F+T=>(T+T)*F+T=>(F+T)*F+T=>(i+T)*F+T=>(i+F)*F+T=>(i+i)*F+T=>(i+i)*i+T
=>(i+i)*i+F=>(i+i)*i+i
(2)短语i,F,E+T,(E+T),(E+T)*i,(E+T)*i+F
素短语i,E+T
最左素短语E+T
《编译原理》期末试题
(二)
对于函数f2,由于局部变量x的作用域只是函数体的一部分,不会出现上述问题,因而编译器不报错。
6、正规式ba(bba)b体现的特点是,每个a的左边都有若干b,除非a是第一个字母。
该正规式定义的语言是:
至少含一个a,但不含子串aa的所有a和b的串集。
最简DFA如下:
start
2
a
b
b
1
0
a
b
7、消除左递归后的文法:
B1B
B0B|1B|
相应的翻译方案如下:
B1{B.i:
=1}B{:
=B.val}
B0{B:
=B.i2}B1{B.val:
=B}
|1{B:
=B.i2+1}B1{B.val:
=B}
|{B.val:
=B.i}
《编译原理》期末试题(三)
2、写出表达式a=b*c+b*d对应的逆波兰式、四元式序列和三元式序列。
答:
逆波兰式:
abc*bd*+:
=
3、对于文法G(S):
S
b
M
(
T
M
a
b
L
)
答:
1)
2)短语:
Ma),(Ma),b(Ma)b
直接短语:
Ma)句柄:
Ma)
三、设有字母表{a,b}上的正规式R=(ab|a)*。
解:
(1)
(2)将
(1)所得的非确定有限自动机确定化
ε
a
b
-0
1
1
3
12
2
1
+3
a
b
-+013
123
+123
123
13
+13
123
(3)对
(2)得到的DFA化简,合并状态0和2为状态2:
1
2
a
a
b
-+
+
(4)令状态1和2分别对应非终结符B和A
G:
A→aB|a|ε;B→aB|bA|a|b|ε;可化简为:
G:
A→aB|ε;B→aB|bA|ε
四、
设将文法G改写成等价的LL
(1)文法,并构造预测分析表。
G:
S→S*aT|aT|*aT;T→+aT|+a
解:
消除左递归后的文法G’:
S→aTS’|*aTS’
S’→*aTS’|ε
T→+aT|+a
提取左公因子得文法G’’:
S→aTS’|*aTS’
S’→*aTS’|ε
T→+aT’
T’→T|ε
Select(S→aTS’)={a}
Select(S→*aTS’)={*}
Select(S→aTS’)∩Select(S→*aTS’)=Ф
Select(S’→*aTS’)={*}
Select(S’→ε)=Follow(s’)={#}
Select(S’→*aTS’)∩Select(S’→ε)=Ф
Select(T→+aT’)={+}
Select(T’→T)=First(T)={+}
Select(T’→ε)=Follow(T’)={*,#}
Select(T’→T)∩Select(T’→ε)=Ф
所以该文法是LL
(1)文法。
预测分析表:
*
+
a
#
S
→*aTS’
→aTS’
S’
→*aTS’
→ε
T
→+aT’
T’
→ε
→T
→ε
6设文法G为:
S→A;A→BA|ε;B→aB|b
解:
(1)拓广文法G’:
(0)S’→S
(1)S→A
(2)A→BA(3)A→ε(4)B→aB(5)B→b;FIRST(A)={ε,a,b};FIRST(B)={a,b}
构造的DFA如下:
项目集规范族看出,不存在冲突动作。
∴该文法是LR
(1)文法。
(2)LR
(1)分析表如下:
(3)输入串abab的分析过程为:
五、对文法G(S):
S→a|^|(T);T→T,S|S
答:
(1)
a
^
(
)
#
a
>
>
>
^
>
>
>
(
<
<
<
=
<
)
>
>
>
<
<
<
>
>
#
<
<
<
=
(2)是算符优先文法,因为任何两个终结符之间至多只有一种优先关系。
(2分)
(3)给出输入串(a,a)#的算符优先分析过程。
步骤
栈
当前输入字符
剩余输入串
动作
1
#
(
a,a#
#<(移进
2
#(
a
a)#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编译 原理 期末 试题 答案