|
|
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, package body Order, seg_049bef, seg_049c14, seg_049c26
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Text_Io, Moving_String;
package body Order is
use Moving_String;
procedure Put_Place (Item : in out Object; Place : in String) is
begin
Item.The_Order (1) := Moving_String.From_String (Place);
end Put_Place;
procedure Put_First_Complement
(Item : in out Object; Complement : in String) is
begin
Item.The_Order (2) := Moving_String.From_String (Complement);
end Put_First_Complement;
procedure Put_Second_Complement
(Item : in out Object; Complement : in String) is
begin
Item.The_Order (3) := Moving_String.From_String (Complement);
end Put_Second_Complement;
procedure Put_Third_Complement
(Item : in out Object; Complement : in String) is
begin
Item.The_Order (4) := Moving_String.From_String (Complement);
end Put_Third_Complement;
procedure Put_Fourth_Complement
(Item : in out Object; Complement : in String) is
begin
Item.The_Order (5) := Moving_String.From_String (Complement);
end Put_Fourth_Complement;
procedure Put_Redirection (Item : in out Object;
Redirection : in Index_Array) is
begin
Item.Redirection := Redirection;
end Put_Redirection;
procedure Free (Item : in out Object) is
begin
for I in Index'First .. Index'Last loop
Moving_String.Free (Item.The_Order (I));
end loop;
end Free;
procedure Show (Item : in Object) is
begin
Text_Io.Put ("Order : " & Image (Item));
for I in Index'First .. Index'Last loop
Text_Io.Put (" " & Index'Image (Item.Redirection (I)));
end loop;
Text_Io.New_Line;
end Show;
procedure Make_Redirection (Item : in out Object;
Complement : in String;
Position : in Index) is
begin
if Contains_Complement (Item, Complement) then
Item.Redirection (Position) :=
Complement_Position (Item, Complement);
end if;
end Make_Redirection;
function Image (Item : in Object) return String is
Ms : Moving_String.Object;
begin
Ms := Ms & Item.The_Order (1) & " " & Item.The_Order (2) &
" " & Item.The_Order (3) & " " &
Item.The_Order (4) & " " & Item.The_Order (5);
return Moving_String.Image (Ms);
end Image;
function Complement_Position
(Item : in Object; Complement : in String) return Natural is
An_Index : Natural := 0;
begin
for I in Index'First .. Index'Last loop
if Moving_String.Image (Item.The_Order (I)) = Complement then
An_Index := I;
end if;
end loop;
return An_Index;
end Complement_Position;
function Contains_Complement
(Item : in Object; Complement : in String) return Boolean is
begin
return Complement_Position (Item, Complement) /= 0;
end Contains_Complement;
function Complement (Item : in Object; Position : in Index) return String is
begin
return Moving_String.Image (Item.The_Order (Position));
end Complement;
function Redirected_Complement
(Item : in Object; Position : in Index) return String is
begin
return Moving_String.Image (Item.The_Order
(Item.Redirection (Position)));
end Redirected_Complement;
function Redirection (Item : in Object) return Index_Array is
begin
return Item.Redirection;
end Redirection;
end Order;
nblk1=7
nid=6
hdr6=8
[0x00] rec0=20 rec1=00 rec2=01 rec3=044
[0x01] rec0=22 rec1=00 rec2=03 rec3=03e
[0x02] rec0=1b rec1=00 rec2=05 rec3=07a
[0x03] rec0=24 rec1=00 rec2=02 rec3=000
[0x04] rec0=24 rec1=00 rec2=02 rec3=000
[0x05] rec0=20 rec1=00 rec2=05 rec3=000
[0x06] rec0=51 rec1=2c rec2=00 rec3=031
tail 0x21547383a86619bcf7119 0x42a00088462060003
Free Block Chain:
0x6: 0000 00 04 00 07 80 04 20 43 6f 6d 04 20 20 20 20 20 ┆ Com ┆
0x4: 0000 00 07 00 4c 80 32 64 65 72 20 28 34 29 20 3a 3d ┆ L 2der (4) :=┆
0x7: 0000 00 00 00 a8 80 0f 78 74 5f 49 6f 2e 4e 65 77 5f ┆ xt_Io.New_┆