编译原理9 DFA最小化,语法分析初步

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

 

I

{1,2,3,4,5}

{6,7}

 

 

{1,2}b->{2}

{3,4}b->{6,7}

{1,2}a->{3,4}不可区分

{3,4}c->{3}不可区分

 

II

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

{6,7}

 

 

 

 

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

S→ 0A|1B

A→ 1S|1

B→0S|0

 

答:

S→0(1S+1)|1(0S|0)

S→01S+01|10S+10

S→(01+10)S|(01+10)

S→(01|10)*(01|10)

 

 DFA:

 

 

0

1

 0

ε{S}={AD}

{BE}

{CF}

 1

{BE}

 

{ADG}

 2

{CF}

{ADG}

 

 3

{ADG}

{BE}

{CF}

I

{0,1,2}

{3}

 

{0}->{1,2}

{1}1->{3}

{2}0->{3}

 

II

{0}{1}{2}

{3}

化简DFA:

 

 

 

3.给定如下文法 G[S]:

AB

→ aA | ɛ 

→ b | bB

给出句子aaab 的一个自顶向下语法分析过程,并说明回溯产生的原因是什么?

 答:

AB

→aAB

→aaAB

aaaɛB

aaabɛ

aaab

回溯产生的原因:反复提取公共左因子

 

4.P100 练习4,反复提取公共左因子,对文法进行改写。

答:

S -> C$

C -> bA | aB

A -> aC' | bAA

B -> bC' | aBB

C' -> C | ɛ

posted @ 2019-11-08 18:06  longlog  阅读(637)  评论(0编辑  收藏  举报
ヾ(≧O≦)〃嗷~