DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦d26e100c6⟧ TextFile

    Length: 2603 (0xa2b)
    Types: TextFile
    Names: »B«

Derivation

└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

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;