DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦de8186245⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Constant_String, seg_02bacb

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



package body Constant_String is
    Max_Strings : constant := 1000;

    type Access_String is access String;

    subtype Valid_Object is Object range 0 .. Max_Strings;

    The_Strings     : array (Valid_Object) of Access_String;
    The_Last_String : Object := 0;

    function Make (For_String : String) return Object is
    begin
        if The_Last_String /= Max_Strings then
            The_Last_String               := The_Last_String + 1;
            The_Strings (The_Last_String) := new String'(For_String);  
            return The_Last_String;
        else
            raise Overflow;
        end if;
    end Make;


    function Image (Of_Object : Object) return String is
    begin
        return The_Strings (Of_Object).all;
    exception
        when Constraint_Error =>
            raise Illegal_Object;
    end Image;

begin
    The_Strings (The_Last_String) := new String'("");
end Constant_String;

E3 Meta Data

    nblk1=2
    nid=2
    hdr6=2
        [0x00] rec0=23 rec1=00 rec2=01 rec3=000
        [0x01] rec0=00 rec1=08 rec2=b7 rec3=069
    tail 0x21724022c83e584885d68 0x42a00088462063c03
Free Block Chain:
  0x2: 0000  00 00 00 a8 80 0b 20 20 65 78 63 65 70 74 69 6f  ┆        exceptio┆