TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
Tucker Taft <[log in to unmask]>
Tue, 20 Oct 1998 15:12:30 -0400
Tucker Taft <[log in to unmask]>
text/plain (35 lines)
> Hence, as I understand it, it should be possible to transform the Ada83
> source of a system built as a set of components to a corresponding set of
> top level "component packages" with public and private child packages in
> Ada95.
> Is this possible? Has it been done? Is it a stupid idea alltogether? Any
> other ideas?

To answer this question more directly: yes it can be done
pretty straightforwardly.  The fundamental rules are that
a private child cannot be "with"ed outside the "subsystem"
rooted at its parent, and cannot be "with"ed by the spec of
any unit visible to "outsiders."

A "subsystem" is a tree of library units headed by some particular
library unit.

Another way of looking at it is that a subsystem can be divided
into two parts: the part visible outside the subsystem (the "interface"
to the subsystem), and the part visible only inside the subsystem
(the "implementation" of the subsystem).  The interface consists of
the specs of the root of the subsystem and its public children,
grandchildren, etc.  The implementation consists of the
specs of the private children/grandchildren, etc, plus all the bodies.
Something outside the subsystem, or something in the interface of the
subsystem, may not "with" something in the implementation.

> Thanks for any replies.
>                     Cheers, Dan
> Daniel Wengelin, CelsiusTech Systems
> [log in to unmask]

-Tucker Taft  [log in to unmask]