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

⟦bc6d40100⟧ Ada Source

    Length: 7168 (0x1c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Generic_Rule_Base, seg_02acf2

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 Fact;
with Null_Action;
with Output_Stream;
use Fact;
generic
    type Rule_Bundles is (<>);
    Max_Rules                      : in Positive := 50;  
    Max_Condition_Elements_By_Rule : in Positive := 10;
    Max_Condition_Elements         : in Positive := 200;
package Generic_Rule_Base is

    subtype Rule_Id is Natural;
    No_Rule : constant Rule_Id := 0;

    function  Count             return Natural;
    procedure Put (R : Rule_Id; Where : Output_Stream.Object);
    function  Get (R : Rule_Id) return Rule_Bundles;
    function  Firable_On_Facts  return Fact.Collection;
    function  Firable_On_Rule   return Rule_Id;

    Illegal_Bundle  : exception;
    Illegal_Rule_Id : exception;
    Overflow        : exception;

    generic
        The_Bundle : Rule_Bundles;

        type Rule_Names is (<>);

        Nothing : Rule_Names := Rule_Names'Last;
        Rule_1    : Rule_Names := Nothing;
        Name_1    : String     := Rule_Names'Image (Rule_1);
        Premiss_1 : Queries    := Null_Premiss;
        with procedure Action_1 (On : Fact.Collection) is Null_Action;

        Rule_2    : Rule_Names := Nothing;
        Name_2    : String     := Rule_Names'Image (Rule_2);
        Premiss_2 : Queries    := Null_Premiss;
        with procedure Action_2 (On : Fact.Collection) is Null_Action;

        Rule_3    : Rule_Names := Nothing;
        Name_3    : String     := Rule_Names'Image (Rule_3);
        Premiss_3 : Queries    := Null_Premiss;
        with procedure Action_3 (On : Fact.Collection) is Null_Action;

        Rule_4    : Rule_Names := Nothing;
        Name_4    : String     := Rule_Names'Image (Rule_4);
        Premiss_4 : Queries    := Null_Premiss;
        with procedure Action_4 (On : Fact.Collection) is Null_Action;

        Rule_5    : Rule_Names := Nothing;
        Name_5    : String     := Rule_Names'Image (Rule_5);
        Premiss_5 : Queries    := Null_Premiss;
        with procedure Action_5 (On : Fact.Collection) is Null_Action;

    package Generic_Rule_Bundle is
        procedure Do_Action (For_Rule : Rule_Id; On_Facts : Fact.Collection);
    end Generic_Rule_Bundle;
end Generic_Rule_Base;

E3 Meta Data

    nblk1=6
    nid=6
    hdr6=6
        [0x00] rec0=20 rec1=00 rec2=01 rec3=000
        [0x01] rec0=16 rec1=00 rec2=03 rec3=048
        [0x02] rec0=08 rec1=00 rec2=02 rec3=000
        [0x03] rec0=01 rec1=00 rec2=02 rec3=000
        [0x04] rec0=16 rec1=00 rec2=02 rec3=02c
        [0x05] rec0=01 rec1=00 rec2=04 rec3=001
    tail 0x21723eb1883e56f89bdb9 0x42a00088462063c03
Free Block Chain:
  0x6: 0000  00 05 00 1b 00 18 20 20 20 20 20 20 20 20 77 69  ┆              wi┆
  0x5: 0000  00 04 00 24 80 0a 6c 6c 5f 41 63 74 69 6f 6e 3b  ┆   $  ll_Action;┆
  0x4: 0000  00 00 00 03 00 00 00 20 20 20 52 75 6c 65 5f 32  ┆          Rule_2┆