2-1
若A和B是非终结符,则A->a.aBb为( )项目 。 (3分)
2-2
若A和B是非终结符,则A->aa.Bb为( )项目 。 (3分)
2-3
若A和B是非终结符,则A->aaBb.为( )项目 。 (3分)
2-4
LR分析法从左到右扫描输入串,采用移进-归约的方式,当栈顶出现( )时进行归约。 (3分)
2-5
一个句型中称为句柄的是该句型的最左( ) (3分)
2-6
在自底向上的语法分析方法中,分析的关键是( )。 (3分)
2-7
LR语法分析栈中存放的状态是识别文法规范句型( )的DFA状态。 (3分)
2-8
设有一个LR(0)项目集I={X->α. bB B->α.},则该项目集 ( )。 (3分)
2-9
LR语法分析栈中存放的状态是识别文法规范句型_ 的DFA状态。 (3分)
2-10
若状态k含有项目“A→α·,a”,对终结符a,用规则“A →α”归约的语法分析方法是( )。(3分)
2-11
就文法的描述能力来说,有( )。 (2分)
2-12
在LR(0)的Action表中,如果某行中存在标记为“rj”的栏,则( )。 (2分)
2-13
同心集合并可能会产生新的( )冲突。 (2分)
2-14
若状态k含有项目“A→α· ”,且仅当输入符号a∈FOLLOW(A)时,才用规则“A →α”归约的语法分析方法是( )。 (3分)
2-15
一个LR(1)文法合并同心集后若不是LALR(1)文法( ) (3分)
2-16
LR分析器的核心部分是一张分析表,该表由( )组成。 (2分)
2-17
下列项目中为可归约项目的是()。 (3分)
2-18
LR分析表中的动作表(action)是以( )作为列标题的。 (3分)
2-19
LR分析表中的转移表(goto)是以()作为列标题的。(3分)
2-20
下列动作中,不是自下而上分析动作的是( )。 (3分)
2-21
若A为非终结符,则A→α·,a 为( )项目。 (2分)
2-22
若A和B为非终结符,则A→ .aBe ,#为( )项目。 (3分)
2-23
若A和B为非终结符,则A→b .Bd ,#为( )项目。(3分)
2-24
对文法G(T): T →aBd|ε B →Tb|ε ,项目S'→T.,# 是()项目。 (3分)
2-25
给定文法G[S]为:
S →BD|D
B →aD|b
D →B
若项目集I={S’ →.S},则CLOSURE(I)=( )。 (4分)
S’ →.S S →.BD S →.D B →.aD B →.b D →.B
}S’ →.S S →.BD S →.D B →.aD B →.b
}S’ →.S S →.BD S →.D
}S’ →.S S →.BD S →D. B →.aD B →.b D →B.
}单位: 山东理工大学
2-26
给定文法G[S]为:
S →BD|D
B →aD|b
D →B
若项目集I={S’ →.S,# },则CLOSURE(I)=( )。 (4分)
{ S’ →.S, #
S →.BD , #
S →.D , #
B →.aD ,a/b
B →.b ,a/b
D →.B,#
B →.aD ,#
B →.b ,#
}
{ S’ →.S, #
S →.BD , #
S →.D , #
B →.aD ,a/b
B →.b ,a/b
D →.B,#
}
{ S’ →.S, #
S →.BD , #
S →.D , a/b
B →.aD ,a/b
B →.b ,a/b
D →.B,a/b
}
{ S’ →.S, #
S →.BD , #
S →.D , #
B →.aD ,#
B →.b ,#
D →.B,#
}
2-27
给定文法G[S]为:
S →BD|D
B →aD|b
D →B
若项目集I={B →a.D},则CLOSURE(I)=( )。 (4分)
{ B →a.D
D →.B
B →.aD
B →.b }
{ B →a.D
S →.BD
S →D.
D →.B
B →.aD
B →.b }
{ B →a.D
S →.BD
S →D.
D →.B
}
{ B →a.D
D →.B
}
2-28
给定文法G[S]为:
S →BD|D
B →aD|b
D →B
若项目集I={ S →B.D D →B. },则CLOSURE(I)=( )。 (4分)
{ S →B.D
D →B.
D →.B
B →.aD
B →.b }
{ S →B.D
D →.B
B →.aD
B →.b }
{ S →B.D
D →B.
B →.aD
B →.b
}
{ S →B.D
D →B.
D →.B
B →.aD
B →.b
S →.D
}
2-29
给定文法G[S]为:
S →BD|D
B →aD|b
D →B
若项目集I={ S →B.D , # D →B.,# },
则CLOSURE(I)=( )。 (4分)
{ S →B.D , #
D →B.,#
D →.B,#
B →.aD ,#
B →.b ,#
}
{ S →B.D , #
D →.B,#
B →.aD ,#
B →.b ,#
}
{ S →B.D , #
D →B.,#
D →.B,#
B →.aD ,a/b
B →.b ,a/b
}
{ S →B.D , #
D →.B,a/b
B →.aD ,a/b
B →.b ,a/b
}
2-30
给定文法G[S]为:
S →BD|D
B →aD|b
D →B
若项目集I={ B →a.D ,a/b },则CLOSURE(I)=( )。 (2分)
{ B →a.D ,a/b
D →.B,a/b
B →.aD ,a/b
B →.b ,a/b
}
{ B →a.D ,a/b
D →.B,#
B →.aD ,a/b
B →.b ,a/b
}
{ B →a.D ,a/b
D →.B,a/b
B →.aD ,#
B →.b ,#
}
{ B →aD. ,a/b
D →.B,a/b
B →.aD ,a/b
B →.b ,a/b
}
3-1
已知文法G[E′]: (2分)
(0) E′→E
(1) E→E+T
(2) E→T
(3) T→(E)
(4) T→a
(1)构造文法G[E′]的LR(0)项目集规范族如下表所示,请选择合适选项补充完整;
(2) 请构造文法的LR(0)分析表如下表所示,请将其补充完整。
(3)因为LR(0)分析表(⑰)存在多重入口,所以该文法(⑱)LR(0)文法。
{E′→E· E→E·+T }
{E→T ·}
{ T→(·E)
E→·E+T
E→·T
T→·(E)
T→·a}
{ T→a·}
{ E→E+·T
T→·(E)
T→·a }
{ T→(E·)
E→E·+T }
{ E→E+T·}
{ T→(E)·}
{ E′→E· }
{ E→E·+T }
{ {T→(·E)
E→·E+T
E→·T}
r2 r2 r2 r2 r2 空 空
s4 空 s3 空 空 6 2
r4 r4 r4 r4 r4 空 空
s4 空 s3 空 空 空 7
空 s5 空 s8 空 空 空
r1 r1 r1 r1 r1 空 空
r3 r3 r3 r3 r3 空 空
空 s5 空 空 acc 空 空
空 空 空 空 acc 空 空
空 r2 空 r2 r2 空 空
空 r4 空 r4 r4 空 空
3-2
已知文法G[M]: (20分)
1) M →VbA
2) V →d
3) V →ε
4) A →a
5) 5) A →Aba
6) A →ε
文法的LR分析表如下表所示:
现在,对串dbba#的分析过程如下表,将其补充完整。
03 #d bba# r2,用V →d归约
02 #V bba# s4,移进,4入状态栈,b入符号栈
024 #Vb ba# r6,用A →ε归约
0246 #VbA ba# s7,移进,7入状态栈,b入符号栈
02467 #VbAb a# s8,移进,8入状态栈,a入符号栈
024678 #VbAba # r5, 用A →Aba 归约
0246 #VbA # r1, 用M →VbA 归约
02 #V bba# r6,用A →ε归约
024 #Vb ba# s4,移进,4入状态栈,b入符号栈
0246 #VbA ba# r6,用A →ε归约
0246 #VbA # r5, 用A →Aba 归约```L.
024678 #VbAba # r1, 用M →VbA 归约
单位: 山东理工大学
3-3
已知文法G[E′]: (20分)
(0) E′→E
(1) E→E+T
(2) E→T
(3) T→(E)
(4) T→a
(1)构造文法G[E′]的LR(0)项目集规范族如下表所示,请选择合适选项补充完整;
(2) 请构造文法的SLR(1)分析表如下表所示,请将其补充完整。
(3)因为SLR(1)分析表( )多重入口,所以该文法()SLR(1)文法.
{E′→E· E→E·+T }
{E→T ·}
{ T→(·E)
E→·E+T
E→·T
T→·(E)
T→·a}
{ T→a·}
{ E→E+·T
T→·(E)
T→·a }
{ T→(E·)
E→E·+T }
{ E→E+T·}
{ T→(E)· }
{ E′→E· }
{ E→E·+T }
{ {T→(·E)
E→·E+T
E→·T}
空 s5 空 空 acc 空 空
空 r2 空 r2 r2 空 空
s4 空 s3 空 空 6 2
空 r4 空 r4 r4 空 空
s4 空 s3 空 空 空 7
空 s5 空 s8 空 空 空
空 r3 空 r3 r3 空 空
空 r1 空 r1 r1 空 空
空 空 空 空 acc 空 空
空 r4 空 r4 空 空 空
空 空 空 空 空 6 2
3-4
已知文法G(S): (10分)
S→a|∧|(T)
T→T,S|S
(1) 对于句型((T,S),a),它的语法树是();
(2) 句型((T,S),a)的短语 是( );
(3) 句型((T,S),a)的直接短语有 是(),句柄是()。
3-5
已知文法G[S]: (20分)
0) S′→S
1) S→dSoS
2) S →dS
3) S →S;S
4) S →a
文法的LR分析表如下表所示
现在,对串da;aoa#的分析过程如下表,将其补充完整。
02 #d a;aoa# s3,移进,3入状态栈,a入符号栈
023 #da ;aoa# r4, 用S →a 归约
025 #dS ;aoa# s4, 移进,4入状态栈,;入符号栈
0254 #dS; aoa# s3, 移进,3入状态栈,a入符号栈
02543 #dS;a oa# r4, 用S →a 归约
02546 #dS;S oa# r3, 用S →S;S 归约
025 #dS oa# s7, 移进,7入状态栈,o入符号栈
0257 #dSo a# s3, 移进,3入状态栈,a入符号栈
02573 #dSoa # r4, 用S →a 归约
02578 #dSoS # r1, 用S→dSoS归约
01 #S # 接受
025 #dS ;aoa# s7, 移进,7入状态栈,;入符号栈
0257 #dS; aoa# s3, 移进,3入状态栈,a入符号栈
02573 #dS;a oa# r4, 用S →a 归约
02578 #dS;S oa# r3, 用S →S;S 归约
025 #dS oa# s4, 移进,4入状态栈,o入符号栈
0254 #dSo a# s3, 移进,4入状态栈,a入符号栈
02543 #dSoa # r4, 用S →a 归约
02546 #dSoS # r1, 用S→dSoS归约
3-6
已知文法G1为: (10分)
E →E+T | T
T →T*F | F
F →(E) | i
(1) 对于句型T+T∗F+T∗i ,它的语法树是();
(2) 句型T+T∗F+T∗i的短语是( );
(3)句型T+T∗F+T∗i的直接短语有(),句柄是()。
3-7
已知文法G[S]: (10分)
S→aAcB | Bd
A→AaB | c
B→bScA | b
(1) 对于句型aAaBcbbdcc ,它的语法树是( );
(2) 句型aAaBcbbdcc的短语是( );
(3)句型aAaBcbbdcc 的直接短语是( ),句柄是( )。