The valid patterns for tokens are summarized in the next figure.
Figure 2.17: Valid patterns for tokens
Note that nnnnn has number syntax, neither xxxxx nor ppppp has number syntax, and aaaaa has any syntax.
A summary of rules concerning package markers follows. In each case, examples are offered to illustrate the case; for presentational simplicity, the examples assume that the readtable case of the current readtable is :upcase.
KEYWORDpackage. It also sets the
symbol-valueof the newly-created symbol to that same symbol so that the symbol will self-evaluate.
:bar, when read, interns
BAR as an external symbol in the
foo:bar, when read, looks up
BAR among the external symbols of
the package named
foo::bar, when read, interns
BAR in the package named
bar, when read, interns
BAR in the current package.
assuming the readtable case of the current readtable is :upcase,
editor:buffer refers to the external symbol
BUFFER present in the package named
regardless of whether there is a symbol named
the current package. If there is no package named
editor, or if no symbol named
is present in
editor, or if
BUFFER is not exported by
editor, the reader signals
a correctable error.
editor::buffer is seen, the effect is exactly the same as
buffer with the
EDITOR package being the current package.