DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦0c9aaad05⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package With_Accounting, seg_00463a

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



--| @SUMMARY This package records the analysis on with clauses to determine
--| thier usage. Each withed unit is numbered 1..N. With clauses are marked
--| as used when a reference points at something in that package. After
--| all references are marked, each with clause can be interrogated
--| to determine its status.
--| @INDICES (Ada_Analysis)
with Ada_Program;
package With_Accounting is

    type Database (Size : Natural) is private;

    --| @DESCRIPTION Computes the number of withed units in a compilation
    --| unit.  This function is used to initialize a database object with
    --| the correct size.
    function Number_Of_Withs (Comp_Unit : Ada_Program.Element) return Natural;

    --| @DESCRIPTION Initilize is used to collect information
    --| initial information about a compilation unit and its with clauses
    --|
    procedure Initialize (Comp_Unit :        Ada_Program.Element;
                          Db        : in out Database);

    All_Used : exception;

    --| @DESCRIPTION Marks the clause that withs the parent compilation unit
    --| of the referenced item.  The exception All_Used is raised if the
    --| marking of this object means that all with clauses are used in the unit.
    -- @RAISES (All_Used)
    procedure Mark_As_Used
                 (Id : Ada_Program.Identifier_Reference; Db : in out Database);

    --| @DESCRIPTION returns the identifier reference in the with clause for
    --| a numbered with clause.
    function With_Id (Number : Positive; Db : Database)
                     return Ada_Program.Identifier_Reference;

    --| @DESCRIPTION Returns the corresponding compilation unit for an
    --| numbered with clause.
    function Unit (Number : Positive; Db : Database)
                  return Ada_Program.Compilation_Unit;

    --| @DESCRIPTION Determines whether the numbered with clauses has been
    --| marked as used or not.
    function Used (Number : Positive; Db : Database) return Boolean;

    --| @DESCRIPTION Determines whether the numbered with clauses has been
    --| marked as used only by a use clause or rename.
    function Used_By_Use_Or_Rename
                (Number : Positive; Db : Database) return Boolean;
private
    type Data is
        record
            Comp_Unit : Ada_Program.Element;
            With_Id : Ada_Program.Identifier_Reference;
            Id : Long_Integer;
            Used : Boolean := False;
            Used_By_Use_Or_Rename : Boolean := False;
        end record;

    type With_List is array (Natural range <>) of Data;

    type Database (Size : Natural) is
        record
            List : With_List (1 .. Size);
        end record;
end With_Accounting;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=18 rec1=00 rec2=01 rec3=00c
        [0x01] rec0=15 rec1=00 rec2=02 rec3=05a
        [0x02] rec0=17 rec1=00 rec2=03 rec3=000
    tail 0x217002494815c662154c1 0x42a00088462061e03