我想驗證我的基礎上正確,從這個前一個問題的信息,並通過Grijesh的精彩回答這個正則表達式轉換爲右線性文法:Left-Linear and Right-Linear Grammars轉換的正則表達式規則的語法/右線性文法
這裏是一個問題:「編寫一個生成由正則表達式((10)+(011 + 1)+)*(0 + 101)*表示的字符串集合的常規(右線性)語法。」
這裏是我建立起來的語法,在底部我最後的一個是:
1:
S --> 1
0:
S --> 0
10:
S --> 1A
A --> 0
(10)+:
S --> 1A
A --> 0 | 0S
011:
S --> 0A
A --> 1B
B --> 1
(011 + 1):
S --> 0A | 1
A --> 1B
B --> 1
(011 + 1)+:
S --> 0A | 1 | 1S
A --> 1B
B --> 1 | 1S
(10)+ (011 + 1)+:
S --> 1A
A --> 0S | 0B
B --> 0C | 1 | 1B
C --> 1D
D --> 1 | 1B
((10)+ (011 + 1)+)*:
S --> 1A | ε
A --> 0S | 0B
B --> 0C | 1 | 1B
C --> 1D
D --> 1 | 1B
0:
S --> 0
101:
S --> 1A
A --> 0B
B --> 1
(0 + 101):
S --> 0 | 1A
A --> 0B
B --> 1
(0 + 101)*:
S --> 0 | 1A | ε
A --> 0B
B --> 1
((10)+ (011 + 1)+)* (0 + 101)*:
S --> 1A | ε | E
A --> 0S | 0B
B --> 0C | 1 | 1B
C --> 1D
D --> 1 | 1B | 1E
E --> 0 | 1F | ε
F --> 0G | 0E
G --> 1 | 1E
誰能幫我驗證這是否是正確的嗎?謝謝一束! :d