|
@ -18,9 +18,21 @@ A Nonterminal starts with a leading `$`. The nonterminal `FOO` would be written |
|
|
|
|
|
|
|
|
### Terminals |
|
|
### Terminals |
|
|
|
|
|
|
|
|
A Terminals starts with a leading `/`. The terminal `bar` would be written as: |
|
|
|
|
|
|
|
|
A Terminal starts with a leading `/`. The terminal `bar` would be written as: |
|
|
|
|
|
|
|
|
/bar |
|
|
/bar |
|
|
|
|
|
|
|
|
Note that `/ab` differs from `/a/b`. The string `/ab` resolves to the terminal `ab`, |
|
|
Note that `/ab` differs from `/a/b`. The string `/ab` resolves to the terminal `ab`, |
|
|
whereas `/a/b` resolves to the terminals `a` and `b` |
|
|
whereas `/a/b` resolves to the terminals `a` and `b` |
|
|
|
|
|
|
|
|
|
|
|
#### Empty String |
|
|
|
|
|
|
|
|
|
|
|
`/~` resolves to the *Empty String* |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Productions |
|
|
|
|
|
|
|
|
|
|
|
The `->` indicates a production, the *Nonterminal* on it's left side gets replaced |
|
|
|
|
|
by the string of *Nonterminals* and *Terminals* on it's right side. |
|
|
|
|
|
|
|
|
|
|
|
$FOO -> /foo$FOO |