编译原理-试题及答案(魏国利)

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

试题(共10道)

1.设∑={0,1}上的正规集S由倒数第二个字符为1的所有字符串组成,请给出该字集对应的正规式,并构造一个识别该正规集的DFA。

2.已知文法G[S’] :S’→S

S→rD

D→D,i

D→i

(1)构造G[S’]的识别活前缀的有穷自动机DFA。

(2)该文法是LR(0)文法吗?为什么?

3.已知文法G[S’] :S’→S (1)

S→AAA (2)

A→1A (3)

A→0 (4)

(1)构造G[S’]的识别活前缀的有穷自动机DFA。

(2)构造相应的LR(0)分析表。

4.构造一个DFA,它接受∑={a,b}上所有包含ab的字符串。

5.构造正规式 (0|1)*00 相应的DFA并进行化简。

6.构造以下正规式相应的NFA,再确定化

10(1|0)*11

7. 设有语言L={ α | α∈{0,1} + ,且α不以0 开头,但以00 结尾} 。

(1)试写出描述L 的正规表达式;

(2)构造识别L 的DFA (要求给出详细过程,并画出构造过程中的NDFA 、DFA 的状态转换图,以及DFA 的形式化描述) 。

8.已知NFA=({x,y,z},{0,1},M,{x},{z}),其中:M(x,0)={z},M(y,0)={x,y},,M(z,0)={x,z},M(x,1)={x},M(y,1)=φ,M(z,1)={y},构造相应的DFA。

9. 给出下述文法所对应的正规式:

S→0A|1B

A→1S|1

B→0S|0

10. 将下图的DFA 最小化,并用正规式描述它所识别的语言。

答案

1.答:

构造相应的正规式:(0|1)*1(0|1) NFA:

1

2.答:

(1) G[S ’]的识别活前缀的有穷自动机为: (2) 该文法不是LR (0)文法,因为I 3中有移进—规约冲突。

3.答:

(1) G[S’]的识别活前缀的有穷自动机为:

(2)

4.答:

构造相应的正规式:(a|b)*ab(a|b)*

确定化:

最小化:

{0,1,2} {3,4,5} {0, 2},1, {3,4

,5}

5.答:

最小化:

{1,2,3} {4}

{1,2,3}0={2,4} {1,3} {2} {4}

6.答:

(1)正规表达式:1(0|1) * 00

(2)第一步:将正规表达式转换为NDFA

第二步:将NDFA 确定化为DFA :

造表法确定化,确定化后DFA M 的状态转换表

状态输入I 0 I 1 t 0 1 [S] —[A,D,B] q 0 —q 1 [A,D,B] [D,B,C] [D,B] 重新命名q 1 q 2 q 3 [D,B,C] [D,B,C,Z] [D,B] q 2 q 4 q 3 [D,B] [D,B,C] [D,B] q 3 q 2 q 3 [D,B,C,Z] [D,B,C,Z] [D,B] q 4 q 4 q 3

DFA 的状态转换图

第三步:给出DFA 的形式化描述

DFA M = ({ q 0 , q 1 , q 2 , q 3 , q 4 }, {0,1}, t, q 0 , { q 4 } )

t 的定义见M 的状态转换表。

先构造其矩阵:

用子集法将NFA 确定化:

将x、z、xz、y、xy、xyz 重新命名,分别用A、B、C、D、E、F 表示。因为B、C、F中含有z,所以它为终态。

DFA 的状态图:

解方程组S 的解:

S=0A|1B

A=1S|1

B=0S|0

将A、B 产生式的右部代入S 中

S=01S|01|10S|10=(01|10)S|(01|10)所以:S= (01|10)*

(01|10)

10.答:

相关文档
最新文档