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

⟦fdbff0ac8⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Xlbt_String, seg_004ff0

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 Unchecked_Deallocation;

with Xlbt_Arithmetic;  
use Xlbt_Arithmetic;

package Xlbt_String is
------------------------------------------------------------------------------
-- X Library 8-bit character types
--
-- Xlbt_String - Full 8-bit Ascii strings (Non-Ada Strings)
------------------------------------------------------------------------------
-- Copyright 1989 - 1991 by Rational, Santa Clara, California.
-- Copyright 1985 - 1989 by the Massachusetts Institute of Technology
--
--                  All Rights Reserved.
--
-- Permission to use, copy, modify, and distribute this software and its
-- documentation for any purpose and without fee is hereby granted,
-- provided that the above copyright notice(s) appear in all copies and that
-- both that copyright notice(s) and this permission notice appear in
-- supporting documentation, and that the names of MIT or Rational not be
-- used in advertising or publicity pertaining to distribution of the software
-- without specific, written prior permission.
--
-- MIT and Rational disclaim all warranties with regard to this software,
-- including all implied warranties of merchantability and fitness, in no
-- event shall MIT or Rational be liable for any special, indirect or
-- consequential damages or any damages whatsoever resulting from loss of use,
-- data or profits, whether in an action of contract, negligence or other
-- tortious action, arising out of or in connection with the use or performance
-- of this software.
------------------------------------------------------------------------------

--\x0c
    ------------------------------------------------------------------------------
-- X_Character - 8-bit Characters
------------------------------------------------------------------------------

    type X_Character is  
       (Nul, Soh, Stx, Etx, Eot, Enq, Ack, Bel, Bs, Ht, Lf, Vt, Ff, Cr, So,  
        Si, Dle, Dc1, Dc2, Dc3, Dc4, Nak, Syn, Etb, Can, Em, Sub, Esc, Fs,  
        Gs, Rs, 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', '{', '|', '}', '~',  
        Del, C128, C129, C130, C131, C132, C133, C134, C135, C136, C137, C138,  
        C139, C140, C141, C142, C143, C144, C145, C146, C147, C148, C149, C150,  
        C151, C152, C153, C154, C155, C156, C157, C158, C159, C160, C161, C162,  
        C163, C164, C165, C166, C167, C168, C169, C170, C171, C172, C173, C174,  
        C175, C176, C177, C178, C179, C180, C181, C182, C183, C184, C185, C186,  
        C187, C188, C189, C190, C191, C192, C193, C194, C195, C196, C197, C198,  
        C199, C200, C201, C202, C203, C204, C205, C206, C207, C208, C209, C210,  
        C211, C212, C213, C214, C215, C216, C217, C218, C219, C220, C221, C222,  
        C223, C224, C225, C226, C227, C228, C229, C230, C231, C232, C233,  
        C234, C235, C236, C237, C238, C239, C240, C241, C242, C243, C244,  
        C245, C246, C247, C248, C249, C250, C251, C252, C253, C254, C255);

--/ if Length_Clauses then
    for X_Character'Size use 8;
--/ end if;

--\x0c
    ------------------------------------------------------------------------------
-- X_String_Pointer
------------------------------------------------------------------------------

    type X_String is array (S_Natural range <>) of X_Character;

    type X_String_Pointer is access X_String;

--/ if Pack then
--//     pragma Pack (X_String);
--/ end if;
--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_String_Pointer);
--/ end if;

    procedure Free_X_String_Pointer is  
       new Unchecked_Deallocation (X_String,  
                                   X_String_Pointer);

    None_X_String_Pointer : constant X_String_Pointer := null;

------------------------------------------------------------------------------
-- X_String_Pointer_List
-- 8-bit String Lists
------------------------------------------------------------------------------

    type X_String_Pointer_Array is  
       array (S_Natural range <>) of X_String_Pointer;

    type X_String_Pointer_List is access X_String_Pointer_Array;
--
    None_X_String_Pointer_List : constant X_String_Pointer_List := null;

--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_String_Pointer_List);
--/ end if;

    procedure Free_X_String_Pointer_Array  
                 (List : in out X_String_Pointer_Array);

    procedure Free_X_String_Pointer_List (List : in out X_String_Pointer_List);

------------------------------------------------------------------------------
-- 7/8-bit String Conversions
------------------------------------------------------------------------------

    type X_Translation_Array is array (X_Character) of Character;

    function To_X_String (Str7 : String) return X_String;
    ----Take a String and return the corresponding X_String.

    function To_String (Str8 : X_String) return String;
    ----Take a X_String and return the corresponding String.  Chops each
    --  8-bit character down to 7 bits as the conversion is made.

    function To_String (Str8  : X_String;  
                        Trans : X_Translation_Array) return String;
    ----Take a X_String and translate each character in it into a 7-bit
    --  character and return the translated string.

    procedure To_X_String (Str8 : out X_String;  
                           Str7 :     String);
    ----Take a String and return the corresponding X_String.

    procedure To_String (Str7 : out String;  
                         Str8 :     X_String);
    ----Take an X_String and return the corresponding String.  Chops each
    --  8-bit character down to 7 bits as the conversion is made.

    procedure To_String (Str7  : out String;  
                         Str8  :     X_String;  
                         Trans :     X_Translation_Array);
    ----Take an X_String and translate each character in it into a 7-bit
    --  character and return the translated string.

end Xlbt_String;  

E3 Meta Data

    nblk1=7
    nid=0
    hdr6=e
        [0x00] rec0=17 rec1=00 rec2=01 rec3=096
        [0x01] rec0=13 rec1=00 rec2=02 rec3=088
        [0x02] rec0=0d rec1=00 rec2=03 rec3=020
        [0x03] rec0=18 rec1=00 rec2=04 rec3=05c
        [0x04] rec0=1e rec1=00 rec2=05 rec3=00e
        [0x05] rec0=16 rec1=00 rec2=06 rec3=018
        [0x06] rec0=0c rec1=00 rec2=07 rec3=000
    tail 0x21500971481978524c8f9 0x42a00088462063203