|
|
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: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Generic_Rule_Bundle, seg_02aee2, separate Generic_Rule_Base
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦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;
nblk1=4
nid=2
hdr6=6
[0x00] rec0=1f rec1=00 rec2=01 rec3=002
[0x01] rec0=21 rec1=00 rec2=03 rec3=006
[0x02] rec0=07 rec1=00 rec2=04 rec3=000
[0x03] rec0=05 rec1=00 rec2=02 rec3=000
tail 0x21724039083e585510bab 0x42a00088462063c03
Free Block Chain:
0x2: 0000 00 00 00 20 80 1d 20 20 20 70 72 6f 63 65 64 75 ┆ procedu┆