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

⟦b0cc1a22e⟧ Ada Source

    Length: 12288 (0x3000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Answer_To_Questions_Rule, package body Find_Closest_Inf_Rule, package body Find_Closest_Sup_Rule, package body Fqa_Bundle, seg_03b900

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 Alias;
with Fqa_Kbs;
with Fqa_Frames;
with Output_Stream;
with Slot;
with Calculator;

use Alias;
use Fqa_Kbs;
use Fqa_Frames;
package body Fqa_Bundle is

    use Fqa_Kbs.Kbs;
    use Fqa_Kbs.Kbs.Predicate;
    use Fqa_Kbs.Kbs.Predicate.System_Defined_Predicate;


    type Rule_Names is (Answer_To_Questions, Find_Closest_Inf,
                        Find_Closest_Sup, No_More);

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

    package Answer_To_Questions_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (The_Facts : Fact_Collection);
    end Answer_To_Questions_Rule;


    package body Answer_To_Questions_Rule is separate;


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

    package Find_Closest_Inf_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (The_Facts : Fact_Collection);
    end Find_Closest_Inf_Rule;


    package body Find_Closest_Inf_Rule is separate;


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

    package Find_Closest_Sup_Rule is
        function  Premiss return Fact_Queries;
        procedure Action (The_Facts : Fact_Collection);
    end Find_Closest_Sup_Rule;


    package body Find_Closest_Sup_Rule is separate;



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

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

               Rule_1     => Answer_To_Questions,
               Premiss_1  => Answer_To_Questions_Rule.Premiss,
               Action_1   => Answer_To_Questions_Rule.Action,

               Rule_2     => Find_Closest_Inf,
               Premiss_2  => Find_Closest_Inf_Rule.Premiss,
               Action_2   => Find_Closest_Inf_Rule.Action,

               Rule_3     => Find_Closest_Sup,
               Premiss_3  => Find_Closest_Sup_Rule.Premiss,
               Action_3   => Find_Closest_Sup_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 Fqa_Bundle;

E3 Meta Data

    nblk1=b
    nid=9
    hdr6=6
        [0x00] rec0=26 rec1=00 rec2=01 rec3=024
        [0x01] rec0=20 rec1=00 rec2=03 rec3=00c
        [0x02] rec0=0d rec1=00 rec2=04 rec3=000
        [0x03] rec0=06 rec1=00 rec2=09 rec3=010
        [0x04] rec0=1b rec1=00 rec2=04 rec3=004
        [0x05] rec0=04 rec1=00 rec2=07 rec3=000
        [0x06] rec0=1b rec1=00 rec2=04 rec3=004
        [0x07] rec0=04 rec1=00 rec2=07 rec3=000
        [0x08] rec0=04 rec1=00 rec2=07 rec3=000
        [0x09] rec0=04 rec1=00 rec2=07 rec3=001
        [0x0a] rec0=45 rec1=2f rec2=a0 rec3=000
    tail 0x2173768dc84fd6baf84aa 0x42a00088462063c03
Free Block Chain:
  0x9: 0000  00 0a 03 fc 80 2f 20 20 20 20 20 41 6e 73 77 65  ┆     /     Answe┆
  0xa: 0000  00 07 03 fc 00 00 00 00 39 20 20 20 20 20 20 20  ┆        9       ┆
  0x7: 0000  00 08 00 2e 80 10 20 20 65 6e 64 20 44 6f 5f 41  ┆   .    end Do_A┆
  0x8: 0000  00 06 00 39 80 03 29 29 2c 03 00 00 00 00 2d 20  ┆   9  )),     - ┆
  0x6: 0000  00 05 03 fc 80 05 65 29 29 29 3b 05 00 13 20 20  ┆      e)));     ┆
  0x5: 0000  00 0b 03 fc 80 18 74 20 28 54 68 65 5f 41 6e 73  ┆      t (The_Ans┆
  0xb: 0000  00 02 03 fc 80 37 20 20 20 20 20 20 20 20 20 20  ┆     7          ┆
  0x2: 0000  00 00 02 02 80 08 62 6c 65 20 74 68 65 6e 08 00  ┆      ble then  ┆