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

⟦215a3c03a⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Ada_Constructs, seg_028aec

Derivation

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

E3 Source Code



--| @SUMMARY The analyze procedures of this package count up the number of
--|          various Ada constructs that exist within the set of given Ada
--|          units.  The nested package instantiations are used to construct
--|          tables of the results for the different Ada constructs.
with Table_Building_Generic;
with Pragmas;
with Representation_Clauses;  
with Abstract_Document;
with Lrm_Renames;
use Lrm_Renames;
package Ada_Constructs is

    package Ada_Counting is new Table_Building_Generic (Ada.Element_Kinds);
    package Id_Counting  is new Table_Building_Generic (Ada.Id_Kinds);

    package Context_Counting is new Table_Building_Generic
                                       (Comp_Units.Context_Clause_Kinds);

    package Decl_Counting          is new Table_Building_Generic
                                             (Decls.Declaration_Kinds);
    package Param_Mode_Counting    is new Table_Building_Generic
                                             (Decls.Subprogram_Parameter_Kinds);
    package Generic_Param_Counting is
       new Table_Building_Generic (Decls.Generic_Parameter_Kinds);

    package Rep_Counting           is
       new Table_Building_Generic
              (Representation_Clauses.Representation_Clause_Kinds);
    package Length_Clause_Counting is
       new Table_Building_Generic (Representation_Clauses.
                                   Length_Clause_Attribute_Kinds);

    package Statement_Counting is
       new Table_Building_Generic (Stmts.Statement_Kinds);
    package Loop_Counting is new Table_Building_Generic (Stmts.Loop_Kinds);
    package Select_Alternative_Counting is
       new Table_Building_Generic (Stmts.Select_Alternative_Kinds);

    package Expression_Counting is
       new Table_Building_Generic (Exprs.Expression_Kinds);

    package Type_Counting is new Table_Building_Generic
                                    (Types.Type_Definition_Kinds);

    subtype Predefined_Pragmas is
       Pragmas.Pragma_Kinds range Pragmas.Controlled .. Pragmas.System_Name;
    package Predefined_Pragma_Counting is
       new Table_Building_Generic (Predefined_Pragmas);

    subtype Implementation_Dependent_Pragmas is
       Pragmas.Pragma_Kinds range Pragmas.Bias_Key .. Pragmas.Subsystem;
    package Implementation_Dependent_Pragma_Counting is
       new Table_Building_Generic (Implementation_Dependent_Pragmas);

    type Pragma_Count is
        record  
            Unknown : Natural := 0;
            Predefined : Predefined_Pragma_Counting.Counts := (others => 0);
            Implementation_Dependent :
               Implementation_Dependent_Pragma_Counting.Counts := (others => 0);
        end record;

    type Comp_Unit_Count is
        record
            Unit_Count    : Natural := 0;
            Subunit_Count : Natural := 0;
            Main_Count    : Natural := 0;
        end record;

    type Construct_Counts is
        record
            Majors : Ada_Counting.Counts := (others => 0);
            Decls : Decl_Counting.Counts := (others => 0);
            Ids : Id_Counting.Counts := (others => 0);
            Param_Modes : Param_Mode_Counting.Counts := (others => 0);
            Generic_Params : Generic_Param_Counting.Counts := (others => 0);
            Reps : Rep_Counting.Counts := (others => 0);
            Length_Clauses : Length_Clause_Counting.Counts := (others => 0);
            Contexts : Context_Counting.Counts := (others => 0);
            Statements : Statement_Counting.Counts := (others => 0);
            Loops : Loop_Counting.Counts := (others => 0);
            Select_Alternatives :
               Select_Alternative_Counting.Counts := (others => 0);
            Expressions : Expression_Counting.Counts := (others => 0);
            Types : Type_Counting.Counts := (others => 0);
            Pragmas : Pragma_Count;
            Comp_Units : Comp_Unit_Count;
        end record;



    function "+" (Left, Right : Construct_Counts) return Construct_Counts;

    procedure Analyze (Element : in     Ada.Element;
                       Counts  : in out Construct_Counts);

    procedure Analyze (Comp_Unit           :        Ada.Compilation_Unit;
                       Major_Elements_Only :        Boolean := False;
                       Counts              : in out Construct_Counts);

end Ada_Constructs;

E3 Meta Data

    nblk1=7
    nid=0
    hdr6=e
        [0x00] rec0=17 rec1=00 rec2=01 rec3=040
        [0x01] rec0=00 rec1=00 rec2=07 rec3=032
        [0x02] rec0=17 rec1=00 rec2=02 rec3=042
        [0x03] rec0=1b rec1=00 rec2=06 rec3=016
        [0x04] rec0=00 rec1=00 rec2=03 rec3=01e
        [0x05] rec0=14 rec1=00 rec2=04 rec3=02c
        [0x06] rec0=0a rec1=00 rec2=05 rec3=000
    tail 0x215002c36815c62ca64d4 0x42a00088462061e03