DEFINITION MODULE TableManager; (* The following items are available for managing storage and retrieval of strings, associated definitions, values and types. Macro processing and symbol table management are example uses. Too many names and definitions can cause table overflow. When using this module for non-macro operations, a NullString "NullDef" is available which can be used to send dummy definitions to Install. LookUp returns a definitions which will have to be received in a dummy string location and then discarded. *) FROM Tools IMPORT String; EXPORT QUALIFIED (* TYPE *) sttype, (* VAR *) NullDef, TabDebug, (* PROC *) LookUp, Install; TYPE sttype = ( Deftype, Mactype ); VAR NullDef : String; TabDebug: BOOLEAN; PROCEDURE Install( VAR name : String (* in *); VAR defn : String (* in *); Value : REAL (* in *); t : sttype (* in *) ); (* Installs "name" and "defn" "value" and type "t" into the table. *) PROCEDURE LookUp( VAR name : String (* in *); VAR defn : String (* out *); VAR Value : REAL (* out *); VAR t : sttype (* out *)) : BOOLEAN; (* This procedure function can be used to lookup and retireve an entry present in the table. If found, the function returns TRUE, FALSE otherwise. *) END TableManager.