|
|
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 - metrics - downloadIndex: B T
Length: 2048 (0x800)
Types: TextFile
Names: »B«
└─⟦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⟧
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
└─⟦129cab021⟧ »DATA«
└─⟦e24fb53b7⟧
└─⟦this⟧
separate (Generic_Rule_Base)
package body Generic_Rule_Bundle is
function As_Natural (R : Rule_Names) return Natural is
begin
return Rule_Names'Pos (R) + 1;
end As_Natural;
function Make (R : Rule_Names) return Rule_Id is
begin
return Rule_Id'(Is_Valid => True,
The_Bundle => The_Bundle,
The_Rule => As_Natural (R));
end Make;
procedure Add (The_Rule : Rule_Names; Premiss : Fact.Join_Descriptor) is
begin
for I in The_Rules'Range loop
if not The_Rules (I).The_Id.Is_Valid then
The_Rules (I) := Rule'(The_Query_Count => Premiss'Length,
The_Id => Make (The_Rule),
The_Premiss => Premiss);
Last_Rule := I;
return;
end if;
end loop;
raise Overflow;
end Add;
procedure Do_Action (For_Rule : Rule_Id; On_Facts : Fact.Collection) is
begin
if For_Rule.The_Bundle = The_Bundle then
case For_Rule.The_Rule is
when 1 =>
Action_1 (On_Facts);
when 2 =>
Action_2 (On_Facts);
when 3 =>
Action_3 (On_Facts);
when 4 =>
Action_4 (On_Facts);
when 5 =>
Action_5 (On_Facts);
when others =>
Null_Action (On_Facts);
end case;
else
raise Illegal_Bundle;
end if;
end Do_Action;
begin
if Rule_1 /= Nothing then
Add (Rule_1, Premiss_1);
end if;
if Rule_2 /= Nothing then
Add (Rule_2, Premiss_2);
end if;
if Rule_3 /= Nothing then
Add (Rule_3, Premiss_3);
end if;
if Rule_4 /= Nothing then
Add (Rule_4, Premiss_4);
end if;
if Rule_5 /= Nothing then
Add (Rule_5, Premiss_5);
end if;
end Generic_Rule_Bundle;