|
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 - 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