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 - downloadIndex: ┃ B T ┃
Length: 2861 (0xb2d) Types: TextFile Names: »B«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧
package body Tiny_File is Current_Char : Character; Look_Ahead : Boolean := False; procedure Open (The_File : in out Text_Io.File_Type; With_Name : String; Input_Mode : Boolean := True) is begin if Input_Mode then Text_Io.Open (The_File, Text_Io.In_File, With_Name); else Text_Io.Open (The_File, Text_Io.Out_File, With_Name); end if; Look_Ahead := False; end Open; procedure Create (The_File : in out Text_Io.File_Type; With_Name : String; Output_Mode : Boolean := True) is begin if Output_Mode then Text_Io.Create (The_File, Text_Io.Out_File, With_Name); else Text_Io.Create (The_File, Text_Io.In_File, With_Name); end if; end Create; function Get (The_File : Text_Io.File_Type) return Character is begin if Look_Ahead then Look_Ahead := False; else if At_End (The_File) then Current_Char := Ascii.Eot; else if Text_Io.End_Of_Line (The_File) then Text_Io.Skip_Line (The_File); Current_Char := Ascii.Cr; else Text_Io.Get (The_File, Current_Char); end if; end if; end if; return Current_Char; end Get; procedure Unget (The_File : Text_Io.File_Type) is begin Look_Ahead := True; end Unget; procedure Put (The_File : Text_Io.File_Type; The_Char : Character) is begin Text_Io.Put (The_File, The_Char); end Put; procedure Put (The_File : Text_Io.File_Type; The_String : String) is begin Text_Io.Put (The_File, The_String); end Put; procedure Put_Line (The_File : Text_Io.File_Type; The_String : String) is begin Text_Io.Put_Line (The_File, The_String); end Put_Line; procedure Set_Col (The_File : Text_Io.File_Type; To : Natural) is begin Text_Io.Set_Col (The_File, Text_Io.Positive_Count (To)); end Set_Col; procedure Set_Line (The_File : Text_Io.File_Type; To : Natural) is begin Text_Io.Set_Line (The_File, Text_Io.Positive_Count (To)); end Set_Line; procedure New_Line (The_File : Text_Io.File_Type; Spacing : Natural := 1) is begin Text_Io.New_Line (The_File, Text_Io.Positive_Count (Spacing)); end New_Line; function At_End (The_File : Text_Io.File_Type) return Boolean is begin if Look_Ahead then return False; else return Text_Io.End_Of_File (The_File); end if; end At_End; procedure Close (The_File : in out Text_Io.File_Type) is begin Text_Io.Close (The_File); end Close; end Tiny_File;