|
|
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: 6144 (0x1800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Add_Hyper_Table, seg_004612
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Io;
with Profile;
with Log;
with Errors;
with Debug_Tools;
with Ada_Traversal;
with Directory_Tools;
with Ada_Program;
with Table_Formatter;
with Simple_Status;
with Lrm_Renames;
use Lrm_Renames;
with Directory_Renames;
use Directory_Renames;
procedure Add_Hyper_Table (Units : in out Directory_Tools.Object.Iterator;
To_Document : in out Abstract_Document.Handle;
Response : String := "<PROFILE>") is
Old_Profile : Profile.Response_Profile := Profile.Get;
New_Profile : Profile.Response_Profile;
Rows : array (Columns) of Integer;
package Table is new Table_Formatter (Rows'Length);
Fields : Table.Field_List (1 .. Columns'Pos (Columns'Last) + 1);
Bool : Boolean := True;
procedure Pre_Op (Program_Element : Ada.Element;
State : in out Boolean;
Control : in out Ada.Traversal_Control) is
Linkage_Element : Ada.Element;
Linkage_Elements : Ada.Element_List;
begin
if Include_Element (Program_Element) then
for C in Columns loop
Linkage (For_Column => C,
For_Element => Program_Element,
Linkage => Linkage_Element,
Linkage_List => Linkage_Elements);
Table.Item (Image (C, Program_Element),
Linkage => Linkage_Element,
Linkage_List => Linkage_Elements,
Explanation => Explanation (C, Program_Element));
end loop;
end if;
Control := Ada.Continue;
exception
when others =>
Log.Put_Line ("UNEXPECTED ERROR, EXCEPTION:" &
Debug_Tools.Get_Exception_Name, Profile.Error_Msg);
Log.Put_Line ("DIAGNOSIS: " & Ada.Diagnosis Profile.Error_Msg);
Log.Put_Line ("UNIT: " & Ada.Conversion.Get_Name
(Comp_Units.Parent_Compilation_Unit
(Program_Element)),
Profile.Error_Msg);
Log.Put_Line ("On line: " &
Natural'Image (Ada.Line_Number (Program_Element)),
Profile.Error_Msg);
Control := Ada.Continue;
end Pre_Op;
procedure Post_Op (Program_Element : Ada.Element;
State : in out Boolean;
Control : in out Ada.Traversal_Control) is
begin
Control := Ada.Continue;
end Post_Op;
procedure Lrm_Traverse is new Ada.Depth_First_Traversal
(Boolean, Pre_Op, Post_Op);
procedure Traverse (Unit : Object.Handle) is
begin
Lrm_Traverse (Ada.Conversion.To_Compilation_Unit (Unit), Bool, False);
end Traverse;
procedure Traverse_All_Ada is new Ada_Traversal (Traverse);
begin
New_Profile := Profile.Value (Response);
Profile.Set (New_Profile);
for C in Columns loop
Fields (Columns'Pos (C) + 1) := Columns'Pos (C) + 1;
Table.Header (Columns'Image (C), Is_Integer => Is_Integer_Valued (C));
end loop;
Traverse_All_Ada (Units);
Table.Sort (Fields);
Table.Display (To_Document, Table_Title);
Profile.Set (Old_Profile);
end Add_Hyper_Table;
nblk1=5
nid=0
hdr6=a
[0x00] rec0=20 rec1=00 rec2=01 rec3=07a
[0x01] rec0=17 rec1=00 rec2=02 rec3=06e
[0x02] rec0=00 rec1=00 rec2=05 rec3=002
[0x03] rec0=18 rec1=00 rec2=03 rec3=05a
[0x04] rec0=16 rec1=00 rec2=04 rec3=000
tail 0x217002448815c65af1bab 0x42a00088462061e03