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

⟦c3cd75153⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Verbs, seg_0479e6

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



with List, String_Utilities, Unbounded_String;


package body Verbs is

    package Identifier is new Unbounded_String (1);

    subtype String_Verb is Identifier.Variable_String;

    package Verbs_List is new List (Element => String_Verb);

    A_List : Verbs_List.Object;

    procedure Create (Name : String) is
        A_Verb : String_Verb;
    begin
        A_Verb := Identifier.Value (Name);
        if not Exists (Name) then
            Verbs_List.Insert (A_List, A_Verb);
        end if;
    end Create;

    function Exists (Name : String) return Boolean is
        A_Verb : String_Verb;
    begin  
        Verbs_List.Go_First (A_List);
        while not Verbs_List.At_End (A_List) loop
            A_Verb := Verbs_List.Get_Current_Element (A_List);
            if String_Utilities.Equal (Name, Identifier.Image (A_Verb)) then
                return True;
            end if;
            Verbs_List.Go_Next (A_List);
        end loop;
        return False;
    end Exists;

    procedure Go_First is
    begin
        Verbs_List.Go_First (A_List);
    end Go_First;

    procedure Go_Next is
    begin
        Verbs_List.Go_Next (A_List);
    end Go_Next;

    function At_End return Boolean is
    begin
        return Verbs_List.At_End (A_List);
    end At_End;

    function Get_Current return String is
        A_Verb : String_Verb;
    begin
        A_Verb := Verbs_List.Get_Current_Element (A_List);
        return Identifier.Image (A_Verb);
    end Get_Current;

end Verbs;

E3 Meta Data

    nblk1=6
    nid=5
    hdr6=4
        [0x00] rec0=23 rec1=00 rec2=01 rec3=004
        [0x01] rec0=1a rec1=00 rec2=03 rec3=000
        [0x02] rec0=17 rec1=00 rec2=05 rec3=000
        [0x03] rec0=14 rec1=00 rec2=03 rec3=000
        [0x04] rec0=0a rec1=00 rec2=02 rec3=000
        [0x05] rec0=43 rec1=09 rec2=36 rec3=23b
    tail 0x21544a70e865479bf3bab 0x42a00088462060003
Free Block Chain:
  0x5: 0000  00 04 00 6b 80 0b 6c 75 65 20 28 4e 61 6d 65 29  ┆   k  lue (Name)┆
  0x4: 0000  00 02 03 fc 80 2b 20 4d 79 5f 54 72 65 65 2e 49  ┆     + My_Tree.I┆
  0x2: 0000  00 06 00 e0 80 07 6e 64 20 74 68 65 6e 07 00 1f  ┆      nd then   ┆
  0x6: 0000  00 00 00 2a 80 03 65 72 3b 03 00 09 20 20 20 20  ┆   *  er;       ┆