0
在試圖解決編程語言主題中的以下練習時,我知道我的答案不能創建字符串201,但我無法想象如何解決這個例外。一組不爲0開頭的正整數,除了0
問題:L(G)是一組不爲0開始的正數十進制數,除零以外。設計語法G.
我的回答:
G is:
S -> Digit
NonZeroDigit -> 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Digit -> 0 | NonZeroDigit | NonZeroDigit 0 | NonZeroDigit Digit
檢查正確性:
Digit => 0
Digit => NonZeroDigit => 1
Digit => NonZeroDigit Digit => 2 Digit => 20
如果我添加Digit -> Digit Digit
,它會創建Digit => Digit Digit => Digit Digit Digit => 201
,但是這也可以創建Digit => Digit Digit => Digit Digit Digit => 000
。什麼?
如何更改我定義的語法以便符合條件?
哇,非常非常清晰的解決方案。謝謝:D – youngminz