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

⟦4e5627d28⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Find_Rectangle_Rule, seg_03b914, separate R_Rule_Bundle

Derivation

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

E3 Source Code



with Text_Io;
separate (R_Rule_Bundle)
package body Find_Rectangle_Rule is

    use Alias;
    use R_Frames;
    use Slot;
    use R_Kbs.Kbs.Predicate;
    use R_Kbs.Kbs.Predicate.System_Defined_Predicate;
    use R_Kbs.Kbs.Fact_Base;
    use R_Kbs.Kbs.Fact_Base.Query.Operators;
    use R_Kbs.Kbs.Expression.System_Defined_Expression;

    function Premiss return Fact_Queries is

    begin

        return (1 => Windows.Exist
                        ((Bounds =>  
                             Rectangles.Such_As
                                ((Top_Left     =>
                                     Points.Such_As ((X => Is_Equal (10),  
                                                      Y => Is_Equal (20)))  
                                      and Define_As (T),
                                  Bottom_Right => Is_Equal (T))),
                          Title  => Is_Any)));

    end Premiss;


    procedure Action (Objects : Fact_Collection) is
        The_Window : Fact_Name renames Objects (1);
        use Output_Stream;  
        The_Rectangle : Slot.Object;  
    begin  
        Class.Default_Put
           (Windows.Get (The_Fact => The_Window, The_Slot => Bounds),
            Standard_Output);
        Put_Line ("------- Found the window:", Standard_Output);
        Class.Default_Put (The_Window, Standard_Output);
        Put_Line ("------- Deleting the window:", Standard_Output);
        Windows.Delete (The_Window);
    end Action;
end Find_Rectangle_Rule;

E3 Meta Data

    nblk1=5
    nid=2
    hdr6=4
        [0x00] rec0=20 rec1=00 rec2=01 rec3=05e
        [0x01] rec0=0e rec1=00 rec2=03 rec3=000
        [0x02] rec0=12 rec1=00 rec2=03 rec3=090
        [0x03] rec0=0b rec1=00 rec2=02 rec3=000
        [0x04] rec0=09 rec1=00 rec2=05 rec3=000
    tail 0x21738c95285263e97b0b8 0x42a00088462063c03
Free Block Chain:
  0x2: 0000  00 04 03 fc 80 02 29 3b 02 00 18 20 20 20 20 20  ┆      );        ┆
  0x4: 0000  00 05 00 4c 80 04 28 33 29 3b 04 00 42 20 20 20  ┆   L  (3);  B   ┆
  0x5: 0000  00 00 02 24 80 45 20 20 20 54 68 65 5f 42 6f 74  ┆   $ E   The_Bot┆