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

⟦7298519db⟧ TextFile

    Length: 1646 (0x66e)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Action;
with My_Time;
package body Step is

    function Create (The_Time : My_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 My_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 : My_Time.Object;
                          The_Action : Action.Object) is
        use My_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;