-- ParseTableImpl.mesa -- Last Edited by GNelson, March 1, 1983 6:11 pm DIRECTORY Atom, ParseTable; ParseTableImpl: MONITOR IMPORTS Atom EXPORTS ParseTable = BEGIN OPEN ParseTable; NewHandle: PUBLIC ENTRY PROC RETURNS [Handle] = {RETURN [NEW [HandleRep]]}; Enter: PUBLIC ENTRY PROC [h: Handle, p: Properties] = {Atom.PutProp[p.name, h, p]; IF p.alias # NIL THEN Atom.PutProp[NARROW[p.alias], h, p]}; Search: PUBLIC ENTRY PROC[h: Handle, a: REF ANY, default: Properties] RETURNS [Properties] = {r: REF ANY ← Atom.GetProp[NARROW[a], h]; IF r = NIL THEN RETURN [default] ELSE RETURN [NARROW[r]]}; END.