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

⟦a6d1cff40⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Bbr_Frames, seg_02d0c7, seg_02d101, seg_0399c6, seg_03b8e5, seg_03c031, seg_03c462, seg_03c609, seg_03c93e, seg_04a905, seg_04b375

Derivation

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

E3 Source Code



package body Bbr_Frames is


    function Colours_Image (Value : Slot.Object) return String is
    begin
        return Colours'Image (Colours_Facilities.Get (Value));
    end Colours_Image;


    function States_Image (Value : Slot.Object) return String is
    begin
        return States'Image (States_Facilities.Get (Value));
    end States_Image;


    function Places_Image (Value : Slot.Object) return String is
    begin
        return Places'Image (Places_Facilities.Get (Value));
    end Places_Image;


    function Box_Attribute_Image
                (For_Slot : Box_Slots; Value : Slot.Object) return String is
    begin
        case For_Slot is
            when Colour =>
                return Colours_Image (Value);
            when Size =>
                return Integer'Image (Slot.Get (Value));
            when State =>
                return States_Image (Value);
        end case;
    end Box_Attribute_Image;


    function Ball_Attribute_Image
                (For_Slot : Ball_Slots; Value : Slot.Object) return String is
    begin
        case For_Slot is
            when Colour =>
                return Colours_Image (Value);
            when Size =>
                return Integer'Image (Slot.Get (Value));
            when Place =>
                return Places_Image (Value);
        end case;
    end Ball_Attribute_Image;


    function Robot_Attribute_Image
                (For_Slot : Robot_Slots; Value : Slot.Object) return String is
    begin
        case For_Slot is
            when Colour =>
                return Colours_Image (Value);
            when State =>
                return States_Image (Value);
            when Identity =>
                return Slot.Get (Value);
        end case;
    end Robot_Attribute_Image;


    procedure Put_Box is new Boxes.Generic_Put (Image => Box_Attribute_Image);
    procedure Put_Ball is new Balls.Generic_Put (Image => Ball_Attribute_Image);
    procedure Put_Robot is new Robots.Generic_Put
                                  (Image => Robot_Attribute_Image);

    procedure Put (The_Fact : Fact_Name; Where : Output_Stream.Object) is
    begin
        case Fact_Base.Class.Class_Name_Of (The_Fact) is
            when Box =>
                Put_Box (The_Fact, Where);
            when Ball =>
                Put_Ball (The_Fact, Where);
            when Robot =>
                Put_Robot (The_Fact, Where);
            when Nothing =>
                null;
        end case;
    end Put;
end Bbr_Frames;

E3 Meta Data

    nblk1=4
    nid=2
    hdr6=6
        [0x00] rec0=25 rec1=00 rec2=01 rec3=016
        [0x01] rec0=1d rec1=00 rec2=04 rec3=06c
        [0x02] rec0=12 rec1=00 rec2=03 rec3=000
        [0x03] rec0=02 rec1=4c rec2=9b rec3=642
    tail 0x21526129484154aeaff57 0x42a00088462063c03
Free Block Chain:
  0x2: 0000  00 00 01 26 80 21 20 20 20 20 20 20 20 50 75 74  ┆   & !       Put┆