《编译原理》练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《编译原理》练习题一
一、填空题(每空1分)
1.设G [S ]是一个文法,我们把能由文法的 (1) 推导出来的符号串α称
为G 的一个句型。当句型α仅由 (2) 组成时 (即α∈V T *),则将它称为G 产生
的句子。
2.从某一给定的状态q 出发,仅经过若干条 (3) 的矢线所能达到的状态所组
成的集合称为ε-CLOSURE(q)。
3.设G=(V N ,V T ,P,S)是一文法,我们说G 中的一个符号X ∈V N ∪V T 是有用的,是指X 至
少出现在 (4) 的推导过程中,否则,就说X 是无用的。我们将不含形如A→A 的
产生式和不含无用符号及无用产生式的文法称为 (5) 。
4.我们常采用形如 (class, value)的二元式作为一个单词的 (6) 。其
中,class 是一个整数,用来指示该单词的 (7) ,value 则是单词之值。
5.一个文法G[S]可表示成形如 (8) 的四元式。其中V N ,V T ,P 均为非空的
有限集,分别称为非终结符号集、终结符号集和产生式集, S ∈V N 为文法的开始符号。此外,
将出现在各产生式左部和右部的一切符号所组成的集合称为 (9) ,记作V 。
显然,V=V N ∪V T ,V N ∩V T =∅。
6.通常,可通过两种途径来构造词法分析程序。其一是根据对语言中各类单词的某种
描述或定义,用 (10) 构造词法分析程序;另外一种途径是所谓词法分析程序的 (11) 。
7.设G 为一文法,A→α是G 的一个产生式,如果α具有υA δ的形式,其中υ,δ
不同时为ε,则称产生式A→α是 (12) 。若存在推导δυαA A *
⇒⇒
,则称产生式A→α是 (13) 。
8.设M=(K,Σ,f,S 0,Z)为一DFA ,并设s 和t 是M 的两个不同状态,我们说状态s,t 为
某一输入串w (14) ,是指从s,t 中之一出发,当扫视完w 之后到达M 的终态,但
从其中的另一个状态出发,当扫视完同一个w 后而进入 (15) 。
9.把最右推导称为 (16) ,而把右句型称为 (17) 。
10.如果从状态转换图的初态出发,分别沿着一切可能的路径到达 (18) ,并
将每条路径各矢线上的 (19) 依次连接起来,便得到状态转换图所能识别的全部字符串,这些字符串所组成的集合也就是该状态转换图所识别的语言。
二、选择题(每空2分)
1. 下列文法中,不是产生语言 {ab n a∣n≥1} 的文法。
A.A→aBa B→b∣bB
B.A→aB B→ba∣bB
C.A→aB B→ba∣bBa
D.A→aB B→bC C→bC∣a
2. 设有文法G[S]:
S→aAB A→bAc∣ε B→bB∣Ae∣ε
则经消去ε-产生式后与G等价的文法G1[S]为。
A.S→aA∣aB∣aAB∣a A→bc∣bAc B→bB∣Ae∣b∣e
B.S→aAB A→bAc B→bB∣Ae
C.S→aA∣aB A→bc B→b∣e
D.S→aA∣aB∣a A→bc∣bAc B→bB∣Ae∣b∣e
3. 文法 G 产生的的全体是该文法描述的语言。
A .句型 B. 终结符集 C. 非终结符集 D. 句子
4. 设M为一确定有限自动机,并设s 和t是M的两个不同状态。如果s和t ,则称s和t等价。
A.不可区分 B.可划分 C.可区分 D.待区分
5. 设有文法G[S]:
S→aS∣W∣U U→a V→bV∣ac W→aW
则经化简后与G等价的文法G1[S]为。
A.S→aS∣W V→bV∣ac W→aW
B.S→aS∣U U→a
C.S→aS∣W∣U U→a W→aW
D.S→aS V→bV∣ac
6. 若文法 G 定义的语言是无限集,则文法G必然是。
A.前后文无关的 B.递归的 C.二义性的 D.无二义性的
7. 下列说法中正确的是 。
A .一个确定的有限自动机实际上是相应的状态转换图的一种形式描述。
B .一个状态转换图是由一组矢线连接的有限个结点所组成的无回路有向图。
C .所谓一个DFA M 状态数的最小化,是指构造一个与之等价的DFA M ′,使它们有
相同的接受集。
D .对于有同一接受集的FA ,与之等价的DFA 在同构意义下是唯一的。
8. 下列文法中, 不是产生语言}1{12≥+n a n 的文法。
A .A →aBa
B →a ∣aBa
B .A →aB B →aa ∣Baa
C .A →aAA A →a
D .A →aBB B →a ∣aBB
9. 如下的表示形式中,不能表示程序语言中单词结构的是 。
A .左线性文法
B .形如(Class ,Value )的二元式
C .正规式
D .正规文法
三、证明题
1.试证明文法
S →aB ∣bA A →aS ∣bAA ∣a B →aBB ∣bS ∣b
为二义性文法。 (10分)
2. 试证明文法: S →a AB A →aA ∣a B →aB ∣b 为二义性文法。
(
10分)
四、简答题
1.试构造一文法,使其描述如下语言: (15分)
L(G)={ a n b m c m d n ∣m,n ≥1 }
2.消除下列文法中的单产生式。 (10分)