【正文】
A → A b A → Ab B → a B → a A → bBa A→b Ba A→bB a A→bBa B → aAb B→ aAb B→ aAb B→ aAb 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 a A b a a A c A A b b B a ε ε ε ε ε ε ε ε ε ε ε 19 有窮自動(dòng)機(jī)的確定化 a b c A B 1 {1,3,6} ? {7,10,13,15} ? {2,4} ? 2 {7,10,13,15} {11,14,16,3,6} ? ? ? {8} 3 {2,4} ? {5} ? ? ? 4 {11,14,16,3,6} ? {7} ? {4,19,17} ? 5 {8} {9} ? ? ? ? 6 {5} ? ? ? ? ? 7 {7} ? ? ? ? {8} 8 {4,19,17} ? {5,18} {12} ? ? 9 {9} ? ? ? ? ? 10 {5,18} ? ? ? ? ? 11 {12} ? ? ? ? ? 用 LR( 0)項(xiàng)目代替 DFA狀態(tài)圖 1: S → A A → Ab A → bBa 6: A → Ab 7: A→b Ba 2: A→b Ba B → aAc B → a B → aAb 10: A → Ab B→ aAb 4: B→a Ac B → a B→ aAb A → Ab A → bBa 9: A→bBa 11: B→aAc 5: A→bB a 3: S → A A → A b 8: A → A b B→aA c B→ aAb b A a B b b A a B b c 狀態(tài) ACTION GOTO a b c A B 1 S2 3 2 S4 5 3 r1 S6, r1 r1 r1 4 r5 S7, r5 r5 r5 8 5 S9 6 r2 r2 r2 r2 7 8 8 S10 S11 9 r3 r3 r3 r3 10 r2, r6 r2, r6 r2, r6 r2, r6 11 r4 r4 r4 r4 ACTION元素有沖突 ,所以不是 LR(0)文法 .并且 FOLLOW(A)與 FOLLOW(B)無交集 。 并且 ,它們的后跟字符集中分別包含 a,b,c,,所以可以確定 10號(hào)狀態(tài)的操作。 FOLLOW(S)與也無交集 .并且 3和 4項(xiàng)目集合中移進(jìn)項(xiàng)目的符號(hào)是 b,所以可以確定移進(jìn)。是 SLR(1)文法。 1. S → A 2. A → Ab 3. A → bBa 4. B → aAc 5. B → a 6. B → aAb FOLLOW(A)={,b,c} FOLLOW(B)={a} FOLLOW(S)={