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

⟦6b0c792c5⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Br_Frames, seg_04a0a1, seg_04a913, seg_04b383

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



package body Br_Frames is


    procedure Put (The_Fact : Br_Kbs.Kbs.Fact_Name;
                   Where    : Output_Stream.Object) is


        -- ......................................................
        function Places_Image (Value : Slot.Object) return String is
            use Slot;  
        begin  
            if Slot.Have_Same_Type (Value, On_Heap_Place) then
                return Places'Image (Places_Facilities.Get (Value));
            else
                return " BOX " & Integer'Image (Slot.Get (Value));  
            end if;
        end Places_Image;

        function Actions_Image (Value : Slot.Object) return String is
        begin
            return Actions'Image (Actions_Facilities.Get (Value));
        end Actions_Image;
        -- ......................................................
        function Brick_Frames_Image
                    (For_Slot : Brick_Slots; Value : Slot.Object)
                    return String is
        begin  
            case For_Slot is
                when Name =>
                    return Slot.Get (Value);
                when Size =>
                    return Integer'Image (Slot.Get (Value));
                when Place =>
                    return Places_Image (Value);
            end case;
        end Brick_Frames_Image;

        function Robot_Frames_Image
                    (For_Slot : Robot_Slots; Value : Slot.Object)
                    return String is
        begin
            case For_Slot is
                when Action =>
                    return Actions_Image (Value);
                when Box =>
                    return Integer'Image (Slot.Get (Value));
            end case;
        end Robot_Frames_Image;
        -- ......................................................
        procedure Put_Brick is new Bricks.Generic_Put
                                      (Image => Brick_Frames_Image);  
        procedure Put_Robot is new Robots.Generic_Put
                                      (Image => Robot_Frames_Image);
        -- ......................................................

    begin
        case Br_Kbs.Kbs.Fact_Base.Class.Class_Name_Of (The_Fact) is
            when Br_Kbs.Brick =>
                Put_Brick (The_Fact, Where);
            when Br_Kbs.Robot =>
                Put_Robot (The_Fact, Where);
            when Br_Kbs.Nothing =>
                null;
        end case;
    end Put;


end Br_Frames;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=1c rec1=00 rec2=01 rec3=004
        [0x01] rec0=05 rec1=00 rec2=04 rec3=06a
        [0x02] rec0=19 rec1=00 rec2=03 rec3=038
        [0x03] rec0=0c rec1=00 rec2=02 rec3=000
    tail 0x2174e87b4866c42687771 0x42a00088462063c03