|
|
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: 2603 (0xa2b)
Types: TextFile
Names: »B«
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
└─⟦d65440be7⟧ »DATA«
└─⟦this⟧
with Text_Io;
package body Motor_Etape is
package Int_Io is new Text_Io.Integer_Io (Num => Integer);
Freecell_Step : Cell_Step;
function Create_A_Step
(T : in Time; A : in Action; S : in P_Step) return P_Step is
Result : P_Step;
begin
Result := new Cell_Step;
Result.The_Time := T;
Result.The_Action := A;
Result.The_Step := S;
return Result;
end Create_A_Step;
function Step_Time (S : in P_Step) return Time is
begin
return S.The_Time;
end Step_Time;
function Step_Action (S : in P_Step) return Action is
begin
return S.The_Action;
end Step_Action;
function Step_Next (S : in P_Step) return P_Step is
Result : P_Step;
begin
Result.The_Step := S.The_Step;
return Result;
end Step_Next;
procedure Change_Action_Of_Step (S : in out P_Step; A : in Action) is
begin
S.The_Action := A;
end Change_Action_Of_Step;
procedure Change_Time_Of_Step (S : in out P_Step; T : in Time) is
begin
S.The_Time := T;
end Change_Time_Of_Step;
procedure Input_Action_In_Step
(S : in out P_Step; T : in Time; A : in Action) is
Temp : P_Step;
begin
if (S = Empty_Step) then
S := Create_A_Step (T => T, A => A, S => Empty_Step);
else
if (T = Step_Time (S => S)) then
Change_Action_Of_Step (S => S, A => A);
else
if (T > Step_Time (S => S)) then
Temp := Step_Next (S => S);
Input_Action_In_Step (S => Temp, T => T, A => A);
else
S := Create_A_Step (T => T, A => A, S => S);
end if;
end if;
end if;
end Input_Action_In_Step;
procedure Destruct_Step (S : in out P_Step) is
begin
S := Empty_Step;
end Destruct_Step;
procedure Extract_Action_Of_Step (S : in out P_Step; T : in Time) is
Temp : P_Step;
begin
if (S /= Empty_Step) then
if (T > Step_Time (S => S)) then
Temp := Step_Next (S => S);
Extract_Action_Of_Step (S => Temp, T => T);
else
if (T = Step_Time (S => S)) then
Temp := S;
S := Step_Next (S => S);
Destruct_Step (S => Temp);
end if;
end if;
end if;
end Extract_Action_Of_Step;
begin
Text_Io.Put_Line ("vous etes dans motor");
end Motor_Etape;