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

⟦f70002cc1⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Units_In_Program, pragma Module_Name 4 3527, pragma Segmented_Heap Library_Unit_List, pragma Subsystem Compiler_Utilities, seg_006396

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



with Diana;
with Directory;

package Units_In_Program is

    pragma Subsystem (Compiler_Utilities);
    pragma Module_Name (4, 3527);

    -- Utilities for interrogating the library units
    -- associated with a loaded program or subsystem.

    type Library_Unit_List is private;

    -- A Library_Unit_List is a list of all library units that were loaded
    -- together to form the program of interest.  Each library unit has a
    -- a unique index.  Ordering of index values is not signficant.

    -- Each library unit has associated with it a name, a kind, a diana
    -- pointer to the actual diana tree, and a set of spec units that
    -- were "looked-through" to get to the unit in the program.

    -- The Spec units for a given library unit are identified by a unique
    -- index.  Ordering of index values has no significance.

    Null_Library_Unit_List : constant Library_Unit_List;

    type Library_Unit_Index is new Natural;

    type Spec_Unit_Index is new Natural;

    pragma Consume_Offset (3);

    -- Set the spec info for a specific library unit.

    function Get_Library_Unit_Count
                (Units : Library_Unit_List) return Library_Unit_Index;

    -- Get the number of library units in the list.

    procedure Get_Library_Unit_Info (Units            :     Library_Unit_List;
                                     Unit             :     Library_Unit_Index;
                                     Unit_Name        : out Diana.Symbol_Rep;
                                     Unit_Kind        : out Diana.Node_Name;
                                     Unit_Defn        : out Diana.Tree;
                                     Unit_Offset      : out Natural;
                                     Unit_Is_Main     : out Boolean;
                                     Unit_Is_Archived : out Boolean;
                                     Archive_Object   : out Directory.Version;
                                     Spec_Unit_Count  : out Spec_Unit_Index);

    -- Get information for a specific library unit.

    procedure Get_Spec_Info (Units     :     Library_Unit_List;
                             Unit      :     Library_Unit_Index;
                             Spec      :     Spec_Unit_Index;
                             Spec_Defn : out Diana.Tree);

    -- Get information for a specific spec.

private

    type Library_Unit_Table;

    type Library_Unit_List is access Library_Unit_Table;
    pragma Segmented_Heap (Library_Unit_List);

    Null_Library_Unit_List : constant Library_Unit_List := null;

end Units_In_Program;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=1e rec1=00 rec2=01 rec3=014
        [0x01] rec0=14 rec1=00 rec2=02 rec3=032
        [0x02] rec0=15 rec1=00 rec2=03 rec3=000
    tail 0x21701a78081bf8087dce6 0x42a00088462065003