From: Mark Wooding Date: Tue, 15 Dec 2015 19:15:23 +0000 (+0000) Subject: doc/: Just some whitespace fiddling. X-Git-Url: https://git.distorted.org.uk/~mdw/sod/commitdiff_plain/0a2d4b68b1183e5a867b30b9ade93a3240f0287b doc/: Just some whitespace fiddling. --- diff --git a/doc/concepts.tex b/doc/concepts.tex index f332be1..c938c47 100644 --- a/doc/concepts.tex +++ b/doc/concepts.tex @@ -110,6 +110,7 @@ appropriate C declarations, tables, and functions. An object cannot (usually) change its direct class, and the direct class of an object is not affected by, for example, the static type of a pointer to it. + \subsection{Superclasses and inheritance} \label{sec:concepts.classes.inherit} @@ -232,6 +233,7 @@ Classes have a number of other attributes: then all the superclasses of $C$ must have distinct nicknames. \end{itemize} + \subsection{Slots} \label{sec:concepts.classes.slots} Each class defines a number of \emph{slots}. Much like a structure member, a @@ -257,6 +259,7 @@ expressions if the generated code is expected to be processed by a implementation of C89. Initializers will be evaluated once each time an instance is initialized. + \subsection{C language integration} \label{sec:concepts.classes.c} For each class~$C$, the Sod translator defines a C type, the \emph{class @@ -473,6 +476,7 @@ contains a copy of the direct method body. Within the body of a direct method defined for a class $C$, the variable @|me|, of type pointer to class type of $C$, refers to the receiving object. + \subsection{Effective methods and method combinations} \label{sec:concepts.methods.combination} diff --git a/doc/structures.tex b/doc/structures.tex index a7be325..1cd0bfc 100644 --- a/doc/structures.tex +++ b/doc/structures.tex @@ -87,6 +87,7 @@ metaclass, and @|SodClass| is a subclass of @|SodObject|. Extensions can define additional root classes, but this is tricky, and not really to be recommended. + \subsection{The SodObject class} \label{sec:structures.root.sodobject} \begin{figure}[tbp] @@ -129,6 +130,7 @@ recommended. \xref{fig:structures.root.sodobject}. \end{describe} + \subsection{The SodClass class} \label{sec:structures.root.sodclass} \begin{describe}[SodClass]{cls} @@ -279,6 +281,7 @@ In the description that follows, uppercase letters vary over class names, while the corresponding lowercase letters indicate the class nicknames. Throughout, we consider a class $C$ (therefore with nickname $c$). + \subsection{Generic instance structure} \label{sec:structures.layout.instance} @@ -369,6 +372,7 @@ type system) to be a pointer to the @|struct $C$__ichain_$h$|. Finally, the @|islots| structure simply contains one member for each slot defined by $C$ in the order they appear in the class definition. + \subsection{Generic vtable structure} \label{sec:structures.layout.vtable} As described above, each @|ichain| structure of an instance's storage has a @@ -533,6 +537,7 @@ list. @_n @_n, va_list sod__ap); \end{prog} + \subsection{Additional definitions} \label{sec:structures.layout.additional} In addition to the instance and vtable structures described above, the diff --git a/doc/syntax.tex b/doc/syntax.tex index 30b8b32..19635e8 100644 --- a/doc/syntax.tex +++ b/doc/syntax.tex @@ -475,7 +475,6 @@ more @, and one of the following, up to reordering. All of these have their usual C meanings. \subsubsection{Declarators} \label{sec:syntax.c-types.declarator} - \begin{grammar} $[k]$ ::= @^* $[k]$ @@ -522,7 +521,6 @@ substance. \end{grammar} \subsubsection{Forward declarations} \label{sec:class.class.forward} - \begin{grammar} ::= "class" ";" \end{grammar} @@ -672,7 +670,6 @@ The initializer has one of two forms. ::= "{" "}" | "extern" ";" \end{grammar} - %%%----- That's all, folks -------------------------------------------------- %%% Local variables: