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

⟦b70864fc9⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Text_Handler, seg_0221df

Derivation

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

E3 Source Code



package Text_Handler is
    Maximum : constant := 2 ** 31 - 1;
    subtype Index is Integer range 0 .. Maximum;

    type Text (Maximum_Length : Index) is limited private;

    function Length (T : Text) return Index;
    function Value (T : Text) return String;
    function Empty (T : Text) return Boolean;

    function To_Text (S : String; Max : Index) return Text;
    function To_Text (C : Character; Max : Index) return Text;
    function To_Text (S : String) return Text;
    function To_Text (C : Character) return Text;

    function "&" (Left : Text; Right : Text) return Text;
    function "&" (Left : Text; Right : String) return Text;
    function "&" (Left : String; Right : Text) return Text;
    function "&" (Left : Text; Right : Character) return Text;
    function "&" (Left : Character; Right : Text) return Text;

    function "=" (Left : Text; Right : Text) return Boolean;
    function "<" (Left : Text; Right : Text) return Boolean;
    function "<=" (Left : Text; Right : Text) return Boolean;
    function ">" (Left : Text; Right : Text) return Boolean;
    function ">=" (Left : Text; Right : Text) return Boolean;

    procedure Set (Object : in out Text; Value : in Text);
    procedure Set (Object : in out Text; Value : in String);
    procedure Set (Object : in out Text; Value : in Character);

    procedure Append (Tail : in Text; To : in out Text);
    procedure Append (Tail : in String; To : in out Text);
    procedure Append (Tail : in Character; To : in out Text);

    procedure Amend (Object : in out Text; By : in Text; Position : in Index);
    procedure Amend (Object : in out Text; By : in String; Position : in Index);
    procedure Amend (Object : in out Text;
                     By : in Character;
                     Position : in Index);

    function Locate (Fragment : Text; Within : Text) return Index;
    function Locate (Fragment : String; Within : Text) return Index;
    function Locate (Fragment : Character; Within : Text) return Index;

private
    type Text (Maximum_Length : Index) is
        record
            Length : Index := 0;
            Value : String (1 .. Maximum_Length);
        end record;
end Text_Handler;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=19 rec1=00 rec2=01 rec3=014
        [0x01] rec0=00 rec1=00 rec2=04 rec3=004
        [0x02] rec0=14 rec1=00 rec2=02 rec3=020
        [0x03] rec0=09 rec1=00 rec2=03 rec3=000
    tail 0x2171de68e8391475c179d 0x42a00088462060003