The datum syntax describes the syntax of syntactic data in terms of a
sequence of lexemes, as defined in the lexical syntax.
The following grammar describes the syntax of syntactic data in terms of various kinds of lexemes defined in the grammar in section “Lexical Syntax”:
datum ::= defining-datum
| nondefining-datum
| defined-datum
defining-datum ::= #indexnum=nondefining-datum
defined-datum ::= #indexnum#
nondefining-datum ::= lexeme-datum
| compound-datum
indexnum ::= digit-10+
lexeme-datum ::= boolean | number
| character | string | symbol
symbol ::= identifier
compound-datum ::= list | vector | uniform-vector | xml-literal
list ::= (datum*)
| (datum+ . datum)
| abbreviation
abbreviation ::= abbrev-prefix datum
abbrev-prefix ::= ' | ` | , | ,@
| #' | #`
vector ::= #(datum*)
uniform-vector ::= TODO