The overall structure of programs and the facilities
for separate compilation are described in this section. A program
is a set of partitions, each of which may execute in a separate
address space, possibly on a separate computer.
As
explained below, a partition is constructed from
library units.
Syntactically, the declaration of a library unit is a
library_item,
as is the body of a library unit. An implementation may support a concept
of a
program library (or simply, a ``library''), which contains
library_items and their subunits.
Library units may be organized into a hierarchy of
children, grandchildren, and so on.
This section has two clauses:
10.1,
``
Separate Compilation'' discusses compile-time
issues related to separate compilation.
10.2,
``
Program Execution'' discusses issues related
to what is traditionally known as ``link time'' and ``run time'' -- building
and executing partitions.