chiark / gitweb /
doc/sod.sty, doc/*.tex: New notation for line control in `prog'.
[sod] / doc / structures.tex
index 1cd0bfc366e3e6db66af6b1a3feebd94729fb509..2fcbb2e964bb98d3c3193e11b320fe330ec32341 100644 (file)
@@ -97,7 +97,7 @@ recommended.
         union \{ \\ \ind
           struct SodObject__ichain_obj \{ \\ \ind
             const struct SodObject__vt_obj *_vt; \- \\
-          \}; \- \\
+          \} obj; \- \\
         \} obj; \- \\
       \};
     \end{prog}
@@ -114,7 +114,7 @@ recommended.
 \end{figure}
 
 \begin{describe}[SodObject]{cls}
-    {[metaclass = SodClass, lisp_metaclass = sod_class] \\
+    {[nick = obj, metaclass = SodClass, lisp_metaclass = sod_class] \\
      class SodObject \{ \}}
 
   The @|SodObject| class defines no slots or messages.  Because @|SodObject|
@@ -134,7 +134,8 @@ recommended.
 \subsection{The SodClass class} \label{sec:structures.root.sodclass}
 
 \begin{describe}[SodClass]{cls}
-    {class SodClass : SodObject \{ \\ \ind
+    {[nick = cls, link = SodObject] \\
+     class SodClass : SodObject \{ \\ \ind
        const char *name; \\
        const char *nick; \\
        size_t initsz; \\
@@ -191,7 +192,7 @@ recommended.
 
   \item[cpl] A pointer to an array of pointers to class objects listing all
     of the class's superclasses, from most- to least-specific, starting with
-    the class itself, so $c@->@|cls|.@|cpl|[0] = c$ for all class objects
+    the class itself, so $@|$c$@->cls.cpl[0]| = c$ for all class objects
     $c$.
 
   \item[link] If the class is a chain head, then this is a null pointer;
@@ -199,21 +200,20 @@ recommended.
     might or might not be a direct superclass).
 
   \item[head] A pointer to the least-specific class in this class's chain; so
-    $c@->@|cls|.@|head|@->@|cls|.@|link|$ is always null, and either
-    $c@->@|cls|.@|link|$ is null (in which case $c@->@|cls|.@|head| = c$) or
-    $c@->@|cls|.@|head| = c@->@|cls|.@|link|@->@|cls|.@|head|$.
+    @|$c$@->cls.head@->cls.link| is always null, and either @|$c$@->cls.link|
+    is null (in which case $@|$c$@->cls.head| = c$) or $@|$c$@->cls.head| =
+    @|$c$@->cls.link@->cls.head|$.
 
   \item[level] The number of less specific superclasses in this class's
-    chain.  If $c@->@|cls|.@|link|$ is null then $c@->@|cls|.@|level|$ is
-    zero; otherwise $c@->@|cls|.@|level| =
-    c@->@|cls|.@|link|@->@|cls|.@|level| + 1$.
+    chain.  If @|$c$@->cls.link| is null then @|$c$@->cls.level| is zero;
+    otherwise $@|$c$@->cls.level| = @|$c$@->cls.link@->cls.level| + 1$.
 
   \item[n_chains] The number of chains formed by the class's superclasses.
 
   \item[chains] A pointer to an array of @|struct sod_chain| structures (see
     below) describing the class's superclass chains, in decreasing order of
     specificity of their most specific classes.  It is always the case that
-    $c@->@|cls|.@|chains|[0].@|classes|[c@->@|cls|.@|level|] = c$.
+    $@|$c$@->cls.chains[0].classes[$c$@->cls.level]| = c$.
 
   \item[off_islots] The offset of the class's @|islots| structure relative to
     its containing @|ichain| structure.  The class doesn't define any slots
@@ -245,9 +245,9 @@ recommended.
 
   \item[classes] A pointer to an array of class pointers listing the classes
     in the chain from least- to most-specific.  So
-    $@<classes>[i]@->@|cls|.@|head| = @<classes>[0]$ for all $0 \le i <
-    @<n_classes>$, $@<classes>[0]@->@|cls|.@|link|$ is always null, and
-    $@<classes>[i]@->@|cls|.@|link| = @<classes>[i - 1]$ if $1 \le i <
+    $@|@<classes>[$i$]@->cls.head| = @|@<classes>[0]|$ for all $0 \le i <
+    @<n_classes>$, @|@<classes>[0]@->cls.link| is always null, and
+    $@|@<classes>[$i$]@->cls.link| = @|@<classes>[$i - 1$]|$ if $1 \le i <
     @<n_classes>$.
 
   \item[off_ichain] The size of the @|ichain| structure for this chain.
@@ -307,7 +307,7 @@ type @|struct $C$__ilayout|.
     union $B$__ichainu_$i$ $i$; \\
     \quad$\vdots$ \- \\
   \};
-  \\[\bigskipamount]
+  \\+
   typedef struct $C$__ichain_$h$ $C$;
 \end{prog}
 
@@ -412,7 +412,7 @@ structure.
       \quad$\vdots$ \- \\
     \} $c$; \- \\
   \};
-  \\[\bigskipamount]
+  \\+
   extern const union $C$__vtu_$h$ $C$__vtable_$h$;
 \end{prog}