identifier = initial (subsequent* final)?
 initial = letter
 letter = a | b | c || z
| A | B | C || Z
 special-initial = special
 special = !
 subsequent = initial
 special-subsequent = .
 final = letter
 peculiar-identifier = +
Most identifiers allowed by other programming
languages are also acceptable in DSSSL.
In addition to letters and digits, identifiers
may contain the characters $%&*/:<=>?&tilde._^+-.
and any characters declared as
added-named-characters by the add-name-chars
or char-repertoire element type forms.
An identifier shall not begin with a character that can begin a
number; however, +, -, and ... are identifiers.
An identifier shall not end with : (unless the entire identifier
|... are three period characters and not a single