1.將DFA最小化:
狀態轉換圖:
識別語言:b*ac*(da)*bb*
2.構造以下文法相應的最小的DFA
S→ 0A|1B
A→ 1S|1
B→0S|0
(1)正規式:
S -> 0(1S+1)+1(0S+0)
->01S+01+10S+10
->(01+10)S+01+10
->(01|10)*(01|10)
(2)NAF
(3)DFA:
轉換矩陣:
狀態圖:
(4)最小化DFA:
狀態圖
3.給定如下文法 G[S]:
S →AB
A → aA | ɛ
B → b | bB
給出句子aaab 的一個自頂向下語法分析過程,並說明回溯產生的原因是什麼?
句子aaab 的一個自頂向下語法分析過程如下:
S=>AB
=>aAB
=>aaAB
=>aaaAB
=>aaaεB
=>aaab
回溯產生的原因:文法的產生式有公共左因子。
4.反覆提取公共左因子,對文法進行改寫。
S->C$
C->bA | aB
A->a | aC | bAA
B->b | bC | aBB
改寫如下:
S->C$
C->bA | aB
A->aD | bAA
B->bD | aBB
D-> ɛ | C