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

⟦b6e734a89⟧ TextFile

    Length: 1264 (0x4f0)
    Types: TextFile
    Names: »B«

Derivation

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

TextFile

separate (Moteur)
task body Station is
    The_Role : Role.Object;
    Exec_Request : Boolean := False;
    Total_Time : My_Time.Object;
    Next_Operation_Time : Duration;
    use My_Time;
begin
    loop
        select
            accept Set_Info (The_Time : My_Time.Object;
                             The_Action : Action.Object) do
                Role.Put_Action (The_Role, The_Time, The_Action);
            end Set_Info;
        or
            accept Go do
                Exec_Request := True;
            end Go;
        end select;
        exit when Exec_Request = True;
    end loop;
    if Exec_Request = True then
        Total_Time := 0.0;
        Role.Prepare (The_Role);
        while not Role.Is_At_End (The_Role) loop
            declare
                Local_Time : My_Time.Object;
                Local_Action : Action.Object;
            begin
                Role.Get_Next_Action (The_Role, Local_Time, Local_Action);
                Next_Operation_Time :=
                   Duration (Local_Time) - Duration (Total_Time);
                delay Next_Operation_Time;
                Serial_Io.Put (Action.Image (Local_Action), "/dev/tty0");
                Total_Time := Local_Time;
            end;
        end loop;
    end if;
end Station;