\dhead{gf}{setf (position-aware-stream-column @<stream>) @<fixnum>}}
\end{describe*}
+\begin{describe*}
+ {\dhead{cls}{position-aware-input-stream \&key :file :line :column}
+ \dhead{cls}{position-aware-output-stream \&key :file :line :column}}
+\end{describe*}
+
\begin{describe}{gf}{stream-pathname @<stream> @> @<pathname-or-nil>}
\begin{describe}{meth}{stream}
{stream-pathname (@<stream> stream) @> nil}
{information-with-location (condition-with-location information) \\ \>
\&key :location}
\dhead{cls}
+ {enclosing-condition-with-location (condition) \\ \>
+ \&key :location}
+ \dhead{cls}
{enclosing-error-with-location
(enclosing-error-with-location error) \\ \>
\&key :condition :location}
\dhead{fun}{cerror-with-location @<floc> @<continue-string>
@<datum> \&rest @<arguments>}
\dhead{fun}{cerror*-with-location @<floc> @<datum> \&rest @<arguments>}
- \dhead{fun}{warn-with-location @<floc> @<datum> \&rest @<arguments>}}
+ \dhead{fun}{warn-with-location @<floc> @<datum> \&rest @<arguments>}
+ \dhead{fun}{info-with-location @<floc> @<datum> \&rest @<arguments>}}
\end{describe*}
\begin{describe*}
the scanner will update the location as it reads its input.
\end{describe}
+\begin{describe}{cls}
+ {charbuf-scanner-stream (character-scanner-stream) \&key :scanner}
+\end{describe}
+
\begin{describe}{cls}{charbuf-scanner-place}
The class of place objects captured by a charbuf scanner.
\end{describe}
{token-scanner () \&key :filename (:line 1) (:column 0)}
\end{describe}
+\begin{describe*}
+ {\dhead{gf}{setf (scanner-line @<scanner>) @<fixnum>}
+ \dhead{gf}{setf (scanner-column @<scanner>) @<fixnum>}}
+\end{describe*}
+
\begin{describe}{gf}{token-type @<scanner> @> @<type>}
\end{describe}
\-\nlret @<value>^*}
\end{describe}
+\begin{describe}{cls}{list-parser () \&key :var}
+\end{describe}
+
\subsection{Basic parser syntax} \label{sec:parsing.syntax.basic}
\begin{describe}{gf}{parser-current-char @<context> @> @<form>}
\end{describe}
+\begin{describe}{cls}
+ {string-parser (character-parser-context) \&key :string :index :length}
+\end{describe}
+
\begin{describe}{parseform}
{if-char (@[@<result-var>@]) @<condition> @<consequent> @<alternative>}
\end{describe}
\begin{describe}{cls}{scanner-context () \&key :scanner}
\end{describe}
-\begin{describe}{gf}{parse-scanner @<context> @> @<symbol>}
+\begin{describe}{gf}{parser-scanner @<context> @> @<symbol>}
\end{describe}
\begin{describe}{cls}
\subsection{Expression parsing} \label{sec:parsing.syntax.expression}
-\begin{describe}{gf}{push-operator @<operator> @<state>}
-\end{describe}
-
-\begin{describe}{gf}{push-value @<value> @<state>}
-\end{describe}
-
-\begin{describe}{gf}{apply-operator @<operator> @<state>}
-\end{describe}
-
\begin{describe}{gf}{operator-push-action @<left> @<right>}
\end{describe}
\end{describe*}
\begin{describe*}
- {\dhead{cls}{parenthesis () \&key :tag}
- \dhead{cls}{open-parenthesis (parenthesis prefix-operator) \&key :tag}
+ {\dhead{cls}{open-parenthesis (parenthesis prefix-operator) \&key :tag}
\dhead{cls}{close-parenthesis (parenthesis) \&key :tag}}
\end{describe*}