src/class-output.lisp: Split up `hook-output' on `sod-class' and `:h'.
[sod] / doc / output.tex
index 5fd689e..27826ff 100644 (file)
@@ -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 @<sequencer> @> @<list>}
+     \dhead{fun}{setf (sequencer-constraints @<sequencer>) @<list>}
+     \dhead{fun}{sequencer-table @<sequencer> @> @<hash-table>}}
+\end{describe*}
+
 \begin{describe}{fun}{ensure-sequencer-item @<sequencer> @<name> @> @<item>}
 \end{describe}
 
@@ -146,30 +152,97 @@ until the third.  So the final processing order is
 \end{describe}
 
 \begin{describe}{fun}
+    {add-sequencer-item-function @<sequencer> @<name> @<function>}
+\end{describe}
+
+\begin{describe}{fun}
     {invoke-sequencer-items @<sequencer> \&rest @<arguments>}
 \end{describe}
 
-\begin{describe}{gf}{hook-output progn @<object> @<reason> @<sequencer>}
-  \begin{describe}{meth}
-    {hook-output progn (@<object> t) (@<reason> t) @<sequencer>}
+\begin{describe}{gf}{hook-output @<object> @<reason> @<sequencer>}
+  \begin{describe}{meth}{t,t}
+    {hook-output (@<object> t) (@<reason> t) @<sequencer>}
   \end{describe}
 \end{describe}
 
 \begin{describe}{mac}
-    {sequence-output (@<stream-var> @<sequencer>) \\ \ind
-      @{ :constraint (@<item-name>^*) @} \\
+    {sequence-output (@<stream-var> @<sequencer>)               \\ \ind
+      @{ :constraint (@<item-name>^*) @}                        \\
       @{ (@<item-name> @<form>^*) @}^*}
 \end{describe}
 
 %%%--------------------------------------------------------------------------
+\section{Module output} \label{output.module}
+
+\subsection{Producing output}
+
+\begin{describe}{gf}
+    {module-output-file @<module> @<output-type> @<output-dir>
+      @> @<pathname>}
+  \begin{describe*}
+      {\dhead{meth}{module,symbol}
+          {module-output-file \=(@<module> module)              \\
+                              \>(@<output-type> symbol)         \\
+                              \>@<output-dir>
+           \nlret @<pathname>}
+       \dhead{meth}{module,pathname}
+          {module-output-file \=(@<module> module)              \\
+                              \>(@<output-type> pathname)       \\
+                              \>@<output-dir>
+           \nlret @<pathname>}}
+  \end{describe*}
+\end{describe}
+
+\begin{describe}{gf}{write-dependency-file @<module> @<reason> @<output-dir>}
+\end{describe}
+
+\begin{describe}{fun}{output-module @<module> @<reason> @<stream>}
+\end{describe}
+
+
+\subsection{Managing output types} \label{output.module.manage}
+
+\begin{describe}{fun}{declare-output-type @<reason> @<pathname>}
+\end{describe}
+
+\begin{describe}{fun}{output-type-pathname @<reason> @> @<pathname>}
+\end{describe}
 
 
+\subsection{Utilities} \label{output.module.utilities}
+
+\begin{describe}{fun}{banner @<title> @<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}
 
+\begin{describe}{gf}{emit-class-typedef @<class> @<stream>}
+\end{describe}
+
+\begin{describe}{gf}{emit-class-object-decl @<class> @<stream>}
+\end{describe}
+
+\begin{describe}{gf}{emit-class-conversion-macro @<class> @<super> @<stream>}
+\end{describe}
+
+\begin{describe*}
+    {\dhead{gf}{emit-message-macro @<class> @<entry> @<stream>}
+     \dhead{gf}{emit-message-macro-defn
+                  \=@<class> @<entry> @<varargsp> @<me> \\
+                  \>@<in-names> @<out-names> @<stream>}}
+\end{describe*}
+
 %% output for `h' files
 %%
 %% prologue
@@ -181,6 +254,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 +287,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 +299,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 +330,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 --------------------------------------------------