|
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: 8192 (0x2000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Put, seg_0043ea, separate Ct_Hierarchy
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Graphics_Chars; with Graphic_Lines; with Window_Utilities; separate (Ct_Hierarchy) procedure Put (This_Map : Display_Map; In_This_Window : Window) is procedure Put (This_Object : Object; In_This_Window : Window) is begin Window_Io.Position_Cursor (File => In_This_Window, Line => This_Object.Line, Column => This_Object.Col, Offset => 0); Window_Io.Overwrite (File => In_This_Window, Item => Ub_Strings.Image (This_Object.Name), Image => Window_Io.Normal, Kind => Window_Io.Text); end Put; procedure Put (This_Graphics_Char : Character; On_This_Line : Positive; At_This_Col : Positive; In_This_Window : Window) is begin Window_Io.Position_Cursor (File => In_This_Window, Line => On_This_Line, Column => At_This_Col, Offset => 0); Window_Io.Overwrite (File => In_This_Window, Item => This_Graphics_Char, Image => Graphics_Chars.Graphics_Font, Kind => Window_Io.Text); end Put; procedure Put_In_Box (This_Object : Object; In_This_Window : Window) is begin Graphic_Lines.Draw_Box (First_Line => This_Object.Line - 1, First_Col => This_Object.Col - 1, Second_Line => This_Object.Line + 1, Second_Col => This_Object.Col + Ub_Strings.Length (This_Object.Name), Output_Window => In_This_Window); Put (This_Object => This_Object, In_This_Window => In_This_Window); end Put_In_Box; begin Window_Utilities.Erase (In_This_Window); Put_In_Box (This_Map.Element, In_This_Window); Put_In_Box (This_Map.Return_Option, In_This_Window); for I in 1 .. This_Map.Num_Parents loop Put (This_Object => This_Map.Parents (I), In_This_Window => In_This_Window); end loop; if This_Map.Num_Parents > 0 then Put (This_Graphics_Char => Graphics_Chars.U_L_Corner, On_This_Line => This_Map.Parents (1).Line - 1, At_This_Col => This_Map.Parents (1).Col - 2, In_This_Window => In_This_Window); Put (This_Graphics_Char => Graphics_Chars.L_L_Corner, On_This_Line => This_Map.Parents (This_Map.Num_Parents).Line + 1, At_This_Col => This_Map.Parents (1).Col - 2, In_This_Window => In_This_Window); Graphic_Lines.Draw_Vertical (From_Line => This_Map.Parents (1).Line, To_Line => This_Map.Parents (This_Map.Num_Parents).Line, In_Column => This_Map.Parents (1).Col - 2, Output_Window => In_This_Window); Graphic_Lines.Connect_Horizontal (From_Col => This_Map.Parents (1).Col - 2, To_Col => This_Map.Parents (1).Col - 4, On_Line => (This_Map.Parents (1).Line + This_Map.Parents (This_Map.Num_Parents).Line) / 2, Output_Window => In_This_Window); Graphic_Lines.Connect_Vertical (From_Line => (This_Map.Parents (1).Line + This_Map.Parents (This_Map.Num_Parents).Line) / 2, To_Line => This_Map.Element.Line - 1, In_Column => This_Map.Parents (1).Col - 4, Output_Window => In_This_Window); else Put (This_Object => (Ada_Program.Nil_Element, Ub_Strings.Value ("(no callers)"), 2, 11), In_This_Window => In_This_Window); end if; for I in 1 .. This_Map.Num_Children loop Put (This_Object => This_Map.Children (I), In_This_Window => In_This_Window); end loop; if This_Map.Num_Children > 0 then Put (This_Graphics_Char => Graphics_Chars.U_L_Corner, On_This_Line => This_Map.Children (1).Line - 1, At_This_Col => This_Map.Children (1).Col - 2, In_This_Window => In_This_Window); Put (This_Graphics_Char => Graphics_Chars.L_L_Corner, On_This_Line => This_Map.Children (This_Map.Num_Children).Line + 1, At_This_Col => This_Map.Children (1).Col - 2, In_This_Window => In_This_Window); Graphic_Lines.Draw_Vertical (From_Line => This_Map.Children (1).Line, To_Line => This_Map.Children (This_Map.Num_Children).Line, In_Column => This_Map.Children (1).Col - 2, Output_Window => In_This_Window); Graphic_Lines.Connect_Horizontal (From_Col => This_Map.Children (1).Col - 2, To_Col => This_Map.Children (1).Col - 4, On_Line => (This_Map.Children (1).Line + This_Map.Children (This_Map.Num_Children).Line) / 2, Output_Window => In_This_Window); Graphic_Lines.Connect_Vertical (From_Line => (This_Map.Children (1).Line + This_Map.Children (This_Map.Num_Children).Line) / 2, To_Line => This_Map.Element.Line + 1, In_Column => This_Map.Children (1).Col - 4, Output_Window => In_This_Window); else Put (This_Object => (Ada_Program.Nil_Element, Ub_Strings.Value ("(no calls)"), This_Map.Element.Line + 4, 11), In_This_Window => In_This_Window); end if; end Put;
nblk1=7 nid=0 hdr6=e [0x00] rec0=1a rec1=00 rec2=01 rec3=036 [0x01] rec0=15 rec1=00 rec2=02 rec3=01e [0x02] rec0=18 rec1=00 rec2=03 rec3=02a [0x03] rec0=11 rec1=00 rec2=04 rec3=094 [0x04] rec0=16 rec1=00 rec2=05 rec3=05c [0x05] rec0=17 rec1=00 rec2=06 rec3=000 [0x06] rec0=02 rec1=00 rec2=07 rec3=000 tail 0x21500318e815c634deb50 0x42a00088462061e03