|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package A_Strings, seg_050966
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
-- This package defines types and routines for manipulating -- varying-length character strings, as a_string (access string). -- SFZ\x091/21/86 with Unchecked_Conversion; with System; package A_Strings is type String_Rec (Len : Natural) is record S : String (1 .. Len); end record; type A_String is access String_Rec; function To_A_String is new Unchecked_Conversion (Source => System.Address, Target => A_String); Null_String_Rec : constant String_Rec (0) := (Len => 0, S => (others => Ascii.Nul)); Empty : constant A_String := To_A_String (Null_String_Rec'Address); type Convert_T is array (Character) of Character; To_Upper : constant Convert_T := (Ascii.Nul, Ascii.Soh, Ascii.Stx, Ascii.Etx, Ascii.Eot, Ascii.Enq, Ascii.Ack, Ascii.Bel, Ascii.Bs, Ascii.Ht, Ascii.Lf, Ascii.Vt, Ascii.Ff, Ascii.Cr, Ascii.So, Ascii.Si, Ascii.Dle, Ascii.Dc1, Ascii.Dc2, Ascii.Dc3, Ascii.Dc4, Ascii.Nak, Ascii.Syn, Ascii.Etb, Ascii.Can, Ascii.Em, Ascii.Sub, Ascii.Esc, Ascii.Fs, Ascii.Gs, Ascii.Rs, Ascii.Us, ' ', '!', '"', '#', '$', '%', '&', ''', '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\', ']', '^', '_', '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '{', '|', '}', '~', Ascii.Del); To_Lower : constant Convert_T := (Ascii.Nul, Ascii.Soh, Ascii.Stx, Ascii.Etx, Ascii.Eot, Ascii.Enq, Ascii.Ack, Ascii.Bel, Ascii.Bs, Ascii.Ht, Ascii.Lf, Ascii.Vt, Ascii.Ff, Ascii.Cr, Ascii.So, Ascii.Si, Ascii.Dle, Ascii.Dc1, Ascii.Dc2, Ascii.Dc3, Ascii.Dc4, Ascii.Nak, Ascii.Syn, Ascii.Etb, Ascii.Can, Ascii.Em, Ascii.Sub, Ascii.Esc, Ascii.Fs, Ascii.Gs, Ascii.Rs, Ascii.Us, ' ', '!', '"', '#', '$', '%', '&', ''', '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '[', '\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', Ascii.Del); function To_C (S : A_String) return System.Address; function To_A (S : String) return A_String; function To_A (C : Character) return A_String; function "&" (S : A_String; T : A_String) return A_String; function "&" (S : String; T : A_String) return A_String; function "&" (S : A_String; T : String) return A_String; function "&" (S : Character; T : A_String) return A_String; function "&" (S : A_String; T : Character) return A_String; function Insert (S : A_String; Into : A_String; At_Char : Natural) return A_String; function Insert (S : String; Into : A_String; At_Char : Natural) return A_String; function Insert (S : Character; Into : A_String; At_Char : Natural) return A_String; function Change (S : A_String; At_Char, To_Char : Natural; Into : A_String) return A_String; function Change (S : A_String; At_Char, To_Char : Natural; Into : String) return A_String; -- the following routines return 0 if the pattern does not occur in S; -- otherwise they return the index of the start of the pattern in S. function Has (Pattern, S : A_String; Start : Natural := 1) return Integer; function Has (Pattern : String; S : A_String; Start : Natural := 1) return Integer; function Has (Pattern : Character; S : A_String; Start : Natural := 1) return Integer; Not_Found : exception; function Next (Pattern, S : A_String; Start : Natural := 1) return Natural; function Next (Pattern : String; S : A_String; Start : Natural := 1) return Natural; function Next (Pattern : Character; S : A_String; Start : Natural := 1) return Natural; function Last (Pattern, S : A_String; Start : Natural := 1) return Natural; function Last (Pattern : String; S : A_String; Start : Natural := 1) return Natural; function Last (Pattern : Character; S : A_String; Start : Natural := 1) return Natural; function Substitute (For_Pattern, To_Pattern : String; S : A_String) return A_String; function Reverse_Order (S : A_String) return A_String; function Truncate (S : A_String; At_Char : Natural) return A_String; function Trim (S : A_String) return A_String; function Pad_Left (S : A_String; To_Length : Natural; Pad_Char : Character := ' ') return A_String; function Pad_Right (S : A_String; To_Length : Natural; Pad_Char : Character := ' ') return A_String; function Copy (S : A_String) return A_String; function Lower_To_Upper (S : A_String) return A_String; function Upper_To_Lower (S : A_String) return A_String; function Translate (From_Old, To_New : String; S : A_String) return A_String; function Is_Null (S : A_String) return Boolean; function Is_Empty (S : A_String) return Boolean; function Allocate (Size : Integer) return A_String; procedure Free (S : A_String); end A_Strings;
nblk1=6 nid=0 hdr6=c [0x00] rec0=1f rec1=00 rec2=01 rec3=00a [0x01] rec0=0d rec1=00 rec2=02 rec3=04a [0x02] rec0=10 rec1=00 rec2=03 rec3=058 [0x03] rec0=12 rec1=00 rec2=04 rec3=068 [0x04] rec0=16 rec1=00 rec2=05 rec3=01c [0x05] rec0=17 rec1=00 rec2=06 rec3=000 tail 0x21757fe10878e78c46a76 0x42a00088462060003