[ Table of Contents ]
In this example we employ the two preceding example programs as reusable components known as library units. Our main procedure, Do_Both, depends on these two library units. The Say_Hello and Show_Date procedures are user-defined library units, which depend on the predefined library units shown at the bottom of the diagram. The latter are library packages, the former are library procedures. |
Once the new main procedure, Do_Both, has been compiled, it too becomes a library unit, which could be used again ("withed in") by another unit in another program. Thus, the program depicted graphically above consists of five library units: two from the predefined environment and three that have been user defined. In the next chapter you will see that whenever a program unit is created it falls into one of two categories: it is either a library unit or a nested unit.
Source Code Listing
---------------------------------------------------------- -- This program calls two library procedures to, first, -- display the message "Hello" and, second, to find and -- display the current date. ---------------------------------------------------------- with Say_Hello, Show_Date; -- with clause procedure Do_Both is begin Say_Hello; Show_Date; end Do_Both; ---------------------------------------------------------- |
If you compile and link the above program and then run it on say, November 2, 2002, the following lines of text should be displayed:
Hello Today's Date: Year = 2002 Month = 11 Day = 2 |
Note that there is only one with clause, which names two withed in library units (our first two example programs). Their names are separated by a comma. This is more compact, but equivalent to writing two separate with clauses.
[ Back to top of page ]