## Notation

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).