2012-10-03 59 views
0

我使用上下文無關文法設置自然數。Context Free Grammer:Kleene plus

N ::= 0 
| 1 
| 2 
| 3 
| 4 
| 5 
| 6 
| 7 
| 8 
| 9 
| kleene{...} plus 

我該如何表達自然數,沒有克萊恩加號?

例如1495

回答

2

你可以遞歸表示自然數。

N ::= N | N N 

對於1495,1將是一個自然數,隨後通過另一個自然數(4),4將是一個自然數,接着另一個(9),和9將是一個自然數,隨後通過單個天然編號(5)。

0
DIGIT ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 
N ::= DIGIT | DIGIT N