There will be more sections later.
\chapter{The runtime library} \label{ch:runtime}
\chapter{The runtime library} \label{ch:runtime}
-This chapter describes the runtime support macros and functions defined in
-the @|<sod/sod.h>| header file. The corresponding types are defined in
-\xref{ch:structures}.
+This chapter describes the runtime support macros and functions provided by
+the Sod library. The common structure of object instances and classes is
+described in \xref{ch:structures}.
+
+%%%--------------------------------------------------------------------------
+\section{Object system support} \label{sec:runtime.object}
+
+This section describes the macros and functions exposed in the @|<sod/sod.h>|
+header file which provide assistance for working with Sod classes and
+objects.
The runtime support functionality defined here generally expects that
instances and classes inherit from the standard @|SodObject| root object.
While the translator can (at some effort) support alternative roots, they
will require different run-time support machinery.
The runtime support functionality defined here generally expects that
instances and classes inherit from the standard @|SodObject| root object.
While the translator can (at some effort) support alternative roots, they
will require different run-time support machinery.
-%%%--------------------------------------------------------------------------
-\section{Infrastructure macros} \label{ch:runtime.infra}
+
+\subsection{Infrastructure macros} \label{ch:runtime.object.infra}
+
+The runtime support functionality defined here generally expects that
+instances and classes inherit from the standard @|SodObject| root object.
+While the translator can (at some effort) support alternative roots, they
+will require different run-time support machinery.
These macros are mostly intended for use in code generated by the Sod
translator. Others may find them useful for special effects, but they can be
These macros are mostly intended for use in code generated by the Sod
translator. Others may find them useful for special effects, but they can be
@|SOD_INSTBASE| macro (described below) is more suited to general use.
\end{describe}
@|SOD_INSTBASE| macro (described below) is more suited to general use.
\end{describe}
-%%%--------------------------------------------------------------------------
-\section{Utility macros} \label{sec:runtime.utility}
+
+\subsection{Utility macros} \label{sec:runtime.object.utility}
The following macros are expected to be useful in Sod method definitions and
client code.
The following macros are expected to be useful in Sod method definitions and
client code.
invalid when control exits the scope of the declaration.
\end{describe}
invalid when control exits the scope of the declaration.
\end{describe}
-%%%--------------------------------------------------------------------------
-\section{Functions} \label{sec:runtime.functions}
+
+\subsection{Functions} \label{sec:runtime.object.functions}
The following functions are provided in @|libsod|.
The following functions are provided in @|libsod|.