- For each of the following constructs, there is a portion of
the program text called its declarative region, within which
nested declarations can - any declaration, other than that of an
enumeration type, that is not a completion of a previous
declaration; - The declarative region includes the text of the
construct together with additional text determined
(recursively), as follows: - If a declaration is included, so is
its completion, if any. - If the declaration of a library unit
(including Standard -- see 10.1.1) is included, so are the
declarations of any child units (and their completions, by the
previous rule). The child declarations occur after the
declaration. - If a body_stub is included, so is the
corresponding subunit. - If a type_declaration is included, then
so is a corresponding record_representation_clause, if any. -
The declarative region of a declaration is also called the
declarative region of any view or entity declared by the
declaration. - A declaration occurs immediately within a declara