Especificação CAMILA de um Dicionário



next up previous contents
Next: Guiões de Interacção Up: GAMA-X Geração Semi-Automática Previous: References

Especificação CAMILA de um Dicionário

 
interface DIC = 
    sorts Dic, Pal, Sig, Bool; 
    state Dic; 
   events INIT:->, 
          INSPAL:PalxSig->, 
          REMPAL:Pal->, 
          CONSPAL:Pal->Sig,
          EMPTYDIC:->Bool,
          EXISTPAL:Pal->Bool;
end; 

module Dicionario: DIC
 sorts Dic = Pal -> Sig;
       Pal = STR;
       Sig = STR;
       Bool = SYM;
events INIT = 
         sigma' = [];
       INSPAL(pal, sig) = 
         { ~EXISTPAL(pal) => sigma' = sigma + [pal -> sig];
       REMPAL(pal) =
         { EXISTPAL(pal) => sigma' = sigma\{pal};
       CONSPAL(pal, sig') =
         { EXISTPAL(pal) => sig' = sigma[pal];
       EMPTYDIC(b') =
         b' = sigma == [];
       EXISTPAL(pal, b') =
         b' = pal in dom(sigma);
end;



Jose Franscisco Creissac Campos
Wed Jan 31 20:30:35 MET 1996