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: ┃ T V

⟦fbec52017⟧ TextFile

    Length: 3749 (0xea5)
    Types: TextFile
    Names: »V«

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 Generic_Expression;
with Generic_Fact_Base;
with Generic_Rule_Base;
with Generic_Predicate;

generic

    Max_Frame_Count                : Positive := 200;
    Max_Slots                      : Positive := 20;
    Max_Condition_Elements_By_Rule : Positive := 10;  
    Max_Condition_Elements         : Positive := 200;
    Max_Rules                      : Positive := 50;

    type User_Defined_Expression_Operators is (<>);

    with function User_Defined_Evaluate
                     (Using_Operator : User_Defined_Expression_Operators;
                      Left, Right    : Integer) return Integer is <>;

    with function User_Defined_Image
                     (Op : User_Defined_Expression_Operators) return String is
       User_Defined_Expression_Operators'Image;

    type User_Defined_Predicate_Operators is (<>);

    with function User_Defined_Match
                     (Using_Operator : User_Defined_Predicate_Operators;
                      Value          : Integer;
                      Against        : Integer) return Boolean is <>;

    with function User_Defined_Image
                     (Op : User_Defined_Predicate_Operators) return String is
       User_Defined_Predicate_Operators'Image;

    type Rule_Bundles is (<>);

package Generic_Kbs is

    package Expression is  
       new Generic_Expression
              (User_Defined_Operators => User_Defined_Expression_Operators,
               User_Defined_Evaluate  => User_Defined_Evaluate,
               User_Defined_Image     => User_Defined_Image);

    package Predicate is new Generic_Predicate
                                (User_Defined_Operators =>
                                    User_Defined_Predicate_Operators,
                                 User_Defined_Match     => User_Defined_Match,
                                 User_Defined_Image     => User_Defined_Image,
                                 Expression_Object      => Expression.Object,
                                 Integer_Expression     => Expression.Value,
                                 Alias_Expression       => Expression.Value,
                                 Evaluate               => Expression.Evaluate,
                                 Put                    => Expression.Put);

    package Fact_Base is  
       new Generic_Fact_Base (Max_Frame_Count  => Max_Frame_Count,
                              Max_Slots        => Max_Slots,
                              Predicate_Object => Predicate.Object,
                              Null_Predicate   => Predicate.Null_Predicate,
                              Predicate_Match  => Predicate.Match,
                              Predicate_Put    => Predicate.Put);

    package Rule_Base is
       new  
           Generic_Rule_Base
              (Max_Rules                      => Max_Rules,
               Max_Condition_Elements_By_Rule => Max_Condition_Elements_By_Rule,
               Max_Condition_Elements         => Max_Condition_Elements,
               Rule_Bundles                   => Rule_Bundles,
               Fact_Name                      => Fact_Base.Object,
               Fact_Collection                => Fact_Base.Collection,
               Empty_Fact_Collection          => Fact_Base.Empty_Collection,
               Fact_Put                       => Fact_Base.Put,
               Fact_Query                     => Fact_Base.Query,
               Null_Fact_Query                => Fact_Base.Null_Query,
               Fact_Queries                   => Fact_Base.Queries,
               Null_Premiss                   => Fact_Base.Null_Premiss,
               Retrieve                       => Fact_Base.Retrieve,
               Queries_Put                    => Fact_Base.Put);

end Generic_Kbs;