To write the integer grammar (0,1,2 …) in BNF, we can write:

```
Number :: ⇒ digit MoreDigits
MoreDigits :: ⇒
MoreDigits :: ⇒ number
Digit :: ⇒ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
```

For a number like 37, the analysis tree would be:

Now here is the part that confuses me. If we replace the first rule `Number :: ⇒ digit MoreDigits`

in the whole number grammar with: `Number :: ⇒ More Digits Digit`

I would think that this would lead to a circular definition. Instead, it should lead to:

Why does the root make `number`

have a combination order of `More Digits Digit`

while and the second `number`

have a combination order of `Set MoreDigits`

,