DFA最小化,语法分析初步

1.将DFA最小化:教材P65 第9题

 

2.构造以下文法相应的最小的DFA

S→ 0A|1B

A→ 1S|1

B→0S|0

 

3.自上而下语法分析,回溯产生的原因是什么?

 

4.P100 练习4,反复提取公共左因子。

 

答:1、

因为6,7是DFA的终态,其他是非终态,可将状态集分成两个子集:
P1={1,2,3,4,5},P2={6,7}。
由于F(6,b)=F(7,b)=6,而6,7又没有其他输入,所以6,7等价。
由于F(3,c)=F(4,c)=3,F(3,d)=F(4,d)=5,F(3,b)=6,F(4,b)=7,而6,7等价,所以3,4等价。
由于F(1,b)=F(2,b)=2,F(1,a)=3,F(2,a)=4,而3,4等价,所以1,2等价。
由于状态5没有输入字符b,所以与1,2,3,4都不等价。
综上,上图DFA的状态可最细分解为:P={{1,2},{3,4}},{5},{6,7}}。

 

2、 
将A、B 产生式的右部代入S 中,得: 
S=01S|01|10S|10=(01|10)S| 01|10 
所以正规式:S= (01|10)* |01|10

 

3、文法的产生式有问题

 

4、

S -> C$

C -> bA | aB

A -> aD | bAA

B -> bE | aBB

D -> C | ε

E -> C | ε

 

posted @ 2019-11-07 20:07  Drew,  阅读(345)  评论(0编辑  收藏  举报