X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/d3dac74ac963e67beb87693ad965238c739b146c..437068146bb99cb1576a430dc0f0dadf1f712ce5:/doc/output.tex diff --git a/doc/output.tex b/doc/output.tex index c4d080a..5b464ba 100644 --- a/doc/output.tex +++ b/doc/output.tex @@ -7,7 +7,7 @@ %%%----- Licensing notice --------------------------------------------------- %%% -%%% This file is part of the Sensble Object Design, an object system for C. +%%% This file is part of the Sensible Object Design, an object system for C. %%% %%% SOD is free software; you can redistribute it and/or modify %%% it under the terms of the GNU General Public License as published by @@ -139,6 +139,12 @@ until the third. So the final processing order is \begin{describe}{cls}{sequencer () \&key :constraints} \end{describe} +\begin{describe*} + {\dhead{fun}{sequencer-constraints @ @> @} + \dhead{fun}{setf (sequencer-constraints @) @} + \dhead{fun}{sequencer-table @ @> @}} +\end{describe*} + \begin{describe}{fun}{ensure-sequencer-item @ @ @> @} \end{describe} @@ -146,26 +152,77 @@ until the third. So the final processing order is \end{describe} \begin{describe}{fun} + {add-sequencer-item-function @ @ @} +\end{describe} + +\begin{describe}{fun} {invoke-sequencer-items @ \&rest @} \end{describe} \begin{describe}{gf}{hook-output progn @ @ @} - \begin{describe}{meth} + \begin{describe}{meth}{t,t} {hook-output progn (@ t) (@ t) @} \end{describe} \end{describe} \begin{describe}{mac} - {sequence-output (@ @) \\ \ind - @{ :constraint (@^*) @} \\ + {sequence-output (@ @) \\ \ind + @{ :constraint (@^*) @} \\ @{ (@ @
^*) @}^*} \end{describe} %%%-------------------------------------------------------------------------- +\section{Module output} \label{output.module} + +\subsection{Producing output} + +\begin{describe}{gf} + {module-output-file @ @ @ + @> @} + \begin{describe*} + {\dhead{meth}{module,symbol} + {module-output-file \=(@ module) \\ + \>(@ symbol) \\ + \>@ + \nlret @} + \dhead{meth}{module,pathname} + {module-output-file \=(@ module) \\ + \>(@ pathname) \\ + \>@ + \nlret @}} + \end{describe*} +\end{describe} + +\begin{describe}{gf}{write-dependency-file @ @ @} +\end{describe} + +\begin{describe}{fun}{output-module @ @ @} +\end{describe} + +\subsection{Managing output types} \label{output.module.manage} +\begin{describe}{fun}{declare-output-type @ @} +\end{describe} + +\begin{describe}{fun}{output-type-pathname @ @> @} +\end{describe} + + +\subsection{Utilities} \label{output.module.utilities} + +\begin{describe}{fun}{banner @ @<output> \&key :blank-line-p} +\end{describe} + +\begin{describe}{fun}{guard-name @<filename> @> @<string>} +\end{describe} + +\begin{describe}{fun} + {one-off-output @<token> @<sequencer> @<item-name> @<function>} +\end{describe} %%%-------------------------------------------------------------------------- +\section{Class output} \label{output.class} \begin{describe}{var}{*instance-class*} \end{describe} @@ -181,6 +238,9 @@ until the third. So the final processing order is %% includes %% includes end %% classes start +%% early-user start +%% early-user +%% early-user end %% CLASS banner %% CLASS islots start %% CLASS islots slots @@ -211,6 +271,9 @@ until the third. So the final processing order is %% CLASS conversions %% CLASS object %% classes end +%% user start +%% user +%% user end %% guard end %% epilogue @@ -220,6 +283,9 @@ until the third. So the final processing order is %% includes start %% includes %% includes end +%% early-user start +%% early-user +%% early-user end %% classes start %% CLASS banner %% CLASS direct-methods start @@ -248,6 +314,9 @@ until the third. So the final processing order is %% CLASS object CHAIN-HEAD ichain end %% CLASS object end %% classes end +%% user start +%% user +%% user end %% epilogue %%%----- That's all, folks --------------------------------------------------