|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 5756 (0x167c)
Types: TextFile
Names: »V«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
└─⟦0c20f784e⟧ »DATA«
└─⟦1abbe589f⟧
└─⟦591c5b094⟧
└─⟦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;