|
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, package body String_Table, seg_0497fb
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
package body String_Table is function Egal (Left, Right : in I_String) return Boolean is begin return Bounded_String.Image (Left) = Bounded_String.Image (Right); end Egal; procedure Init (A_Table : in out I_Table) is begin for I in A_Table'Range loop A_Table (I) := Int_List.Create; end loop; end Init; function Permute (List : in Int_List.List) return Int_List.List is Tmp_List : Int_List.List; Iterator : Int_List.Listiter; Str : I_String; begin Iterator := Int_List.Makelistiter (List); while (Int_List.More (Iterator)) loop Str := Int_List.Cellvalue (Iterator); Int_List.Attach (Str, Tmp_List); Int_List.Forward (Iterator); end loop; return Tmp_List; end Permute; procedure Image (A_Table : in I_Table) is Tmp_String : I_String; Iterator : Int_List.Listiter; begin for I in A_Table'Range loop if not Int_List.Isempty (A_Table (I)) then Iterator := Int_List.Makelistiter (A_Table (I)); while Int_List.More (Iterator) loop Int_List.Next (Iterator, Tmp_String); Text_Io.Put (Bounded_String.Image (Tmp_String)); Text_Io.Put (" "); end loop; Text_Io.New_Line; end if; end loop; end Image; procedure Complete (A_Table, With_Table : in out I_Table) is Iterator : Int_List.Listiter; Empty_Pos : Natural := 1; begin while ((not (Int_List.Isempty (A_Table (Empty_Pos)) and Empty_Pos <= A_Table'Last))) loop Empty_Pos := Empty_Pos + 1; end loop; if Empty_Pos <= A_Table'Last then for I in Empty_Pos .. A_Table'Last loop if (I - Empty_Pos + 1) <= With_Table'Last then A_Table (I) := Int_List.Copy (With_Table (I - Empty_Pos + 1)); end if; end loop; end if; end Complete; procedure Put (In_Table : in out I_Table; At_Index : Natural; The_String : String) is Tmp_String : I_String; begin Bounded_String.Copy (Tmp_String, String_Utilities.Upper_Case (The_String)); Int_List.Attach (Tmp_String, In_Table (At_Index)); end Put; end String_Table;
nblk1=4 nid=0 hdr6=8 [0x00] rec0=22 rec1=00 rec2=01 rec3=046 [0x01] rec0=0c rec1=00 rec2=04 rec3=01a [0x02] rec0=1b rec1=00 rec2=02 rec3=062 [0x03] rec0=05 rec1=00 rec2=03 rec3=000 tail 0x2174de532865e69081296 0x42a00088462060003