DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦e0749530a⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Compiler_File, seg_041d5e

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Text_Io;
package body Compiler_File is


    Current_File : Text_Io.File_Type;
    Current_Char : Character;
    Lookahead : Boolean;

    Current_Line_In_File, Current_Position_In_Line : Natural;
    Is_End_Of_Line : Boolean;


    procedure Open (File_Name : String) is
    begin
        Lookahead := False;
        Is_End_Of_Line := False;
        Current_Line_In_File := 1;
        Current_Position_In_Line := 0;
        Text_Io.Open (Current_File, Text_Io.In_File, File_Name);  
    end Open;

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

    procedure Next is
    begin
        if (Lookahead = False) then
            Text_Io.Get (Current_File, Current_Char);
            Is_End_Of_Line := Text_Io.End_Of_Line (Current_File);
            Current_Position_In_Line :=
               Natural (Text_Io.Col (Current_File)) - 1;
            Current_Line_In_File := Natural (Text_Io.Line (Current_File));  
        else
            Lookahead := False;
        end if;

    exception
        when Text_Io.End_Error =>
            raise End_Of_File;

    end Next;

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

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

    function Get_Position_In_Line return Natural is
    begin
        return Current_Position_In_Line;
    end Get_Position_In_Line;

    function Get_Line_In_File return Natural is
    begin
        return Current_Line_In_File;
    end Get_Line_In_File;

    function End_Of_Line return Boolean is
    begin
        return Is_End_Of_Line;
    end End_Of_Line;

end Compiler_File;


E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=23 rec1=00 rec2=01 rec3=090
        [0x01] rec0=26 rec1=00 rec2=02 rec3=001
    tail 0x2153ccb14862856918c6c 0x42a00088462060003