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

⟦56e9608a6⟧ TextFile

    Length: 1447 (0x5a7)
    Types: TextFile
    Names: »B«

Derivation

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

TextFile

with Bounded_String, String_Utilities;
package body Message is


    function Void_Selector return Selector is
        A_Multiple_Selector : Selector;
    begin
        Bounded_String.Free (A_Multiple_Selector);
        return A_Multiple_Selector;
    end Void_Selector;


    function Is_Keyword (Multiple_Selector : Selector) return Boolean is  
    begin
        return (String_Utilities.Locate (':', Image (Multiple_Selector)) /= 0);
    end Is_Keyword;


    function Format (Multiple_Selector : Selector) return String is
        Pos : Natural;
        A_Selector : Selector;
    begin  
        A_Selector := Multiple_Selector;

        loop
            Pos := String_Utilities.Locate (':', Image (A_Selector));
            if Pos = 0 then
                exit;  
            else
                Bounded_String.Delete (A_Selector, Pos);
            end if;  
        end loop;  
        return Image (A_Selector);
    end Format;


    procedure Extract_Keyword (Multiple_Selector : in out Selector;
                               A_Selector : in out Selector) is

        End_Pos : Natural;
    begin  
        End_Pos := String_Utilities.Locate (':', Image (Multiple_Selector));
        A_Selector := Void_Selector;
        Copy (A_Selector, Bounded_String.Extract
                             (Multiple_Selector, 1, End_Pos - 1));  
        Bounded_String.Delete (Multiple_Selector, 1, End_Pos);
    end Extract_Keyword;
end Message;