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: ┃ B T ┃
Length: 2254 (0x8ce) Types: TextFile Names: »B«
└─⟦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⟧
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; procedure Add (The_Rule : Rule_Names; The_Name : String; Premiss : Fact.Queries) is Ce_Ids : Condition_Elements.Ids (Premiss'Range); begin if The_Last_Rule = Rule_Id (Max_Rules) then raise Overflow; else Condition_Elements.Add (Premiss, Ce_Ids); The_Last_Rule := The_Last_Rule + 1; The_Rules (The_Last_Rule) := Rule'(The_Query_Count => Premiss'Length, The_Bundle => The_Bundle, The_Rule => As_Natural (The_Rule), The_Name => As_Rule_Name (The_Name), The_Premiss => Ce_Ids); end if; end Add; procedure Do_Action (For_Rule : Rule_Id; On_Facts : Fact.Collection) is The_Action_Bundle : Rule_Bundles renames The_Rules (For_Rule).The_Bundle; The_Rule_Number : Natural renames The_Rules (For_Rule).The_Rule; begin if The_Action_Bundle = The_Bundle then case The_Rule_Number 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, Name_1, Premiss_1); end if; if Rule_2 /= Nothing then Add (Rule_2, Name_2, Premiss_2); end if; if Rule_3 /= Nothing then Add (Rule_3, Name_3, Premiss_3); end if; if Rule_4 /= Nothing then Add (Rule_4, Name_4, Premiss_4); end if; if Rule_5 /= Nothing then Add (Rule_5, Name_5, Premiss_5); end if; end Generic_Rule_Bundle;