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

⟦065c7ba4a⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Fruit_Working_Memory_4, seg_04bdf9

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 Slot;
with Output_Stream;

use Slot;


package body Fruit_Working_Memory_4 is
    use Kbs;
    use Fruit_Frames_4;


    procedure Default_Put is  
        use Output_Stream;
        use Fact_Base;
    begin
        Working_Memory.Default_Put (Standard_Output);
    end Default_Put;


    procedure Load_Initial is  
        use Slot.Operators;

        procedure Load_Blocks is
        begin  
            Visual_Blocks.Add ((Label      => Value ('Z'),
                                Position_X => Min_X + Value (1),
                                Position_Y => Min_Y));
            Visual_Blocks.Add ((Label      => Value ('U'),
                                Position_X => Min_X + Value (3),
                                Position_Y => Min_Y + Value (1)));
            Visual_Blocks.Add ((Label      => Value ('T'),
                                Position_X => Min_X + Value (2),
                                Position_Y => Min_Y + Value (1)));
        end Load_Blocks;

        procedure Load_Model is
        begin  
            Visual_Blocks.Add ((Label      => Value ('Z'),
                                Position_X => Max_X,
                                Position_Y => Min_Y + Value (2)));
            Visual_Blocks.Add ((Label      => Value ('U'),
                                Position_X => Max_X,
                                Position_Y => Min_Y + Value (1)));
            Visual_Blocks.Add ((Label      => Value ('T'),
                                Position_X => Max_X,
                                Position_Y => Min_Y));  
        end Load_Model;

        procedure Load_Visual_Markers is
        begin
            Visual_Markers.Add ((Marker_Name => Model_Marker_Name,
                                 Position_X  => Min_X,
                                 Position_Y  => Max_Y));
            Visual_Markers.Add ((Marker_Name =>
                                    New_Top_Copied_Model_Marker_Name,
                                 Position_X  => Min_X,
                                 Position_Y  => Max_Y));
            Visual_Markers.Add ((Marker_Name => On_Table_Marker_Name,
                                 Position_X  => Min_X,
                                 Position_Y  => Max_Y));
            Visual_Markers.Add ((Marker_Name => Selected_Block_Marker_Name,
                                 Position_X  => Min_X,
                                 Position_Y  => Max_Y));
            Visual_Markers.Add ((Marker_Name => Top_Block_Marker_Name,
                                 Position_X  => Min_X,
                                 Position_Y  => Max_Y));
            Visual_Markers.Add ((Marker_Name => Top_Copied_Model_Marker_Name,
                                 Position_X  => Min_X,
                                 Position_Y  => Max_Y));
            Visual_Markers.Add ((Marker_Name => Search_Top_Block_Marker_Name,
                                 Position_X  => Min_X,
                                 Position_Y  => Max_Y));
        end Load_Visual_Markers;

        procedure Put_Model_Marker_On_Bottom_Right is
        begin  
            Requests.Add ((Request_Name => Move_Request_Name,
                           Marker_Name  => Model_Marker_Name,
                           Argument1    => Down_Direction,
                           Argument2    => Max_Y));
            Requests.Add ((Request_Name => Move_Request_Name,
                           Marker_Name  => Model_Marker_Name,
                           Argument1    => Right_Direction,
                           Argument2    => Max_X));  
            Markers.Add ((Marker_Name => Model_Marker_Name));
        end Put_Model_Marker_On_Bottom_Right;

        procedure Put_New_Copied_Model_Marker_On_Bottom_Right is
        begin  
            Requests.Add ((Request_Name => Move_Request_Name,
                           Marker_Name  => New_Top_Copied_Model_Marker_Name,
                           Argument1    => Down_Direction,
                           Argument2    => Max_Y));
            Requests.Add ((Request_Name => Move_Request_Name,
                           Marker_Name  => New_Top_Copied_Model_Marker_Name,
                           Argument1    => Left_Direction,
                           Argument2    => Max_X));
            Markers.Add ((Marker_Name => New_Top_Copied_Model_Marker_Name));
        end Put_New_Copied_Model_Marker_On_Bottom_Right;
    begin
        Load_Blocks;
        Load_Model;  
        Load_Visual_Markers;
        Put_Model_Marker_On_Bottom_Right;
        Put_New_Copied_Model_Marker_On_Bottom_Right;
    end Load_Initial;


end Fruit_Working_Memory_4;

E3 Meta Data

    nblk1=6
    nid=0
    hdr6=c
        [0x00] rec0=22 rec1=00 rec2=01 rec3=070
        [0x01] rec0=16 rec1=00 rec2=06 rec3=06c
        [0x02] rec0=09 rec1=00 rec2=05 rec3=004
        [0x03] rec0=12 rec1=00 rec2=02 rec3=026
        [0x04] rec0=12 rec1=00 rec2=04 rec3=000
        [0x05] rec0=0b rec1=00 rec2=03 rec3=000
    tail 0x21751498886903c1bf5bb 0x42a00088462063c03