A.2 The Package Ada
Static Semantics
1
The following language-defined
library package exists:
2
package Ada
is
pragma Pure(Ada);
end Ada;
3
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
4
In the standard mode, it is illegal to compile a
child of package Ada.
4.a
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.
4.b
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.
4.c
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.
4.d
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
4.e
{
extensions to Ada 83}
This
clause is new to Ada 95.