|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: B T
Length: 2035 (0x7f3)
Types: TextFile
Names: »B«
└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
└─⟦124ff5788⟧ »DATA«
└─⟦this⟧
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
└─⟦77aa8350c⟧ »DATA«
└─⟦f794ecd1d⟧
└─⟦4c85d69e2⟧
└─⟦this⟧
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
└─⟦6f12a12be⟧ »DATA«
└─⟦this⟧
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦9b477e385⟧
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
└─⟦6f12a12be⟧ »DATA«
└─⟦9b477e385⟧
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
└─⟦d65440be7⟧ »DATA«
└─⟦9b477e385⟧
└─⟦this⟧
package body Set_Generic is
procedure Initialize (S : out Set) is
begin
S := null;
end Initialize;
function Is_Empty (S : Set) return Boolean is
begin
return S = null;
end Is_Empty;
procedure Make_Empty (S : in out Set) is
begin
S := null;
end Make_Empty;
procedure Init (Iter : out Iterator; S : Set) is
begin
Iter := Iterator (S);
end Init;
procedure Next (Iter : in out Iterator) is
begin
Iter := Iterator (Iter.Link);
end Next;
function Value (Iter : Iterator) return Element is
begin
return Iter.Value;
end Value;
function Done (Iter : Iterator) return Boolean is
begin
return Iter = null;
end Done;
procedure Copy (Target : in out Set; Source : Set) is
Rest : Set := Source;
begin
Target := null;
while Rest /= null loop
Target := new Node'(Rest.Value, Target);
Rest := Rest.Link;
end loop;
end Copy;
function Is_Member (S : Set; X : Element) return Boolean is
Rest : Set := S;
begin
while Rest /= null loop
if Rest.Value = X then
return True;
end if;
Rest := Rest.Link;
end loop;
return False;
end Is_Member;
procedure Add (S : in out Set; X : Element) is
begin
if not Is_Member (S, X) then
S := new Node'(X, S);
end if;
end Add;
procedure Delete (S : in out Set; X : Element) is
Current : Set := S;
Previous : Set := null;
begin
while Current /= null loop
if Current.Value = X then
if Previous /= null then
Previous.Link := Current.Link;
else
S := Current.Link;
end if;
return;
end if;
Previous := Current;
Current := Current.Link;
end loop;
end Delete;
end Set_Generic;