[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Written by Eric Sunshine, [email protected].
The syntax for the standard Crystal Space map file is specified using a context-free grammar using a modified BNF (Backus-Naur Form) notation.
Terminal symbols (also known as tokens) are denoted like this,
`VERTEX
'. Non-terminal symbols are denoted in this fashion,
vector. Expressions enclosed within `[' and `]' are optional. When
an expression is followed by the notation `...', then the expression may
appear zero or more times. Finally, the symbol '|' appearing between
expressions indicates selection. Either the expression to the left may be
utilized, or the one to the right, but not both. An example follows.
flip => `HEAD
' | `TAIL
'
wager => `WAGER
' flip
`(
' money [ `,
' money ... ] `)
'
In this example, a `WAGER' may be followed by either `HEAD' or `TAIL', and then by a parenthesized list of monetary values separated by commas. At least one monetary value must be specified. All subsequent values (including the comma) are optional, as denoted by `[' and `]'. Here are a couple of valid expressions which satisfy the wager production:
WAGER HEAD (44) WAGER TAIL (5, 39, 2) |
And here are a few invalid expressions which do not:
WAGER HEAD (44,) WAGER TAIL (,23) WAGER TAIL () WAGER EITHER (81, 15) WAGER (72, 91) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated using texi2html 1.76.