A compilation group may contain zero, one, or more source units. A compilation group consists of a series of source units. A source unit may contain other source units and these contained source units may reference some of the resources of the source units within which they are contained.
A source unit begins with an Identification Division.
A source unit includes any contained source units.
With the exception of source text manipulation statements
and end markers
and compiler directives
, the statements, entries, paragraphs, and sections of a source unit are grouped into four divisions that are sequenced in the following order:
The beginning of a division in a source unit is indicated by the appropriate division header.
The beginning of the Identification Division may also be indicated by one of the paragraph headers permitted in the Identification Division.
The end of a division in a source unit is indicated by one of the following:
The end of a source unit is indicated by the absence of additional source lines in the compilation group.
The end of a source unit can also be indicated by an end marker.
When a source unit, B, is contained in another source unit, A, it may be directly or indirectly contained. Source unit B is directly contained in source unit A if there is no source unit contained in A that also contains B. Source unit B is indirectly contained in source unit A if there exists a source unit contained in A that also contains B.
A source unit that is directly or indirectly contained within another source unit is considered in these specifications as a separate source unit that may additionally reference certain resources defined in the containing source unit.
The object code resulting from compiling a source unit contained within another source unit is considered in these specifications to be inseparable from the object code resulting from compiling the containing source unit.
A compilation unit is a source unit that is not contained within another source unit. It may be preceded or followed by other compilation units in a compilation group.
A source element is a source unit excluding any nested source units.
A runtime element is the result of compiling a source element.
A runtime module is the result of compiling a compilation unit.
A compilation group may contain zero, one, or more source units. A compilation group consists of a series of source units. A source unit may contain other source units and these contained source units may reference some of the resources of the source units within which they are contained.
A source unit begins with an Identification Division.
A source unit includes any contained source units.
With the exception of source text manipulation statements
and end markers
and compiler directives
, the statements, entries, paragraphs, and sections of a source unit are grouped into four divisions that are sequenced in the following order:
The beginning of a division in a source unit is indicated by the appropriate division header.
The beginning of the Identification Division may also be indicated by one of the paragraph headers permitted in the Identification Division.
The end of a division in a source unit is indicated by one of the following:
The end of a source unit is indicated by the absence of additional source lines in the compilation group.
The end of a source unit can also be indicated by an end marker.
When a source unit, B, is contained in another source unit, A, it may be directly or indirectly contained. Source unit B is directly contained in source unit A if there is no source unit contained in A that also contains B. Source unit B is indirectly contained in source unit A if there exists a source unit contained in A that also contains B.
A source unit that is directly or indirectly contained within another source unit is considered in these specifications as a separate source unit that may additionally reference certain resources defined in the containing source unit.
The object code resulting from compiling a source unit contained within another source unit is considered in these specifications to be inseparable from the object code resulting from compiling the containing source unit.
A compilation unit is a source unit that is not contained within another source unit. It may be preceded or followed by other compilation units in a compilation group.
A source element is a source unit excluding any nested source units.
A runtime element is the result of compiling a source element.
A runtime module is the result of compiling a compilation unit.
call-prototypes and
function-prototypes and program-prototypes
must precede all other types of source units.