Next: Lexical and datum syntax, Up: Syntax [Contents][Index]
The formal syntax for Kawa Scheme is written in an extended BNF.
Non–terminals are written like-this. Case is insignificant
for non–terminal names.
Literal text (terminals) are written like this
.
All spaces in the grammar are for legibility.
The following extensions to BNF are used to make the
description more concise: thing* or thing...
both mean zero or more occurrences of thing,
and thing+ means at least one thing.
Some non-terminal names refer to the Unicode scalar values of the same name: character-tabulation (U+0009), linefeed (U+000A), carriage-return (U+000D), line-tabulation (U+000B), form-feed (U+000C), space (U+0020), next-line (U+0085), line-separator (U+2028), and paragraph-separator (U+2029).