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.