1.
If at end of file, end-of-file processing is performed as specified
in read.
Otherwise,
one character, x, is read from the inputstream, and
dispatched according to the syntax type of x to one
of steps 2 to 7.

The reader macro function must not have any side effects other than on the
inputstream;
because of backtracking and restarting of the read operation,
front ends to the Lisp reader (e.g., "editors" and "rubout handlers")
may cause the reader macro function to be called repeatedly during the
reading of a single expression in which x only appears once.

The reader macro function may return zero values or one value.
If one value is returned,
then that value is returned as the result of the read operation;
the algorithm is done.
If zero values are returned, then step 1 is re-entered.

8.
At this point a token is being accumulated, and an even number
of multiple escapecharacters have been encountered.
If at end of file, step 10 is entered.
Otherwise, a character, y, is read, and
one of the following actions is performed according to its syntax type:

10.
An entire token has been accumulated.
The object represented by the token is returned
as the result of the read operation,
or an error of typereader-error is signaled if the token is not of valid syntax.