DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦88a4c6a1d⟧ TextFile

    Length: 1441 (0x5a1)
    Types: TextFile
    Notes: R1k Text-file segment

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦88d30ca00⟧ 
            └─⟦this⟧ 

TextFile

with instanceCounter;

separate(expertSystem)
   
package body ruleManager is

   type ruleStateArray  is array(contextId, ruleId) of boolean;
   ruleState : ruleStateArray := (others=>(others=>FALSE));

   function isMasked(context : contextName; rule : ruleId) return boolean is
      ctx : contextId := instanceCounter.contextNumber(context);
   begin
      if rule = 0 then 
         raise badRule;
      end if;
      if ctx = 0 then
         raise badContext;
      end if;
      return (ruleState(ctx,rule));
   end isMasked;

   function isMasked(context : contextid; rule : ruleId) return boolean is
   begin
      if rule = 0 then 
         raise badRule;
      end if;
      if context = 0 then
         raise badContext;
      end if;
      return (ruleState(context,rule));
   end isMasked;


   procedure mask(context : contextName; rule : ruleId) is
      ctx : contextId := instanceCounter.contextNumber(context);
   begin
      if rule = 0 then 
         raise badRule;
      end if;
      if ctx = 0 then
         raise badContext;
      end if;
      ruleState(ctx,rule) := TRUE;
   end mask;

   procedure unmask(context : contextName; rule : ruleId) is
      ctx : contextId := instanceCounter.contextNumber(context);
   begin
      if rule = 0 then 
         raise badRule;
      end if;
      if ctx = 0 then
         raise badContext;
      end if;
      ruleState(ctx,rule) := FALSE;
   end unmask;

end ruleManager;