Next: Formal semantics, Previous: Formal syntax and semantics, Up: Formal syntax and semantics [Contents][Index]
• Lexical structure: | ||
• External representation: | ||
• Expression: | ||
• Quasiquotations: | ||
• Transformers: | ||
• Programs and definitions: |
This section provides a formal syntax for Scheme written in an extended BNF.
All spaces in the grammar are for legibility. Case is insignificant; for example, ‘#x1A’ and ‘#X1a’ are equivalent. <empty> stands for the empty string.
The following extensions to BNF are used to make the description more concise: <thing>* means zero or more occurrences of <thing>; and <thing>+ means at least one <thing>.