|
|
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: 1628 (0x65c)
Types: TextFile
Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦this⟧
with Action;
with Time;
package body Step is
function Create (The_Time : Time.Object;
The_Action : Action.Object;
Next_Step : Step.Object) return Step.Object is
Inter_Step : Step.Object :=
new Stepcell'(The_Time, The_Action, Next_Step);
begin
return Inter_Step;
end Create;
function Timeof (The_Step : Step.Object) return Time.Object is
begin
return The_Step.The_Time;
end Timeof;
function Actionof (The_Step : Step.Object) return Action.Object is
begin
return The_Step.The_Action;
end Actionof;
function Nextof (The_Step : Step.Object) return Step.Object is
begin
return The_Step.The_Next;
end Nextof;
procedure Put_Action (The_Step : in out Step.Object;
The_Time : Time.Object;
The_Action : Action.Object) is
use Time;
begin
if (The_Step = Empty_Step) then
The_Step := Step.Create (The_Time, The_Action, Empty_Step);
else
if Timeof (The_Step) = The_Time then
The_Step.The_Action := The_Action;
else
if Timeof (The_Step) < The_Time then
Put_Action (The_Step.The_Next, The_Time, The_Action);
else
The_Step := Create (The_Time, The_Action, The_Step);
end if;
end if;
end if;
end Put_Action;
function Is_Empty (The_Step : Step.Object) return Boolean is
begin
return The_Step = Empty_Step;
end Is_Empty;
end Step;