|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 12288 (0x3000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Generic_Kbs, seg_03c054
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Generic_Expression;
with Generic_Fact_Base;
with Generic_Rule_Base;
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 Fact_Base is
new Generic_Fact_Base
(Class_Names => Class_Names,
Null_Class_Name => Class_Names'Last,
Max_Slots => Max_Slots,
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,
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);
procedure Retrieve is
new Fact_Base.Working_Memory.Retrieve_With_Conflict_Set
(Rule_Id => Rule_Base.Rule_Id,
Instance_Object => Rule_Base.Rule_Instance.Object,
Instance_Value => Rule_Base.Rule_Instance.Make,
Add_To_Conflict_Set => Rule_Base.Conflict_Set.Add);
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;
nblk1=b
nid=9
hdr6=a
[0x00] rec0=1b rec1=00 rec2=01 rec3=09c
[0x01] rec0=1a rec1=00 rec2=04 rec3=006
[0x02] rec0=15 rec1=00 rec2=0a rec3=014
[0x03] rec0=15 rec1=00 rec2=0b rec3=054
[0x04] rec0=14 rec1=00 rec2=07 rec3=000
[0x05] rec0=0c rec1=00 rec2=09 rec3=000
[0x06] rec0=00 rec1=00 rec2=09 rec3=014
[0x07] rec0=14 rec1=00 rec2=0b rec3=01e
[0x08] rec0=01 rec1=00 rec2=07 rec3=000
[0x09] rec0=06 rec1=00 rec2=07 rec3=000
[0x0a] rec0=87 rec1=5d rec2=d0 rec3=000
tail 0x21739dec08570829a630a 0x42a00088462063c03
Free Block Chain:
0x9: 0000 00 05 01 97 80 1c 20 69 73 20 46 61 63 74 5f 42 ┆ is Fact_B┆
0x5: 0000 00 03 03 fc 80 34 6e 65 64 5f 42 69 6e 61 72 79 ┆ 4ned_Binary┆
0x3: 0000 00 02 03 fc 80 15 20 20 3d 3e 20 45 78 70 72 65 ┆ => Expre┆
0x2: 0000 00 06 03 fc 80 09 69 66 66 65 72 65 6e 74 2c 09 ┆ ifferent, ┆
0x6: 0000 00 08 00 08 80 05 5f 49 73 5f 44 05 20 3d 3e 20 ┆ _Is_D => ┆
0x8: 0000 00 00 00 1a 80 17 20 20 6e 65 77 20 47 65 6e 65 ┆ new Gene┆