\end{describe}
%%%--------------------------------------------------------------------------
+\section{Streams} \label{sec:parsing.streams}
+
+\begin{describe*}
+ {\dhead{cls}{position-aware-stream \&key :file :line :column}
+ \dhead{gf}{position-aware-stream-file @<stream> @> @<pathname>}
+ \dhead{gf}{setf (position-aware-stream-file @<stream>) @<pathname>}
+ \dhead{gf}{position-aware-stream-line @<stream> @> @<fixnum>}
+ \dhead{gf}{setf (position-aware-stream-line @<stream>) @<fixnum>}
+ \dhead{gf}{position-aware-stream-column @<stream> @> @<fixnum>}
+ \dhead{gf}{setf (position-aware-stream-column @<stream>) @<fixnum>}}
+\end{describe*}
+
+\begin{describe}{gf}{stream-pathname @<stream> @> @<pathname-or-nil>}
+ \begin{describe}{meth}{stream}
+ {stream-pathname (@<stream> stream) @> nil}
+ \end{describe}
+ \begin{describe}{meth}{file-stream}
+ {stream-pathname (@<stream> file-stream) @> @<pathname>}
+ \end{describe}
+ \begin{describe}{meth}{position-aware-stream}
+ {stream-pathname (@<stream> position-aware-stream) @> @<pathname>}
+ \end{describe}
+\end{describe}
+
+\begin{describe}{gf}{stream-line-and-column @<stream> @> @<line> @<column>}
+ \begin{describe}{meth}{stream}
+ {stream-line-and-column (@<stream> stream) @> nil nil}
+ \end{describe}
+ \begin{describe}{meth}{position-aware-stream}
+ {stream-line-and-column (@<stream> position-aware-stream)
+ \nlret @<line> @<column>}
+ \end{describe}
+\end{describe}
+
+%%%--------------------------------------------------------------------------
\section{File locations} \label{sec:parsing.floc}
\begin{describe}{cls}{file-location}
\end{describe*}
\begin{describe}{gf}{file-location @<object> @> @<floc>}
- \begin{describe}{meth}{file-location (@<floc> file-location) @> @<floc>}
+ \begin{describe}{meth}{file-location}
+ {file-location (@<floc> file-location) @> @<floc>}
\end{describe}
- \begin{describe}{meth}{file-location (@<stream> stream) @> @<floc>}
+ \begin{describe}{meth}{stream}
+ {file-location (@<stream> stream) @> @<floc>}
\end{describe}
- \begin{describe}{meth}{file-location (@<any> t) @> @<floc>}
+ \begin{describe}{meth}{t}
+ {file-location (@<any> t) @> @<floc>}
\end{describe}
\end{describe}
\begin{describe}{cls}{condition-with-location (condition) \&key :location}
\end{describe}
-\begin{describe}{meth}
+\begin{describe}{meth}{condition-with-location}
{file-location (@<condition> condition-with-location) @> @<floc>}
\end{describe}
\begin{describe}{gf}{classify-condition @<condition> @> @<string>}
\begin{describe*}
- {\dhead{meth}{classify-condition (@<condition> error) @> @<string>}
- \dhead{meth}{classify-condition (@<condition> warning) @> @<string>}
- \dhead{meth}{classify-condition (@<condition> information)
- @> @<string>}
- \dhead{meth}{classify-condition (@<condition> base-lexer-error)
- @> @<string>}
- \dhead{meth}{classify-condition (@<condition> base-syntax-error)
- @> @<string>}}
+ {\dhead{meth}{error}
+ {classify-condition (@<condition> error) @> @<string>}
+ \dhead{meth}{warning}
+ {classify-condition (@<condition> warning) @> @<string>}
+ \dhead{meth}{information}
+ {classify-condition (@<condition> information)
+ @> @<string>}
+ \dhead{meth}{base-lexer-error}
+ {classify-condition (@<condition> base-lexer-error)
+ @> @<string>}
+ \dhead{meth}{base-syntax-error}
+ {classify-condition (@<condition> base-syntax-error)
+ @> @<string>}}
\end{describe*}
\end{describe}
\begin{describe}{parseform}{char @<character>}
\end{describe}
-\begin{describe}[char]{parse}{@<character>}
+\begin{describe}{parse}[char]{@<character>}
\end{describe}
-\begin{describe}[string]{parse}{@<string>}
+\begin{describe}{parse}[string]{@<string>}
\end{describe}
\begin{describe}{parse}{:any}
\begin{describe}{parseform}{token @<type> @[@<value>@] @[:peekp @<peek>@]}
\end{describe}
-\begin{describe}[atom]{parse}{@<atom>}
+\begin{describe}{parse}[atom]{@<atom>}
\end{describe}
\begin{describe}{cls}{scanner-context () \&key :scanner}