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

⟦30b23e712⟧ Ada Source

    Length: 8192 (0x2000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Fruit_Frames_4, seg_04bdd4

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 Fruit_Frames_4 is




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

        -- ........................................................................
        function Markers_Image (For_Slot : Marker_Slots; Value : Slot.Object)
                               return String is
            use Marker_Name_Facilities;
        begin
            return Marker_Names'Image (Get (Value));  
        end Markers_Image;


        function Visual_Blocks_Image
                    (For_Slot : Visual_Block_Slots; Value : Slot.Object)
                    return String is
        begin
            case For_Slot is
                when Label =>
                    return Character'Image (Get (Value));
                when Position_X =>
                    return Integer'Image (Get (Value));
                when Position_Y =>
                    return Integer'Image (Get (Value));
            end case;
        end Visual_Blocks_Image;


        function Requests_Image (For_Slot : Request_Slots; Value : Slot.Object)
                                return String is
            use Request_Name_Facilities;  
            use Marker_Name_Facilities;
        begin
            case For_Slot is
                when Request_Name =>
                    return Request_Names'Image (Get (Value));
                when Marker_Name =>
                    return Marker_Names'Image (Get (Value));
                when others =>
                    return "SOMETHING";
            end case;
        end Requests_Image;


        function Answers_Image (For_Slot : Answer_Slots; Value : Slot.Object)
                               return String is
            use Answer_Name_Facilities;
            use Request_Name_Facilities;
        begin
            case For_Slot is
                when Request_Name =>
                    return Request_Names'Image (Get (Value));
                when Answer =>
                    return Answer_Names'Image (Get (Value));
            end case;
        end Answers_Image;


        function Visual_Markers_Image
                    (For_Slot : Visual_Marker_Slots; Value : Slot.Object)
                    return String is
            use Marker_Name_Facilities;
        begin
            case For_Slot is
                when Marker_Name =>
                    return Marker_Names'Image (Get (Value));
                when Position_X =>
                    return Integer'Image (Get (Value));
                when Position_Y =>
                    return Integer'Image (Get (Value));
            end case;
        end Visual_Markers_Image;


        function Labels_Image (For_Slot : Label_Slots; Value : Slot.Object)
                              return String is
            use Marker_Name_Facilities;
        begin
            case For_Slot is
                when Label =>  
                    return "coucou";
                    if Value /= Null_Object then
                        return Get (Value);
                    else
                        return "null_object";
                    end if;
                when Marker_Name =>
                    return Marker_Names'Image (Get (Value));
            end case;
        end Labels_Image;


        -- ....................................................................
        procedure Put_Markers is new Markers.Generic_Put
                                        (Image => Markers_Image);
        procedure Put_Visual_Blocks is new Visual_Blocks.Generic_Put
                                              (Image => Visual_Blocks_Image);
        procedure Put_Requests is new Requests.Generic_Put
                                         (Image => Requests_Image);  
        procedure Put_Answers is new Answers.Generic_Put
                                        (Image => Answers_Image);
        procedure Put_Visual_Markers is new Visual_Markers.Generic_Put
                                               (Image => Visual_Markers_Image);
        procedure Put_Labels is new Labels.Generic_Put (Image => Labels_Image);
        -- ....................................................................


    begin  
        case Fact_Base.Class.Class_Name_Of (The_Fact) is
            when Marker =>
                Put_Markers (The_Fact, Where);
            when Visual_Block =>
                Put_Visual_Blocks (The_Fact, Where);
            when Request =>
                Put_Requests (The_Fact, Where);
            when Answer =>
                Put_Answers (The_Fact, Where);
            when Visual_Marker =>
                Put_Visual_Markers (The_Fact, Where);
            when Label =>
                Put_Labels (The_Fact, Where);
            when Nothing =>
                null;
        end case;
    end Put;

end Fruit_Frames_4;

E3 Meta Data

    nblk1=7
    nid=0
    hdr6=e
        [0x00] rec0=1e rec1=00 rec2=01 rec3=024
        [0x01] rec0=00 rec1=00 rec2=07 rec3=01c
        [0x02] rec0=1c rec1=00 rec2=03 rec3=00e
        [0x03] rec0=1c rec1=00 rec2=04 rec3=018
        [0x04] rec0=11 rec1=00 rec2=05 rec3=006
        [0x05] rec0=15 rec1=00 rec2=06 rec3=00a
        [0x06] rec0=08 rec1=00 rec2=02 rec3=001
    tail 0x217513adc868f72918313 0x42a00088462063c03