|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 4096 (0x1000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Record_Analysis, seg_004422
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
--| @SUMMARY *** analyzes record structures ***
with Item_Count;
with Sequential;
with Map_Generic;
with Table_Sort_Generic;
with Lrm_Utilities;
with Bounded_String;
with Ada_Program;
with Abstract_Document;
package Record_Analysis is
type Data_Base is private;
procedure Initialize (Db : in out Data_Base);
procedure Add (Record_Type_Decl : Ada_Program.Element;
To : in out Data_Base);
-- This governs the vertiacal sorting
type Record_Sort is (By_Size, By_Record_Name, By_Component_Name);
-- This governs the horizontal sorting of record components
type Component_Sort is (In_Order, By_Name, By_Component_Frequency);
procedure Display (Db : in out Data_Base;
Sort_Records : Record_Sort;
Sort_Components : Component_Sort;
To_Document : in out Abstract_Document.Handle);
private
Max_Decls : constant := 1000;
Max_Components : constant := 10;
type Component_Data is
record
Component : Ada_Program.Element;
Sequential_Label : Integer;
Count : Natural;
end record;
Nil_Data : constant Component_Data :=
(Ada_Program.Nil_Element, 0, Integer'Last);
type Component_Index is range 1 .. Max_Components;
type Component_Array is array (Component_Index range <>) of Component_Data;
type Record_Data is
record
Record_Decl : Ada_Program.Element := Ada_Program.Nil_Element;
Num : Component_Index := 1;
Components : Component_Array (Component_Index) :=
(others => Nil_Data);
end record;
type Decl_Index is range 1 .. Max_Decls;
type Record_Array is array (Decl_Index range <>) of Record_Data;
package Element_Count is
new Item_Count (Max_Decls, Ada_Program.Element, Lrm_Utilities.Hash);
package Sequential_Elements renames Sequential.Ada_Elements;
type Data_Base is
record
Num : Decl_Index := 1;
Records : Record_Array (Decl_Index);
Element_Map : Sequential_Elements.Map;
Counts : Element_Count.Data_Base;
end record;
end Record_Analysis;
nblk1=3
nid=0
hdr6=6
[0x00] rec0=1e rec1=00 rec2=01 rec3=00c
[0x01] rec0=1d rec1=00 rec2=02 rec3=036
[0x02] rec0=0c rec1=00 rec2=03 rec3=000
tail 0x217001706815c63d260c5 0x42a00088462061e03