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

⟦200d9978f⟧ TextFile

    Length: 1022 (0x3fe)
    Types: TextFile
    Names: »B«

Derivation

└─⟦bfaa708f6⟧ Bits:30000531 8mm tape, Rational 1000, INSIGHT 1_3_0
    └─ ⟦c51948655⟧ »DATA« 
        └─⟦266b31e86⟧ 
            └─⟦this⟧ 

TextFile

with Log_Writer;
with String_Map_Generic;
package body Client is

    package Client_Map is new String_Map_Generic
                                 (Size => 200, Range_Type => Id);

    Map : Client_Map.Map;
    Next_Id : Id;

    function Register (Client_Name : String) return Id is
        This_Id : Id;
    begin
        This_Id := Next_Id;
        Next_Id := Next_Id + 1;
        Client_Map.Define (Map, Client_Name, This_Id);
        Log_Writer.Log_Message ("Client", "registering " & Client_Name &
                                             " as id" & Id'Image (This_Id));
        return This_Id;
    end Register;


    function Get_Id (Name : String) return Id is
    begin
        return Client_Map.Eval (Map, Name);
    exception
        when others =>
            raise Unknown_Client;
    end Get_Id;

begin
    Client_Map.Initialize (Map);
    Client_Map.Define (Map, "Nil", Nil);
    Client_Map.Define (Map, "Console", Console);
    Client_Map.Define (Map, "Log", Log);
    Next_Id := Log + 1;
end Client;