编译原理期末考试习题及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、 填空题| (每题4分,共20分)
1. 乔母斯基定义的3型文法(线性文法)产生式形式 A Ba|a,或A aB|a , A, B € Vn, a,b €
Vt 。
2. 语法分析程序的输入是 单词符号,其输出是 语法单位。
3型为B .aB 的LR(0)项目被称为 移进 项目,型为B a.B 的LR (0) 项目被称为待约 项目, 4. 在属性文法中文法符号的两种属性分别为 继承属性和综合属性。
5、 运行时存贮管理方案有 静态存储分配、动态存储分配 和堆式存储分配 和方案。 二. 已知文法G(S)
⑴ E T | E+T ⑵ T F | F*F ⑶ F (E ) | i
(1) 写出句型(T*F+i )的最右推到并画出语法树。(4分)
(2) 写出上述句型的短语,直接短语和句柄。
(4分)
答:(1)最右推到(2分)
E ==> T ==>
F ==> (E) ==> (E+T) ==> (E+F) ==> (E+i)
==> (T+i) ==> (T*F+i)
(2)语法树(2分)
E
■ /K (E ) /1\
H + T
/|\ 1 下* F I
(3) (4 分)
短语: (T*F+i )
,T*F+i ,T*F ,i
直接短语:T*F , i 句柄:T*F
S a s
E
三•证明文法 G(S) : S SaS | £是二义的。(6分) 答:句子
aaa 对应的两颗语法树为:
s a s
S a s S MS
S a S S a S
因此,文法是二义文法
a b
{F} ①{S}
{S} {S,A} ①
{S,A} {S,A} {S}
五•构造识别正规语言b*a(bb*a)*b* 最小的DFA(要求写出求解过程)。(15分) 答:(1)对应的NFA(5分)
(21NFA5
a b
{0} {1 , 3} {0}
{1,3} ①{2 , 3}
{2,3} {1,3} {2,3}
六.已知文法G(S):
(1)S A | a | (T)
⑵ T T,S | S
试:(1)消除文法的左递归;(4分)
(2)构造相应的first 和follow 集合。(6分)
答:(1)消除文法的左递归后文法G'( S)为:
(1)S A | a | (T)
⑵ T ST' |S
(3)T ' ,ST ' | & (4 分)
b b
(5 分)
四.给定正规文法G( S):
(1) S Sa | Ab |b
⑵A Sa
请构造与之等价的DFA ( 6分)
(26
first follow S a A
( # ,)
T
a A (
) T '
, & )
七.已知文法
G (S ): ⑴ S SiA | A ⑵ A A+B|B
(3) B
A* |
(
试构造非终止符的firstVT 和lastVT 集合。(10分) 答:(10分)
firstVT
lastVT
S i , + , * , ( i , + , * ,(
A
+ , * ,( + , * ,( B
* ,(
* ,(
八.已知文法 G (S ):
(1) S B B
Follow ⑵B a B S # ⑶B b
B
a,b,#
的 集合如表:
试:(1)给出该文法的LR ( 0)项目集规范族划分;
2)填写相应的SLR ( 1)的分析表。(15分)
答:(1) LR (0)项目集规范族划分(8分)
(2) SLR (1)分析表(7分)
状态
Actio n
Goto
a b #
S B 0 S3
S4
1
2 1
Acc
2 S
3 S4
5 3 S3 S4
6
4 R3 R3
R3
5
R1
6 R2
R2
R2
九.设某语言的not-then-else 语句的语法形式为:S not E then S 其语义解释为:
S
I B
I a I b I
11 S '
S.
1 2 I 2
S B.B --- B .aB -- B .b --
B
a I b
I I 3
B a.B —
B .aB -- B
.b --
3 4
I
5
B
a
I
b
I
|4 B
b.
I 5
S BB.
I 6 B aB.
(2) 写出每个产生式对应的语义动作。(7分)
答:(1)分段产生式(3分)及语义动作(7分)
(1) R
not E then { Backpatch
($2.FC , nxq );
$$.cha in = $2.Tc }
(2) S R S 1 { Backpatch
( $2.chain , nxq )}
一、填空题| (每题4分,共20分
1. 乔母斯基定义的2型文法(上下文无关文法)产生式形式 A B ,A € Vn, V+。
2. 词法分析程序的输入是 字符串,其输出是 单词符号o
3算符有限分析方法每次都是对 最左素短语 进行规约。型为B aB.的LR( 0)项 目被称为规
约 项目。 4、 写出 x:=b*(d-e)/(c-d)+e 的逆波兰式 xbde-*cd-/e+:= 。
5、 常用的两种动态存贮分配办法是 栈式存储分配和堆式存储— 分配。 二•已知文法 G(S):
(1) S A
| a | (T) ⑵ T T,S | S
试:(1)写出句型(a,(a,a))的最左推到并画出语法树。(4分)
(2) 写出上述句子的短语,直接短语和句柄。 (4分)
答:(1)最左推到(2分)
S ==> (T ) ==> (T,S ) ==> (S,S) ==> (a,S) ==> (a,(T)) ==> (a,(T,S))==>
(a, (
S,S)) ==>
(a,
(a,S))
==>
(a,
(a,a))
(2) 语法树(2分
S
/|\ (T )
/l\ I /l\ l (
/]\ T - S I I
s
a
(3) (4 分
短语:(a,(a,a) ) , a,(a,a) , (a,a) , a,a , a