No effect on the document.
interned) enumerated type with the given @<tag> and @<qualifier>s (all
evaluated).
\end{describe}
+
\begin{describe}{fun}
{make-enum-type @<tag> \&optional @<qualifiers> @> @<c-enum-type>}
Return the (unique interned) C type object for the enumerated C type whose
interned) structured type with the given @<tag> and @<qualifier>s (all
evaluated).
\end{describe}
+
\begin{describe}{fun}
{make-struct-type @<tag> \&optional @<qualifiers> @> @<c-struct-type>}
Return the (unique interned) C type object for the structured C type whose
Keyword functions are never considered to be the same as ordinary
functions. Two keyword function types are considered to be the same if
- their return types are the same, and their positional argument lists consist of
- arguments with the same type, in the same order: the keyword arguments
- accepted by the functions is not significant.
+ their return types are the same, and their positional argument lists
+ consist of arguments with the same type, in the same order: the keyword
+ arguments accepted by the functions is not significant.
Keyword functions are constructed using an extended version of the @|fun|
specifier used for ordinary C function types. The extended syntax is as
\begin{describe*}
{\dhead{cls}{sod-initializer ()
- \&key :slot :location :class :value}
+ \&key :slot :location :class :value}
\dhead{cls}{sod-instance-initializer (sod-initializer)
- \&key :slot :location :class :value}
+ \&key :slot :location :class :value}
\dhead{cls}{sod-class-initializer (sod-initializer)
- \&key :slot :location :class :value}}
+ \&key :slot :location :class :value}}
\end{describe*}
\begin{describe*}
allows rewinding the scanner to an earlier point in the input so that it can
be scanned again.
+
\subsection{Basic scanner protocol} \label{sec:parsing.scanner.basic}
The basic protocol supports stepping the scanner forward through its input
step the scanner.
\end{describe}
+
\subsection{Place-capture scanner protocol} \label{sec:parsing.scanner.place}
The place-capture protocol allows rewinding to an earlier point in the
return values are the values of the final @<form>.
\end{describe}
+
\subsection{Scanner file-location protocol} \label{sec:parsing.scanner.floc}
Some scanners participate in the file-location protocol
return nil.
\end{describe*}
+
\subsection{Character scanners} \label{sec:parsing.scanner.char}
Character scanners are scanners which read sequences of characters.
character scanner protocols is suitable. See @|make-scanner-stream|.
\end{describe}
+
\subsection{String scanners} \label{sec:parsing.scanner.string}
A \emph{string scanner} is a simple kind of character scanner which reads
to the end of the @<string>).
\end{describe}
+
\subsection{Character buffer scanners} \label{sec:parsing.scanner.charbuf}
A \emph{character buffer scanner}, or \emph{charbuf scanner} for short, is an
at least once, or with $@<used> > @<start>$.
\end{describe}
+
\subsection{Token scanners} \label{sec:parsing.scanner.token}
\begin{describe}{cls}
{token-scanner-place-p @<value> @> @<generalized-boolean>}
\end{describe}
+
\subsection{List scanners}
\begin{describe}{ty}{list-scanner}