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

⟦5ad1c2dae⟧ Ada Source

    Length: 3072 (0xc00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Field, seg_04129a

Derivation

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

E3 Source Code



with Identifier, [expression];
package Field is

    package Visible is
        type Field_Kind is (Number, Sentence, Enumerate, Unknown);
        type String_Kind is (Name, Kind, Value);
    end Visible;

    use Visible;

    type Object (Kind : Field_Kind := Unknown) is private;

    procedure Put (Item : in out Object;
                   The_Kind : in String_Kind;
                   The_String : in String;
                   Ok : out Boolean);
    procedure Image (Item : in Object);
    function Name (Item : in Object) return String;
    function Kind (Item : in Object) return Field_Kind;
    function Value (Item : in Object) return Integer;
    function Value (Item : in Object) return String;
    function Enumeration (Item : in Object) return Natural;
    function Literal (Item : in Object) return Natural;

    Null_Object : constant Object;

private
    type P_String is access String;

    type Object (Kind : Field_Kind := Unknown) is
        record  
            case Kind is
                when Number =>
                    Number_Name : Identifier.Object := Identifier.Null_Object;
                    Number_Value : Integer := 0;
                when Sentence =>  
                    Sentence_Name : Identifier.Object := Identifier.Null_Object;
                    Sentence_Value : Identifier.Object :=
                       Identifier.Null_Object;
                when Enumerate =>
                    Enumerate_Name : Identifier.Object :=
                       Identifier.Null_Object;
                    Enumeration : Natural := 0;
                    Literal : Natural := 0;
                when Unknown =>
                    null;
            end case;
        end record;

    Null_Object : constant Object := (Kind => Unknown);
end Field;


E3 Meta Data

    nblk1=2
    nid=0
    hdr6=4
        [0x00] rec0=1f rec1=00 rec2=01 rec3=05a
        [0x01] rec0=18 rec1=00 rec2=02 rec3=001
    tail 0x2174170d486136d1cdfb8 0x42a00088462060003