《编译原理》单元测试第三章试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

编译原理

2014—2015学年第二学期第三单元测试试卷

(闭卷考试)时间:45分钟。

姓名班级出题人刘兵班级(满分100分)

一、选择题(5*2分)(每题1分,共10分)

1.下述正规表达式中_____与(a*+b)*(c+d)等价。

A.a*(c+d)+b(c+d) B.a*(c+d)*+b(c+d)*

C.a*(c+d)b*(c+d) D.(a+b)*c+(a+b)*d

2.词法分析器的输出结果是()

A.单词的种别编码 B.单词在符号表中的位置

C.单词的种别编码和自身值 D.单词自身值

3.正规式M1和M2等价是指()

A.M1和M2状态数相等 B.M1和M2有向边条数相等

C.M1和M2所识别的语言集相等 D. M1和M2状态数和有向边条数相等

4. DFA M(见图1)接受的字集为。

a. 以0开头的二进制数组成的集合

b. 以0结尾的二进制数组成的集合

c. 含奇数个0的二进制数组成的集合

d. 含偶数个0的二进制数组成的集合

图1

5.在下列正规表达式中,_______描述了字母表{a,b}上长度不为3的符号串

A.ε|0|1|00|01|10|11|(0|1)(0|1)+

B.ε|0|1(00|01|10|11)+(0|1)*

C.ε|0|1(00|01|10|11)*

D.没有一个

二、简答题(2*10分)(每题10分,共20分)

1.什么是扫描器?扫描器的功能是什么?

2. 给定如图2所示的有穷自动机,试用正规表达式给出它能接受的语言集合。

三、分析题(4题共70分)

1.化简下面文法:

G[S] :S->Bab|cC

B->b|bS

C->Da

D->Cb|CDa

2.设字母表∑= {a,b,0,1},请写出满足下述条件的正规表达式:以字母a或b开头,以1结尾。

3.构造一个DFA M,它接受字母表{a,b,c} 上, 以a或b开始的字符串,或以c开始但所含的a不多于一个的字符串。

4. 正规式(ab)*a与正规式a(ba)*是否等价?请说明理由。

编译原理

2014—2015学年第二学期第三单元测试答案

答案

一.1.d 2.C 3.C 4.d 5.d

二1.扫描器就是词法分析器,它接受输入的源程序,对源程序进行词法分析并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。通常是把词法分析器作为一个子程序,每当词法分析器需要一个单词符号时就调用这个子程序。每次调用时,词法分析器就从输入串中识别出一个单词符号交给语法分析器。

2.

本题考查正规表达式与有穷自动机的等价性。

对于一个在输入字母表∑上的FAM,一定可以在字母表∑上构造一个正规表达式e,使得L(e)=L(M) .

根据状态转换图,从开始状态出发,可以有任意个(包括0个)b作为句子的开始部分;从0状态出发,每输入一个a,不许输入两个b才能到达终止状态后,还可以通过输入a回到状态1,或输入b回到状态0,然后进入递归过程,再输入相同的符号串,所以,该有穷自动机描述的语言为: (b*(aa*b)*b)*

三.1.化简为:

S->Bab

B->b|bS

2. a(a|b|0|1)*1|b(a|b|0|1)*1

3.

4.正规式(ab)*a对应的NFA如图2-5所示,正规式a(ba)*对应的NFA如图2-6所示。

这两个正规式最终都可得到最简DFA,如图2-7所示。因此,这两个正规式等价。

相关文档
最新文档