DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T V ┃
Length: 5410 (0x1522) Types: TextFile Names: »V«
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧
with Generic_Expression; with Generic_Fact_Base; with Generic_Rule_Base; with Generic_Predicate; with Slot; generic Max_Slots : Positive := 20; Max_Condition_Elements_By_Rule : Positive := 10; Max_Condition_Elements : Positive := 200; Max_Rules : Positive := 50; type Class_Names is (<>); Null_Class_Name : Class_Names := Class_Names'Last; type User_Defined_Expression_Operators is (<>); with function User_Defined_Unary_Evaluate (Using_Operator : User_Defined_Expression_Operators; Right : Slot.Object) return Slot.Object is <>; with function User_Defined_Binary_Evaluate (Using_Operator : User_Defined_Expression_Operators; Left, Right : Slot.Object) return Slot.Object 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_Unary_Match (Using_Operator : User_Defined_Predicate_Operators; Value : Slot.Object) return Boolean is <>; with function User_Defined_Binary_Match (Using_Operator : User_Defined_Predicate_Operators; Value : Slot.Object; Against : Slot.Object) 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_Unary_Evaluate => User_Defined_Unary_Evaluate, User_Defined_Binary_Evaluate => User_Defined_Binary_Evaluate, User_Defined_Image => User_Defined_Image); package Predicate is new Generic_Predicate (User_Defined_Operators => User_Defined_Predicate_Operators, User_Defined_Unary_Match => User_Defined_Unary_Match, User_Defined_Binary_Match => User_Defined_Binary_Match, User_Defined_Image => User_Defined_Image, Expression_Object => Expression.Object, Slot_Object_Expression => Expression.Value, Alias_Expression => Expression.Value, Evaluate => Expression.Evaluate, Put => Expression.Put); package Fact_Base is new Generic_Fact_Base (Class_Names => Class_Names, Null_Class_Name => Class_Names'Last, Max_Slots => Max_Slots, Predicate_Object => Predicate.Object, Null_Predicate => Predicate.Null_Predicate, Predicate_Objects => Predicate.Objects, Predicate_Collection => Predicate.Collection, Predicate_Get_Collection => Predicate.Get, Predicate_Match => Predicate.Match, Predicate_Put => Predicate.Put, Expression_Object => Expression.Object, Slot_Object_Expression => Expression.Value, Alias_Expression => Expression.Value, Expression_Evaluate => Expression.Evaluate, Expression_Put => Expression.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.Class.User_Object, Fact_Collection => Fact_Base.Class.User_Objects, Empty_Fact_Collection => Fact_Base.Class.No_User_Objects, Fact_Put => Fact_Base.Class.Default_Put, Fact_Query => Fact_Base.Query.Object, Null_Fact_Query => Fact_Base.Query.Null_Query, Fact_Queries => Fact_Base.Query.Objects, Null_Premiss => Fact_Base.Query.Null_Queries, Retrieve => Fact_Base.Working_Memory.Retrieve, Queries_Put => Fact_Base.Query.Put); subtype Fact_Query is Fact_Base.Query.Object; subtype Fact_Queries is Fact_Base.Query.Objects; subtype Fact_Name is Fact_Base.Class.User_Object; subtype Fact_Collection is Fact_Base.Class.User_Objects; subtype Rule_Id is Rule_Base.Rule_Id; Empty_Fact_Collection : constant Fact_Collection := Fact_Base.Class.No_User_Objects; No_Rule : Rule_Id renames Rule_Base.No_Rule; end Generic_Kbs;