|
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 - download
Length: 5120 (0x1400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Generic_Rule_Bundle, seg_02ae41, separate Generic_Rule_Base
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦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 0x215232f6e83e584044e86 0x42a00088462063c03 Free Block Chain: 0x2: 0000 00 00 00 20 80 1d 20 20 20 70 72 6f 63 65 64 75 ┆ procedu┆