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

⟦fda8f6aaf⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Table_Building_Generic, seg_00466a

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 generic package helps with the building of two basic kinds
--|          tables to display counts of various types of constructs within
--|          Ada units.  The first table (obtained using display.table) gives
--|          a list of all the units and the number of each type of construct
--|          for each - with totals at the bottom.  The second type of table
--|          lists all the types of constructs with totals and averages
--|          for all the units searched.
with Abstract_Document;
with Ada_Program;
generic
    type Enum is (<>);
package Table_Building_Generic is
    function Image     (E : Enum) return String;
    function Reference (E : Enum) return String;

    type Counts is array (Enum) of Natural;

    generic
        with function Enum_Image (E : Enum) return String is Image;
        type Element_Db is private;
        with function Get_Counts
                         (For_Unit : Ada_Program.Element; From_Db : Element_Db)
                         return Counts;
    package Display is
        procedure Key_Table (To_Doc : in out Abstract_Document.Handle;
                             Start  :        Enum := Enum'First;
                             Stop   :        Enum := Enum'Pred (Enum'Last));

        -- If divisor is 0, then a two element table is created.
        procedure Table (Unit_Id       :        Ada_Program.Element;
                         Title         :        String;
                         Start         :        Enum := Enum'First;
                         Stop          :        Enum := Enum'Pred (Enum'Last);
                         Divisor       :        Natural := 0;
                         Divisor_Title :        String := "";
                         For_Counts    :        Counts;
                         To_Doc        : in out Abstract_Document.Handle);

        procedure Unit_Comparison_Table
                     (Unit_Ids : in out Ada_Program.Element_List;
                      Db       :        Element_Db;
                      Title    :        String;
                      Start    :        Enum := Enum'First;
                      Stop     :        Enum := Enum'Pred (Enum'Last);
                      To_Doc   : in out Abstract_Document.Handle);

    end Display;
end Table_Building_Generic;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=17 rec1=00 rec2=01 rec3=092
        [0x01] rec0=00 rec1=00 rec2=04 rec3=008
        [0x02] rec0=12 rec1=00 rec2=02 rec3=082
        [0x03] rec0=09 rec1=00 rec2=03 rec3=000
    tail 0x217002784815c665b0d19 0x42a00088462061e03