The Pico Environment System

(contents of the file Dict.pco)
general info

{ copy(Dct): 
 error('dictionary not initialized');
 add(Nam, Val, Dct):
 error('dictionary not initialized');
 get(Nam, Dct):
 error('dictionary not initialized');
 set(Nam, Val, Dct):
 error('dictionary not initialized');
 make_dict():
 { copy(Dct):=
 Dct;
 add (Nam, Val, Dct):=
 DCT(Nam, Val, Dct);
 get (Nam, Dct):=
 { while(not(or(equivalent(Dct, Void),
 Dct[DCT_NAM_idx] = Nam)),
 Dct:= Dct[DCT_DCT_idx]);
 if(equivalent(Dct, Void),
 error(Nam, ' not found'),
 Dct[DCT_VAL_idx])};
 set (Nam, Val, Dct):=
 { while(not(or(equivalent(Dct, Void),
 Dct[DCT_NAM_idx] = Nam)),
 Dct:= Dct[DCT_DCT_idx]);
 if(equivalent(Dct, Void),
 error(Nam, ' not found'),
 Dct[DCT_VAL_idx]:= Val); 
 Void };
 make_dict():=
 Void;
 make_dict() };
 display('dictionary installed', eoln) }

Back to the metacircular evaluator

This page was made (with lots of hard work!) by Wolfgang De Meuter

AltStyle によって変換されたページ (->オリジナル) /