%recordformat dictcellfm(%record(dictcellfm)%name parent,left,right,
                        %integer token,%string(255)s)
%recordformat dictfm(%record(dictfm)%name alt,%record(dictcellfm)%name t)

%externalintegerfnspec findentry(%string(255)s,%record(dictfm)%name d)
%externalintegerfnspec makeentry(%string(255)s,%record(dictfm)%name d)
%externalroutinespec deleteentry(%string(255)s,%record(dictfm)%name d)
%externalstring(255)%fnspec translateentry(%integer x)
%externalintegerfnspec firstentry(%record(dictfm)%name d)
%externalintegerfnspec nextentry(%integer entry)
%externalrecord(dictfm)%mapspec createdict(%string(255)s)
%externalrecord(dictfm)%mapspec finddict(%string(255)s)

%externalroutinespec definelogicalname(%string(255)symbol,value)
%externalroutinespec definecommandsymbol(%string(255)symbol,value)
%externalstring(255)%fnspec translatelogicalname(%string(255)symbol)
%externalstring(255)%fnspec translatecommandsymbol(%string(255)symbol)
%externalpredicatespec translatedlogicalname(%string(*)%name s)
%externalpredicatespec translatedcommandsymbol(%string(*)%name s)
