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

⟦2c4c5a51f⟧ TextFile

    Length: 2391 (0x957)
    Types: TextFile
    Names: »B«

Derivation

└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
    └─ ⟦124ff5788⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Expertsystem;
use Expertsystem;

procedure B2 is

    Cpt : Natural;

    package Mab is
        procedure Ftb;
    end Mab;

    package body Mab is

        type Object is
            record
                Contenu : Natural := 1;
            end record;

        package Behavior is new Classbehavior (Object, "BIG FLOWER");

        function Castor_C return Tuplecollection.Object is
            Tc : Tuplecollection.Object;
        begin
            return Tc;
        end Castor_C;

        procedure Castor_A (Mg : Tuple.Object) is
        begin
            Put_Line (" What a famous castor !");
        end Castor_A;

        function Flower_C return Tuplecollection.Object is
            Tc : Tuplecollection.Object;
            Ref : Expertsystem.Reference := Nullreference;
            Fl : Object;
        begin
            if Cpt = 10 then
                return Tc;
            else
                Fl.Contenu := Cpt * 10;
                Ref := Behavior.Allocate (Fl);
                Tuplecollection.Add (Tc, Ref);
                return Tc;
            end if;
        end Flower_C;

        procedure Flower_A (Mg : Tuple.Object) is
        begin
            Put_Line (" What a beautiful flower !");
            Cpt := Cpt + 1;
        end Flower_A;

        package Lfb is new Engine (Context_Name => " Flowers  ",
                                   Resolution => Lex,
                                   Used_Rules => 12,
                                   Name_1 => "find a castor..",
                                   Condition_1 => Castor_C,
                                   Action_1 => Castor_A,
                                   Name_12 => "find a flower..",
                                   Condition_12 => Flower_C,
                                   Action_12 => Flower_A);


        procedure Ftb is
            Result : Boolean;
        begin
            Behavior.Clear;
            Put_Line ("---------------------------------------------------");
            Put_Line ("PROGRAM FLOWER : looking for flower in a green land");
            Put_Line ("---------------------------------------------------");
            Cpt := 0;
            Result := Lfb.Inference (Any);
        end Ftb;
    end Mab;

begin

    Debugger.Resetdebug (Debugger.Text);
    Debugger.Refreshdebug;
    Debugger.Setdebugon (Debugger.Conditionevalued);

    Mab.Ftb;

end B2;