09 DFA最小化,语法分析初步

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

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

S→ 0A|1B

A→ 1S|1

B→0S|0

 

S = 0(1S+1)+1(0S+0)

   = 01S+01+10S+10

   = 01S+10S+01+10

   = (01+10)S+(01+10)

   =(01+10)*+(01+10)

S -> (01|10)*|(01|10)

 

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

当前文法不满足LL(1)时,则不能用确定的自顶向下分析,但在这种情况下,可用不确定自顶向下的分析法,也就是说带回溯的自顶向下的分析法。

引起回溯的原因是在文法中当关于某个非终结符的产生式有很多时,当面临当前的输入符无法确定选用唯一的产生式,从而引起回溯。

①由于相同左部的产生式的右部First集不为空而引起的回溯

②由于相同左部非终结符的右部存在能产生空串的产生式,且该非终结符的Follow集中含有其他产生式右部的First集的元素。

③由于文法含有左递归而引起回溯

 

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

S -> C$

C -> bA|aB

A -> a|ac|bAA

B -> b|bc|aBB

 

反复提取公共左因子:

S -> C$

A -> aD|bAA

D -> ε|c

B -> bE|aBB

E -> ε|c

 

posted @ 2019-11-05 11:40  HvYan  阅读(202)  评论(0编辑  收藏  举报