|
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, function Conversion, seg_0043e8, separate Ct_Hierarchy
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
separate (Ct_Hierarchy) function Conversion (Of_This_Tree : Call_Tree_Queues.Queue) return Hierarchy.Hier is package Queues renames Call_Tree_Queues.Queues; The_Queue : Queues.Queue := Of_This_Tree; The_Hierarchy : Hierarchy.Hier := Hierarchy.Create; The_Unit : Ada_Program.Element := Queues.First (Of_This_Tree).Subprogram_Id; procedure Add (The_Parent : Ada_Program.Element; Parent_Level : Natural; The_Queue : in out Queues.Queue; The_Hierarchy : in out Hierarchy.Hier) is Current_Level : Natural := Queues.First (The_Queue).Nested_Level; Prev_Element : Ada_Program.Element; begin while Current_Level > Parent_Level loop if Current_Level = Parent_Level + 1 then Hierarchy.Add (This_Parent => The_Parent, And_This_Child => Queues.First (The_Queue).Subprogram_Id, To_This_Hierarchy => The_Hierarchy); Prev_Element := Queues.First (The_Queue).Subprogram_Id; Queues.Delete (The_Queue); elsif Current_Level = Parent_Level + 2 then Add (The_Parent => Prev_Element, Parent_Level => Parent_Level + 1, The_Queue => The_Queue, The_Hierarchy => The_Hierarchy); else raise Program_Error; end if; if Queues.Is_Empty (The_Queue) then return; end if; Current_Level := Queues.First (The_Queue).Nested_Level; end loop; end Add; begin Queues.Delete (The_Queue); Add (The_Parent => The_Unit, Parent_Level => 0, The_Queue => The_Queue, The_Hierarchy => The_Hierarchy); return The_Hierarchy; end Conversion;
nblk1=4 nid=0 hdr6=8 [0x00] rec0=19 rec1=00 rec2=01 rec3=028 [0x01] rec0=00 rec1=00 rec2=04 rec3=002 [0x02] rec0=1b rec1=00 rec2=02 rec3=016 [0x03] rec0=02 rec1=00 rec2=03 rec3=001 tail 0x21500317a815c634a5f9b 0x42a00088462061e03