Appendix A
BNF
//
…the rest of the line
/*
…everything even across lines, including nested comments… */
name
symbol
number
character-literal
string
unary-operator
binary-operator
punctuation
#-word
one of ( ) , . ; [ ] { } :: - = == =>
one of #( #[ ## ? ?? ?= ...
one of #t #f #next #rest #key #all-keys #include
core-word
begin-word
function-word
define-body-word
define-list-word
one of define end handler let local macro otherwise
The following reserved words are exported by the Dylan module:
one of begin block case for if method
one of select unless until while
(none)
one of class library method module
one of constant variable domain
word
\
word
operator-name
any word that is not also a reserved-word
\
word
operator-name
unreserved-name
define-body-word
define-list-word
name :
word
name :
binary-operator
:
word
\
unary-operator
\
binary-operator
ordinary-name
begin-word
function-word
macro-name
one of define handler let local macro otherwise
word :
#
string
leading-alphabetic
leading-numeric alphabetic-character leading-alphabetic
leading-graphic leading-alphabetic
alphabetic-character
leading-alphabetic any-character
numeric-character
leading-numeric word-character-not-double-alphabetic
graphic-character
leading-graphic word-character-not-alphabetic
numeric-character
graphic-character
special-character
alphabetic-character word-character-not-alphabetic
numeric-character
graphic-character
special-character
alphabetic-character
numeric-character
graphic-character
special-character
one of a b c d e f g h i j k l m n o p q r s t u v w x y z
one of 0 1 2 3 4 5 6 7 8 9
one of ! & * < > | ^ $ % @ _
one of - + ~ ? / =
one of - ~
one of + - * / ^ = == ~= ~== < <= > >= & | :=
'
character '
any printing character (including space) except for '
or \
\
escape-character
"
more-string
string-character more-string
"
any printing character (including space) except for "
or \
\
escape-character
one of \ ' " a b e f n r t 0
<
hex-digits >
integer
ratio
floating-point
binary-integer
octal-integer
signopt decimal-integer
hex-integer
#b
binary-digit
binary-integer binary-digit
#o
octal-digit
octal-integer octal-digit
decimal-digit
decimal-integer decimal-digit
#x
hex-digit
hex-integer hex-digit
hex-digit …
one of 0 1
one of 0 1 2 3 4 5 6 7
one of 0 1 2 3 4 5 6 7 8 9
one of 0 1 2 3 4 5 6 7 8 9 A B C D E F
signopt decimal-integer /
decimal-integer
signopt decimal-integeropt .
decimal-integer exponentopt
signopt decimal-integer .
decimal-integeropt exponentopt
signopt decimal-integer exponent
E
signopt decimal-integer