|[ < ]||[ > ]||[ << ]||[ Up ]||[ >> ]||[Top]||[Contents]||[Index]||[ ? ]|
Written by Eric Sunshine, firstname.lastname@example.org.
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' | `
wager => `
(' 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)
This document was generated using texi2html 1.76.