|
|
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: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Visit, seg_0043de, separate Call_Trees
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
separate (Call_Trees)
procedure Visit (This_Object : in String := "<SELECTION>") is
The_Object : constant String := Naming.Unique_Full_Name (This_Object);
procedure Display_Interactive (This_Tree : Queues.Queue) is
Current_Element : Ada_Program.Element :=
Queues.First (This_Tree).Subprogram_Id;
The_Hierarchy : Ct_Hierarchy.Hierarchy.Hier :=
Ct_Hierarchy.Conversion (Of_This_Tree => This_Tree);
In_Window, Out_Window : Window_Io.File_Type;
begin
Window_Io.Open (File => Out_Window,
Mode => Window_Io.Out_File,
Name => "Call Tree",
Form => "");
Window_Utilities.Erase (Out_Window);
loop
declare
The_Map : constant Ct_Hierarchy.Display_Map :=
Ct_Hierarchy.Conversion
(Of_This_Map => Ct_Hierarchy.Hierarchy.Map_From
(This_Element => Current_Element,
In_This_Hierarchy => The_Hierarchy));
begin
Ct_Hierarchy.Put (This_Map => The_Map,
In_This_Window => Out_Window);
Current_Element := Ct_Hierarchy.Get_Next
(This_Map => The_Map,
In_This_Window => Out_Window);
if Ada_Program.Is_Nil (Current_Element) then
exit;
end if;
end;
end loop;
Window_Io.Delete (File => Out_Window);
end Display_Interactive;
begin
if The_Object = "" then
Log.Put_Line (Message => "ERROR: " & This_Object &
" does not resolve to an object",
Kind => Profile.Error_Msg);
else
declare
The_Element : Ada_Program.Element :=
Declarations.Enclosing_Declaration
(Ada_Program.Conversion.Resolve (The_Object));
begin
Display_Interactive (This_Tree =>
Call_Tree_Queues.Tree_For
(This_Subprogram_Body => The_Element));
end;
end if;
exception
when Ada_Program.Failed =>
Log.Put_Line (Message => "ERROR: " & The_Object & " is not an Ada unit",
Kind => Profile.Error_Msg);
end Visit;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=19 rec1=00 rec2=01 rec3=008
[0x01] rec0=00 rec1=00 rec2=04 rec3=02c
[0x02] rec0=17 rec1=00 rec2=02 rec3=044
[0x03] rec0=0f rec1=00 rec2=03 rec3=001
tail 0x2150030e8815c633d9134 0x42a00088462061e03