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

⟦e51cf1b16⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Br_Test, seg_04a4ce

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 Br_Kbs;
with Br_Frames;
with Br_Rule_Bundle;
with Recency;
with Slot;
with Output_Stream;
with Text_Io;

procedure Br_Test is

    procedure Load_Initial_Working_Memory is
    begin

        Br_Frames.Robots.Add ((Br_Frames.Action => Br_Frames.Taking_Action,
                               Br_Frames.Box    => Slot.Value (1)));

        for I in reverse 1 .. 30 loop
            Br_Frames.Bricks.Add
               ((Br_Frames.Name  => Slot.Value
                                       ("a_red_brick" & Integer'Image (I)),
                 Br_Frames.Size  => Slot.Value (I),
                 Br_Frames.Place => Br_Frames.On_Heap_Place));
        end loop;

        for I in reverse 1 .. 10 loop
            Br_Frames.Bricks.Add ((Br_Frames.Name  =>
                                      Slot.Value ("a_big_red_brick"),
                                   Br_Frames.Size  => Slot.Value (9 + I),
                                   Br_Frames.Place => Br_Frames.On_Heap_Place));
        end loop;

        Br_Frames.Bricks.Add ((Br_Frames.Name  => Slot.Value ("A_Blue_Brick"),
                               Br_Frames.Size  => Slot.Value (10),
                               Br_Frames.Place => Br_Frames.On_Heap_Place));
    end Load_Initial_Working_Memory;


    procedure Br_Infere is new Br_Kbs.Kbs.Rule_Base.Infere_With_Conflict_Set
                                  (Retrieve  => Br_Kbs.Kbs.Retrieve,
                                   Do_Action => Br_Rule_Bundle.Do_Action);

    procedure Put_Working_Memory is
       new Br_Kbs.Kbs.Fact_Base.Working_Memory.Generic_Put
              (Put => Br_Frames.Put);

begin
    Load_Initial_Working_Memory;

    Output_Stream.Put ("The fact base is :", Output_Stream.Standard_Output);
    Put_Working_Memory (Output_Stream.Standard_Output);
    Output_Stream.New_Line (Output_Stream.Standard_Output);
    Output_Stream.New_Line (Output_Stream.Standard_Output);

    Br_Infere;

    Output_Stream.Put_Line ("THE FACT BASE IS NOW :",
                            Output_Stream.Standard_Output);
    Put_Working_Memory (Output_Stream.Standard_Output);
    Output_Stream.New_Line (Output_Stream.Standard_Output);
    Output_Stream.New_Line (Output_Stream.Standard_Output);

end Br_Test;

E3 Meta Data

    nblk1=4
    nid=2
    hdr6=6
        [0x00] rec0=1e rec1=00 rec2=01 rec3=078
        [0x01] rec0=19 rec1=00 rec2=03 rec3=01c
        [0x02] rec0=09 rec1=00 rec2=04 rec3=000
        [0x03] rec0=04 rec1=e6 rec2=ee rec3=742
    tail 0x2174e8ae0866c524336f8 0x42a00088462063c03
Free Block Chain:
  0x2: 0000  00 00 00 5d 80 07 75 74 70 75 74 29 3b 07 00 3b  ┆   ]  utput);  ;┆