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

⟦e170f8871⟧ TextFile

    Length: 1182 (0x49e)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦e24fb53b7⟧ 
            └─⟦this⟧ 

TextFile

with Text_Io;
separate (Many_Objects_Rules)
package body Iterate_Rule is

    function Premiss return Fact_Queries is
        The_State : Alias.Name := Name'(S);
    begin
        return (States.Exist
                   ((Value          => Is_Greater (0) and  
                                          Define_As (The_State),
                     Max_Iterations => Is_Greater_Or_Equal (The_State),
                     Max_Objects    => Is_Any)),
                Numbers.Exist ((Value => Is_Equal (0))));
    end Premiss;


    procedure Action (The_Facts : Fact_Collection) is
        The_State        : Fact_Name renames The_Facts (1);  
        The_Number       : Fact_Name renames The_Facts (2);  
        The_Iteration    : constant Integer :=
           States.Get (The_State, Slot => Value);
        The_Object_Count : constant Integer :=
           States.Get (The_State, Slot => Max_Objects);
    begin
        -- Text_Io.Put_Line ("End of iteration =>" &
        --                   Integer'Image (The_Iteration));
        States.Change (The_State, Value, The_Iteration + 1);
        Numbers.Change (The_Number, Value, The_Object_Count);
    end Action;
end Iterate_Rule;