|
|
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: 13811 (0x35f3)
Types: TextFile
Names: »V«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
└─⟦77aa8350c⟧ »DATA«
└─⟦f794ecd1d⟧
└─⟦4c85d69e2⟧
└─⟦this⟧
-- The use of this system is subject to the software license terms and
-- conditions agreed upon between Rational and the Customer.
--
-- Copyright 1988 by Rational.
--
-- RESTRICTED RIGHTS LEGEND
--
-- Use, duplication, or disclosure by the Government is subject to
-- restrictions as set forth in subdivision (b)(3)(ii) of the Rights in
-- Technical Data and Computer Software clause at 52.227-7013.
--
--
-- Rational
-- 3320 Scott Boulevard
-- Santa Clara, California 95054-3197
--
-- PROPRIETARY AND CONFIDENTIAL INFORMATION OF RATIONAL;
-- USE OR COPYING WITHOUT EXPRESS WRITTEN AUTHORIZATION
-- IS STRICTLY PROHIBITED. THIS MATERIAL IS PROTECTED AS
-- AN UNPUBLISHED WORK UNDER THE U.S. COPYRIGHT ACT OF
-- 1976. CREATED 1988. ALL RIGHTS RESERVED.
--
--
with System_Types;
with Device_Independent_Io;
package Common_Text_Io is
-- The specification of the package Text_Io is given by the Ada LRM.
-- This package is used to implement Text_Io. The miscellaneous types
-- defined here are equivalent to the types from Text_Io, except for
-- File_Type. File_Type has a visible representation as a rename of
-- Device_Independent_Io.File_Type. Most entries of Text_Io convert
-- the File_Type parameter and call the appropriate entry of this package.
subtype File_Type is Device_Independent_Io.File_Type;
type File_Mode is (In_File, Out_File);
type Count is range 0 .. 1_000_000_000;
subtype Positive_Count is Count range 1 .. Count'Last;
Unbounded : constant Count := 0;
subtype Field is Integer range 0 .. Integer'Last;
subtype Number_Base is Integer range 2 .. 16;
type Type_Set is (Lower_Case, Upper_Case);
-- File Management
procedure Create (File : in out File_Type;
Mode : File_Mode := Out_File;
Name : String := "";
Form : String := "");
procedure Open (File : in out File_Type;
Mode : File_Mode := Out_File;
Name : String;
Form : String := "");
procedure Append
(File : in out File_Type; Name : String; Form : String := "");
-- Open existing file for output, positioned at end of file; not Text_Io
-- Output starting after an Append is on a new line, but on the same page
-- as the previous end of the file
procedure Flush (File : File_Type; Clear_Terminators : Boolean := True);
-- Force any buffer characters out to file
-- Clear_Terminators => the file is about to be closed/reset, so
-- the buffer is completely cleared. False causes a Line_Feed (if any)
-- to be retained
procedure Save (File : File_Type);
-- Save the current contents of the file, but leave it open; calls Flush
-- with Clear_Terminators = False.
procedure Close (File : in out File_Type);
procedure Delete (File : in out File_Type);
procedure Reset (File : in out File_Type; Mode : File_Mode);
procedure Reset (File : in out File_Type);
function Mode (File : File_Type) return File_Mode;
function Name (File : File_Type) return String;
function Form (File : File_Type) return String;
function Is_Open (File : File_Type) return Boolean;
-- Control of default input and output files
procedure Set_Input (File : File_Type);
procedure Set_Output (File : File_Type);
procedure Set_Error (File : File_Type);
function Standard_Input return File_Type;
function Standard_Output return File_Type;
function Standard_Error return File_Type;
function Current_Input return File_Type;
function Current_Output return File_Type;
function Current_Error return File_Type;
-- Specification of line and page lengths
procedure Set_Line_Length (File : File_Type; To : Count);
procedure Set_Line_Length (To : Count);
procedure Set_Page_Length (File : File_Type; To : Count);
procedure Set_Page_Length (To : Count);
function Line_Length (File : File_Type) return Count;
function Line_Length return Count;
function Page_Length (File : File_Type) return Count;
function Page_Length return Count;
-- Column, Line and Page Control
procedure New_Line (File : File_Type; Spacing : Positive_Count := 1);
procedure New_Line (Spacing : Positive_Count := 1);
procedure Skip_Line (File : File_Type; Spacing : Positive_Count := 1);
procedure Skip_Line (Spacing : Positive_Count := 1);
function End_Of_Line (File : File_Type) return Boolean;
function End_Of_Line return Boolean;
procedure New_Page (File : File_Type);
procedure New_Page;
procedure Skip_Page (File : File_Type);
procedure Skip_Page;
function End_Of_Page (File : File_Type) return Boolean;
function End_Of_Page return Boolean;
function End_Of_File (File : File_Type) return Boolean;
function End_Of_File return Boolean;
procedure Set_Col (File : File_Type; To : Positive_Count);
procedure Set_Col (To : Positive_Count);
procedure Set_Line (File : File_Type; To : Positive_Count);
procedure Set_Line (To : Positive_Count);
function Col (File : File_Type) return Positive_Count;
function Col return Positive_Count;
function Line (File : File_Type) return Positive_Count;
function Line return Positive_Count;
function Page (File : File_Type) return Positive_Count;
function Page return Positive_Count;
-- Character Input-Output
procedure Get (File : File_Type; Item : out Character);
procedure Get (Item : out Character);
procedure Put (File : File_Type; Item : Character);
procedure Put (Item : Character);
procedure Get_Any (File : File_Type; Item : out Character);
-- Does not interpret control characters as terminators
-- String Input-Output
procedure Get (File : File_Type; Item : out String);
procedure Get (Item : out String);
procedure Put (File : File_Type; Item : String);
procedure Put (Item : String);
procedure Get_Line
(File : File_Type; Item : out String; Last : out Natural);
procedure Get_Line (Item : out String; Last : out Natural);
function Get_Line (File : File_Type) return String;
function Get_Line return String;
procedure Get (File : File_Type;
Item : out String;
Last : out Natural;
End_Of_Line : out Boolean;
End_Of_Page : out Boolean;
End_Of_File : out Boolean);
-- Get all or part of a line.
-- End_Of_Line iff Item contains the last characters of the line (possibly 0)
-- End_Of_Page iff End_Of_Line and this is the last line of the page
-- End_Of_File iff End_Of_Page and this is the last page of the file
--
-- The intent if for each call to return as many characters from the
-- current line as possible, but Last /= Item'Last doesn't implies End_Of_Line
procedure Put_Line (File : File_Type; Item : String);
procedure Put_Line (Item : String);
-- Integer Input-Output
package Integer_Io is
subtype Long_Integer is System_Types.Long_Integer;
procedure Get (File : in File_Type;
Item : out Long_Integer;
Width : in Field);
procedure Get (From : in String;
Item : out Long_Integer;
Last : out Positive);
procedure Put (File : in File_Type;
Item : in Long_Integer;
Width : in Field;
Base : in Number_Base);
procedure Put (To : out String;
Item : in Long_Integer;
Base : in Number_Base);
private
pragma Suppress (Elaboration_Check, On => Get);
pragma Suppress (Elaboration_Check, On => Put);
end Integer_Io;
-- Generic package for Floating Point Input-Output
generic
type Float is digits <>;
with function Value (S : in String) return Float;
with procedure Image (Item : in Float;
Fore : in Field;
Aft : in Field;
Exp : in Field;
Result_Str : out String;
Result_Last : out Natural);
package Float_Io is
procedure Get (File : in File_Type; Item : out Float; Width : in Field);
procedure Put (File : in File_Type;
Item : in Float;
Fore : in Field;
Aft : in Field;
Exp : in Field);
procedure Get (From : in String; Item : out Float; Last : out Positive);
procedure Put (To : out String;
Item : in Float;
Aft : in Field;
Exp : in Field);
private
pragma Suppress (Elaboration_Check, On => Get);
pragma Suppress (Elaboration_Check, On => Put);
end Float_Io;
-- Generic package for Input-Output of Enumeration Types
generic
type Enum is (<>);
package Enumeration_Io is
Default_Width : Field := 0;
Default_Setting : Type_Set := Upper_Case;
procedure Get (File : File_Type; Item : out Enum);
procedure Get (Item : out Enum);
procedure Put (File : File_Type;
Item : Enum;
Width : Field := Default_Width;
Set : Type_Set := Default_Setting);
procedure Put (Item : Enum;
Width : Field := Default_Width;
Set : Type_Set := Default_Setting);
procedure Get (From : String; Item : out Enum; Last : out Positive);
procedure Put (To : out String;
Item : Enum;
Set : Type_Set := Default_Setting);
private
pragma Suppress (Elaboration_Check, On => Get);
pragma Suppress (Elaboration_Check, On => Put);
end Enumeration_Io;
-- Non-generic package for Input-Output of Enumeration Types
package Enum_Io is
procedure Get (File : in File_Type;
Item : out String;
Item_Length : out Natural);
procedure Get (From : in String;
Item : out String;
Item_Length : out Natural;
Last : out Positive);
procedure Put (File : in File_Type;
Item : in String;
Width : in Field;
Set : in Type_Set);
procedure Put (To : out String; Item : in String; Set : in Type_Set);
private
pragma Suppress (Elaboration_Check, On => Get);
pragma Suppress (Elaboration_Check, On => Put);
end Enum_Io;
private
pragma Suppress (Elaboration_Check, On => Create);
pragma Suppress (Elaboration_Check, On => Open);
pragma Suppress (Elaboration_Check, On => Append);
pragma Suppress (Elaboration_Check, On => Flush);
pragma Suppress (Elaboration_Check, On => Save);
pragma Suppress (Elaboration_Check, On => Close);
pragma Suppress (Elaboration_Check, On => Delete);
pragma Suppress (Elaboration_Check, On => Reset);
pragma Suppress (Elaboration_Check, On => Mode);
pragma Suppress (Elaboration_Check, On => Name);
pragma Suppress (Elaboration_Check, On => Form);
pragma Suppress (Elaboration_Check, On => Is_Open);
pragma Suppress (Elaboration_Check, On => Set_Input);
pragma Suppress (Elaboration_Check, On => Set_Output);
pragma Suppress (Elaboration_Check, On => Set_Error);
pragma Suppress (Elaboration_Check, On => Standard_Input);
pragma Suppress (Elaboration_Check, On => Standard_Output);
pragma Suppress (Elaboration_Check, On => Standard_Error);
pragma Suppress (Elaboration_Check, On => Current_Input);
pragma Suppress (Elaboration_Check, On => Current_Output);
pragma Suppress (Elaboration_Check, On => Current_Error);
pragma Suppress (Elaboration_Check, On => Set_Line_Length);
pragma Suppress (Elaboration_Check, On => Set_Page_Length);
pragma Suppress (Elaboration_Check, On => Line_Length);
pragma Suppress (Elaboration_Check, On => Page_Length);
pragma Suppress (Elaboration_Check, On => New_Line);
pragma Suppress (Elaboration_Check, On => Skip_Line);
pragma Suppress (Elaboration_Check, On => End_Of_Line);
pragma Suppress (Elaboration_Check, On => New_Page);
pragma Suppress (Elaboration_Check, On => Skip_Page);
pragma Suppress (Elaboration_Check, On => End_Of_Page);
pragma Suppress (Elaboration_Check, On => End_Of_File);
pragma Suppress (Elaboration_Check, On => Set_Col);
pragma Suppress (Elaboration_Check, On => Set_Line);
pragma Suppress (Elaboration_Check, On => Col);
pragma Suppress (Elaboration_Check, On => Line);
pragma Suppress (Elaboration_Check, On => Page);
pragma Suppress (Elaboration_Check, On => Get);
pragma Suppress (Elaboration_Check, On => Put);
pragma Suppress (Elaboration_Check, On => Get_Any);
pragma Suppress (Elaboration_Check, On => Get_Line);
pragma Suppress (Elaboration_Check, On => Put_Line);
end Common_Text_Io;