A.2 The Package Ada
Static Semantics
The following language-defined
library package exists:
package Ada
is
pragma Pure(Ada);
end Ada;
Ada serves as the parent of most of the other language-defined
library units; its declaration is empty (except for the
pragma
Pure).
Legality Rules
In the standard mode, it is illegal to compile a
child of package Ada.
Reason: The intention is that mentioning,
say, Ada.Text_IO in a
with_clause
is guaranteed (at least in the standard mode) to refer to the standard
version of Ada.Text_IO. The user can compile a root library unit Text_IO
that has no relation to the standard version of Text_IO.
Ramification: Note that Ada can have
non-language-defined grandchildren, assuming the implementation allows
it. Also, packages System and Interfaces can have children, assuming
the implementation allows it.
Implementation Note: An implementation
will typically support a nonstandard mode in which compiling the language
defined library units is allowed. Whether or not this mode is made available
to users is up to the implementer.
An implementation could theoretically have private
children of Ada, since that would be semantically neutral. However, a
programmer cannot compile such a library unit.
Extensions to Ada 83
{
extensions to Ada 83}
This
clause is new to Ada 95.