DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦3a7eb14ae⟧ TextFile

    Length: 1425 (0x591)
    Types: TextFile
    Names: »B«

Derivation

└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

package body File is

    Lookahead : Boolean;
    Current_Char : Character;
    The_File : Text_Io.File_Type;  
    Read : Text_Io.File_Mode := Text_Io.In_File;

    procedure Open (Fichier_Name : String) is
    begin
        Lookahead := False;
        Text_Io.Open
           (File => The_File, Mode => Read, Name => Fichier_Name, Form => "");
    end Open;

    procedure Close is
    begin
        Text_Io.Close (The_File);
    end Close;

    function To_The_Line return Boolean is
    begin
        if (Lookahead) then
            return False;
        else
            return Text_Io.End_Of_Line (The_File);
        end if;
    end To_The_Line;

    function At_End return Boolean is
    begin
        if Lookahead then
            return False;
        else
            return Text_Io.End_Of_File (The_File);
        end if;
    end At_End;

    procedure Next is
    begin
        if (Lookahead) then
            Lookahead := False;
        elsif To_The_Line then
            Current_Char := Ascii.Cr;
            Text_Io.Skip_Line (The_File);
        else
            Text_Io.Get (The_File, Current_Char);
        end if;
    end Next;

    function Value return Character is
    begin
        return Current_Char;
    end Value;

    function Get return Character is
    begin
        Next;
        return Value;
    end Get;

    procedure Unget is
    begin
        Lookahead := True;
    end Unget;

end File;