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

⟦824f34755⟧ Ada Source

    Length: 13312 (0x3400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Find_Action_Rule, package body Fruit_Display_Visual_Rule_Bundle_5, package body Get_Label_Action_If_No_Label_Found_Rule, package body Get_Label_Action_Rule, package body Is_Same_Action_Rule, package body Make_Coincided_Action_Rule, package body Move_Action_Rule, package body Put_Block_Action_Rule, package body Search_Free_Action_Rule, package body Search_Free_On_Table_Action_Rule, seg_04bfec

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 Alias;
with Output_Stream;
with Fruit_Frames_5;


package body Fruit_Display_Visual_Rule_Bundle_5 is

    use Kbs;
    use Kbs.Fact_Base.Predicate;
    use Kbs.Fact_Base.Predicate.System_Defined_Predicate;


    type Rule_Names is (  
                        Move_Action, Make_Coincided_Action, Get_Label_Action,
                        Find_Action, Is_Same_Action, Put_Block_Action,
                        Search_Free_Action, Search_Free_On_Table_Action,
                        Get_Label_Action_If_No_Label_Found, No_More);

    ------------------------------------------------------------------------

    package Move_Action_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Move_Action_Rule;

    package body Move_Action_Rule is separate;

    ------------------------------------------------------------------------

    package Make_Coincided_Action_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Make_Coincided_Action_Rule;

    package body Make_Coincided_Action_Rule is separate;

    ------------------------------------------------------------------------

    package Get_Label_Action_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Get_Label_Action_Rule;

    package body Get_Label_Action_Rule is separate;

    ------------------------------------------------------------------------

    package Get_Label_Action_If_No_Label_Found_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Get_Label_Action_If_No_Label_Found_Rule;

    package body Get_Label_Action_If_No_Label_Found_Rule is separate;

    ------------------------------------------------------------------------

    package Find_Action_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Find_Action_Rule;

    package body Find_Action_Rule is separate;

    ------------------------------------------------------------------------

    package Is_Same_Action_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Is_Same_Action_Rule;

    package body Is_Same_Action_Rule is separate;

    ------------------------------------------------------------------------

    package Put_Block_Action_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Put_Block_Action_Rule;

    package body Put_Block_Action_Rule is separate;

    ------------------------------------------------------------------------

    package Search_Free_Action_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Search_Free_Action_Rule;

    package body Search_Free_Action_Rule is separate;

    ------------------------------------------------------------------------

    package Search_Free_On_Table_Action_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Search_Free_On_Table_Action_Rule;

    package body Search_Free_On_Table_Action_Rule is separate;

    ------------------------------------------------------------------------

    package Rule_Bundle is
       new Rule_Base.Generic_Rule_Bundle
              (The_Bundle => Fruit_Kbs_5.Fruit_Visual_Rule_Bundle,
               Rule_Names => Rule_Names,
               Nothing    => Rule_Names'Last,

               Rule_1     => Move_Action,
               Premiss_1  => Move_Action_Rule.Premiss,
               Action_1   => Move_Action_Rule.Action,

               Rule_2     => Make_Coincided_Action,
               Premiss_2  => Make_Coincided_Action_Rule.Premiss,
               Action_2   => Make_Coincided_Action_Rule.Action,

               Rule_3     => Get_Label_Action,
               Premiss_3  => Get_Label_Action_Rule.Premiss,
               Action_3   => Get_Label_Action_Rule.Action,

               Rule_4     => Find_Action,
               Premiss_4  => Find_Action_Rule.Premiss,
               Action_4   => Find_Action_Rule.Action,

               Rule_5     => Is_Same_Action,
               Premiss_5  => Is_Same_Action_Rule.Premiss,
               Action_5   => Is_Same_Action_Rule.Action,

               Rule_6     => Put_Block_Action,
               Premiss_6  => Put_Block_Action_Rule.Premiss,
               Action_6   => Put_Block_Action_Rule.Action,

               Rule_7     => Search_Free_Action,
               Premiss_7  => Search_Free_Action_Rule.Premiss,
               Action_7   => Search_Free_Action_Rule.Action,

               Rule_8     => Search_Free_On_Table_Action,
               Premiss_8  => Search_Free_On_Table_Action_Rule.Premiss,
               Action_8   => Search_Free_On_Table_Action_Rule.Action,

               Rule_9     => Get_Label_Action_If_No_Label_Found,
               Premiss_9  => Get_Label_Action_If_No_Label_Found_Rule.Premiss,
               Action_9   => Get_Label_Action_If_No_Label_Found_Rule.Action  
               );


    procedure Do_Action (For_Rule : Rule_Id; On_Facts : Fact_Collection) is
    begin
        Rule_Bundle.Do_Action (For_Rule, On_Facts);
    end Do_Action;


end Fruit_Display_Visual_Rule_Bundle_5;

E3 Meta Data

    nblk1=c
    nid=b
    hdr6=e
        [0x00] rec0=21 rec1=00 rec2=01 rec3=004
        [0x01] rec0=1b rec1=00 rec2=0c rec3=006
        [0x02] rec0=0d rec1=00 rec2=06 rec3=048
        [0x03] rec0=1d rec1=00 rec2=08 rec3=004
        [0x04] rec0=18 rec1=00 rec2=05 rec3=022
        [0x05] rec0=16 rec1=00 rec2=07 rec3=060
        [0x06] rec0=07 rec1=00 rec2=0a rec3=000
        [0x07] rec0=c8 rec1=69 rec2=25 rec3=653
        [0x08] rec0=99 rec1=23 rec2=00 rec3=006
        [0x09] rec0=d9 rec1=0d rec2=24 rec3=5ca
        [0x0a] rec0=72 rec1=92 rec2=60 rec3=000
        [0x0b] rec0=db rec1=00 rec2=00 rec3=000
    tail 0x21751dab4869335038a27 0x42a00088462063c03
Free Block Chain:
  0xb: 0000  00 09 01 9f 80 20 69 6f 6e 20 28 4f 62 6a 65 63  ┆      ion (Objec┆
  0x9: 0000  00 04 03 fc 80 08 72 63 68 5f 54 6f 70 2c 08 00  ┆      rch_Top,  ┆
  0x4: 0000  00 03 00 d8 80 3c 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ┆     <----------┆
  0x3: 0000  00 02 01 19 80 10 75 6c 65 20 69 73 20 73 65 70  ┆      ule is sep┆
  0x2: 0000  00 00 00 c2 80 10 75 6c 65 20 69 73 20 73 65 70  ┆      ule is sep┆