X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/e38e83673b59b89d7af42f4c3f177aa0f6eafeb5..4c35de3a0467a4cab5ec7a0d76f99de764ddc316:/doc/parsing.tex diff --git a/doc/parsing.tex b/doc/parsing.tex index cd0e12f..c694ef8 100644 --- a/doc/parsing.tex +++ b/doc/parsing.tex @@ -542,7 +542,18 @@ file-location protocols. \end{describe} %%%-------------------------------------------------------------------------- -\section{Parsing syntax} +\section{Parser contexts and parser syntax} \label{sec:parsing.syntax} + + +\subsection{Parser contexts} \label{sec:parsing.syntax.contexts} + +\begin{describe}{mac} + {with-parser-context + (@ @{ @ @ @}^*) \\ \ind + @^* \\ + @
^* + \-\nlret @^*} +\end{describe} \begin{describe}{gf}{expand-parser-spec @ @ @> @} \end{describe} @@ -562,14 +573,6 @@ file-location protocols. \-\nlret @} \end{describe} -\begin{describe}{mac} - {with-parser-context - (@ @{ @ @ @}^*) \\ \ind - @^* \\ - @^* - \-\nlret @^*} -\end{describe} - \begin{describe}{lmac} {parse @ @> @ @ @} \end{describe} @@ -611,6 +614,9 @@ file-location protocols. \-\nlret @^*} \end{describe} + +\subsection{Basic parser syntax} \label{sec:parsing.syntax.basic} + \begin{describe}{parse}{:eof} \end{describe} @@ -686,6 +692,9 @@ file-location protocols. @^*} \end{describe} + +\subsection{Place-capture protocol} \label{sec:parsing.syntax.place} + \begin{describe}{gf}{parser-capture-place @ @> @} \end{describe} @@ -711,6 +720,9 @@ file-location protocols. \begin{describe}{parseform}{commit} \end{describe} + +\subsection{Character parsers} \label{sec:parsing.syntax.character} + \begin{describe}{cls}{character-parser-context () \&key} \end{describe} @@ -760,6 +772,9 @@ file-location protocols. \begin{describe}{parse}[atom]{@} \end{describe} + +\subsection{Scanner contexts} \label{sec:parsing.syntax.scanner} + \begin{describe}{cls}{scanner-context () \&key :scanner} \end{describe} @@ -776,6 +791,9 @@ file-location protocols. \&key :scanner} \end{describe} + +\subsection{Expression parsing} \label{sec:parsing.syntax.expression} + \begin{describe}{gf}{push-operator @ @} \end{describe} @@ -850,7 +868,7 @@ file-location protocols. \end{describe*} %%%------------------------------------------------------------------------- -\section{Lexical analyser} +\section{Lexical analyser} \label{sec:parsing.lexical} \begin{describe}{cls} {sod-token-scanner (token-scanner)