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 - metrics - download
Index: T V

⟦c5313d17f⟧ TextFile

    Length: 2664 (0xa68)
    Types: TextFile
    Names: »V«

Derivation

└─⟦180fe333a⟧ Bits:30000405 8mm tape, Rational 1000, SW CATALOG, 10_20_0
└─⟦180fe333a⟧ Bits:30000537 8mm tape, Rational 1000, SW Catalog 10_20_0
    └─⟦5cb1d1d7f⟧ »DATA« 
        └─⟦3b1ee7bd8⟧ 
            └─⟦this⟧ 

TextFile

with Queue_Generic;
with Unbounded_String;
with Lines;
with Ada_Program;
package Representation_Elements is

    subtype Record_Type_Definition is Ada_Program.Element;
    subtype Long_Natural           is Long_Integer range 0 .. Long_Integer'Last;

    type Record_Kind          is private;
    type Record_Kind_List     is private;
    type Record_Kind_Iterator is private;

    function Make (Record_Type : Record_Type_Definition)
                  return Record_Kind_List;

    procedure Init  (Iter : out Record_Kind_Iterator; L : Record_Kind_List);
    procedure Next  (Iter : in out Record_Kind_Iterator);
    function  Value (Iter : Record_Kind_Iterator) return Record_Kind;
    function  Done  (Iter : Record_Kind_Iterator) return Boolean;

    function Name            (E : Record_Kind) return String;
    function Size            (E : Record_Kind) return Long_Natural;
    function Component_Image (E : Record_Kind) return String;
-----


    type Record_Rep is private;
    type Data       is array (Positive range <>) of Record_Rep;

    subtype Representation_Clause is Ada_Program.Element;

    function  Make            (Rep_Element : Representation_Clause) return Data;
    procedure Add_Error       (E : in out Record_Rep; Error : String);
    function  Name            (E : Record_Rep) return String;
    function  Size            (E : Record_Rep) return Long_Natural;
    function  Word_Position   (E : Record_Rep) return Long_Natural;
    function  Start_Bit       (E : Record_Rep) return Long_Natural;
    function  End_Bit         (E : Record_Rep) return Long_Natural;
    function  Component_Image (E : Record_Rep) return String;
    function  Index           (E : Record_Rep) return Positive;
    function  Errors          (E : Record_Rep) return Lines.Lines_Type;
-----

private
    package Ubs is new Unbounded_String;

    type Record_Kind is
        record
            Name  : Ubs.Variable_String;
            Size  : Long_Natural;
            Image : Ubs.Variable_String;
        end record;

    type Record_Rep is
        record
            Name              : Ubs.Variable_String;
            Word_Pos          : Long_Natural;
            Range_Start       : Long_Natural;
            Range_End         : Long_Natural;
            Size              : Long_Natural;  
            Image             : Ubs.Variable_String;
            Index             : Positive;
            Associated_Errors : Lines.Lines_Type;
        end record;

    package Rec_List is new Queue_Generic (Record_Kind);

    type Record_Kind_List     is new Rec_List.Queue;
    type Record_Kind_Iterator is access Rec_List.Iterator;
end Representation_Elements;