\end{describe*}
\begin{describe}{mac}
- {with-default-error-location (@<floc>) @<body-form>^* @> @<value>^*}
+ {with-default-error-location (@<floc>) @<declaration>^* @<form>^*
+ @> @<value>^*}
\end{describe}
\begin{describe}{mac}
- {count-and-report-errors () @<body-form>^*
+ {count-and-report-errors () @<declaration>^* @<form>^*
@> @<value> @<n-errors> @<n-warnings>}
\end{describe}
\end{describe}
\begin{describe}{mac}
- {with-scanner-place (@<place> @<scanner>) @<body-form>^* @> @<value>^*}
+ {with-scanner-place (@<place> @<scanner>) @<declarations>^* @<form>^*
+ @> @<value>^*}
Capture the @<scanner>'s current position as a place, evaluate the
@<body-form>s as an implicit progn with the variable @<place> bound to the captured
place. When control leaves the @<body-form>s, the place is released. The return
\begin{describe}{mac}
{defparse @<name> (@[[ :context (@<var> @<context-class>) @]]
@<destructuring-lambda-list-item>^*) \\ \ind
- @<body-form>^* \-
+ @[[ @<declaration>^* @! @<doc-string> @]] \\
+ @<form>^* \-
\nlret @<name>}
\end{describe}
\begin{describe}{mac}
{with-parser-context
(@<context-class> @{ @<init-keyword> @<value> @}^*) \\ \ind
- @<body-form>^* \-
+ @<declaration>^* \\
+ @<form>^* \-
\nlret @<value>^*}
\end{describe}
\begin{describe}{mac}
{when-parse (@[@<result-var>@]) @<parser> \\ \ind
- @<body-form>^* \-
+ @<form>^* \-
\nlret @<value>^*}
\end{describe}
\end{describe}
\begin{describe}{mac}
- {define-pluggable-parser @<symbol> @<tag> @<lambda-list> @<body-form>^*}
+ {define-pluggable-parser @<symbol> @<tag> @<lambda-list>
+ @[[ @<declaration>^* @! @<doc-string> @]]
+ @<form>^*}
\end{describe}
\begin{describe}{gf}{parser-capture-place @<context> @> @<form>}
\end{describe}
\begin{describe}{mac}
- {with-parser-place (@<place-var> @<context>) @<body-form>^*}
+ {with-parser-place (@<place-var> @<context>)
+ @[[ @<declaration>^* @! @<doc-string> @]]
+ @<form>^*}
\end{describe}
\begin{describe}{parseform}{peek @<parser>}
\begin{describe*}
{\dhead{mac}{preop @<name> (@<operand-var> @<lprec>)
- @<body-form>^*
+ @<declaration>^* @<form>^*
@> @<prefix-operator>}
\dhead{mac}{postop @<name>
(@<operand-var> @<lprec> @[[ :rprec @<rprec> @]])
- @<body-form>^*
- @> @<postfix-operator>}
+ @<declaration>^* @<form>^*
+ \nlret @<postfix-operator>}
\dhead{mac}{binop @<name> (@<operand-var> @<lprec> @<rprec> @<assoc>)
- @<body-form>^*
+ @<declaration>^*@<form>^*
@> @<binary-operator>}}
\end{describe*}