DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦f01b4c496⟧ TextFile

    Length: 1809 (0x711)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦e24fb53b7⟧ 
            └─⟦this⟧ 

TextFile

with Alias;  
with M_Frames;  
with Output_Stream;
with Slot;

package body M_Rule_Bundle is

    use M_Kbs;
    use M_Kbs.Kbs;

    type Rule_Names is (Change_Three_Notes, Change_Two_Notes, No_More);

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

    package Change_Three_Notes_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Change_Three_Notes_Rule;
    package body Change_Three_Notes_Rule is separate;


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

    package Change_Two_Notes_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (Objects : Fact_Collection);
    end Change_Two_Notes_Rule;
    package body Change_Two_Notes_Rule is separate;


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


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

                                   Rule_1 => Change_Three_Notes,
                                   Premiss_1 => Change_Three_Notes_Rule.Premiss,
                                   Action_1 => Change_Three_Notes_Rule.Action,

                                   Rule_2 => Change_Two_Notes,
                                   Premiss_2 => Change_Two_Notes_Rule.Premiss,
                                   Action_2 => Change_Two_Notes_Rule.Action);

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