|
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 Vstring_Scan, seg_005842
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Vstring_Type; use Vstring_Type; package Vstring_Scan is ------------------------------------------------------------------------------ -- VString Scanning Functions ------------------------------------------------------------------------------ -- Copyright 1988 - 1991 by Rational, Santa Clara, California. -- -- 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 name of Rational not be used in -- advertising or publicity pertaining to distribution of the software -- without specific, written prior permission. -- -- Rational disclaims all warranties with regard to this software, including -- all implied warranties of merchantability and fitness, in no event shall -- 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. ------------------------------------------------------------------------------ ----BreakSet - Data structure that controls the scanning of a string. -- For each Ascii character it determines the scanning action. type Scan_Action is (Sa_Transfer, -- Copy character From => To Sa_Skip, -- Discard character From Sa_Transfer_Uc, -- Copy character Upper_Case(From) => To Sa_Transfer_Lc, -- Copy character Lower_Case(From) => To Sa_Transfer_Break, -- Copy character From => To and stop scan Sa_Transfer_Uc_Break, -- Copy character Upper_Case(From) => To & stop Sa_Transfer_Lc_Break, -- Copy character Lower_Case(From) => To & stop Sa_Skip_Break, -- Discard character From and stop scan Sa_Retain_Break); -- Retain character in From and stop scan type Breakset is array (Character) of Scan_Action; procedure Scan (To : in out Vstring_Data; From : in out Vstring_Data; Brk : Breakset; Break_Char : out Character); procedure Scan (To : in out Vstring_Data; From : Vstring; Brk : Breakset; Break_Char : out Character); procedure Scan (To : Vstring; From : in out Vstring_Data; Brk : Breakset; Break_Char : out Character); procedure Scan (To : Vstring; From : Vstring; Brk : Breakset; Break_Char : out Character); ----Scans the From string. Removes character from the beginning of From -- and places then into the To string as controlled by the Breakset. The -- character that stops the scan is copied into Break_Char. If the scan -- stops due to end-of-string then Break_Char = Ascii.Nul. procedure Append_Scan (To : in out Vstring_Data; From : in out Vstring_Data; Brk : Breakset; Break_Char : out Character); procedure Append_Scan (To : in out Vstring_Data; From : Vstring; Brk : Breakset; Break_Char : out Character); procedure Append_Scan (To : in out Vstring; From : in out Vstring_Data; Brk : Breakset; Break_Char : out Character); procedure Append_Scan (To : in out Vstring; From : Vstring; Brk : Breakset; Break_Char : out Character); ----Just like Scan except that the To string is Appended rather than -- Assigned. procedure Trunc_Scan (From : in out Vstring_Data; Brk : Breakset; Break_Char : out Character); procedure Trunc_Scan (From : Vstring; Brk : Breakset; Break_Char : out Character); ----Just like Scan except there is no To string. procedure Set_Breakset (Brk : in out Breakset; Break : E_String; Omit : E_String; Mode : E_String); ----Initialize a Breakset. -- Break - Contains all characters that will (not) stop the scan. -- Omit - Contains all characters to be dropped as From is scanned. -- Mode - Mode setting characters: -- I - Break contains scan stopping characters (Inclusive scan) -- X - Break contains scan non-stopping chars (eXclusive scan) -- A - Append break character in To string and stop -- R - Retain break character in From string and stop -- S - Skip (drop) break character and stop -- U - Convert characters to Upper case as they are copied -- L - Convert characters to Lower case as they are copied end Vstring_Scan;
nblk1=6 nid=0 hdr6=c [0x00] rec0=16 rec1=00 rec2=01 rec3=06c [0x01] rec0=10 rec1=00 rec2=02 rec3=08a [0x02] rec0=16 rec1=00 rec2=03 rec3=016 [0x03] rec0=11 rec1=00 rec2=04 rec3=034 [0x04] rec0=13 rec1=00 rec2=05 rec3=06c [0x05] rec0=10 rec1=00 rec2=06 rec3=000 tail 0x21700ab5481978f215fb3 0x42a00088462063203