[net.lang.ada] Body Stubs

hogan@AEROSPACE.ARPA (08/20/86)

I found an interesting paragraph in the ARM that seems wrong:

10.2 (3) A body stub is only allowed as the body of a progrm unit (a subprogram, a package, a task unit, or a generic unit) if the body stub occurs immediately
within either the specification of a library package or the declarative part
of another compilation unit.

Seems to me the intent of this paragraph is that body stubs cannot be used
as the bodies of library units; they must be declared within other units.  But
the words say "if the body stub occurs immediately within...the specification
of a library package".  However, the syntax of package specifications, 7.1(2), 
says package specification may only contain basic_declarative_items, which 
cannot be bodies.

Is the wording of the ARM wrong or am I reading it wrong ?

mike hogan

GOODENOUGH@A.ISI.EDU (John B. Goodenough) (08/20/86)

The wording is wrong, but harmless.  The wording says a body stub is only
allowed under condition A or condition B, and condition A (an occurrence
within the specification of a library package) is never true because of
other rules, so a body stube is only allowed under condition B (immediately
within the declarative part of another compilation unit).
-------