      *>----------------------------------------------------------------
      *>
      *> Copyright (C) 1995-1996 Micro Focus International Ltd.
      *>
      *>----------------------------------------------------------------
      $set hidemessage(731)
       class-id. SymbolTable is external.
       class-control.
           SymbolTable is class "symbtab"
           Association is class "associtn"
           Dictionary is class "dictinry"
           CobolPicX is class "picx"
           .
       class-object.
       method-id. "new".
       linkage section.
       01 lnkDictionary            object reference.
       procedure division returning lnkDictionary
      *> vocabulary
       INVOKED as
       == new
         [[using] (<self>)]
         returning <lnkDictionary>
       == or
       function == Fnnew
         [[using] (<self>)]
       ==.
       end method "new".
       end class-object.
       object.
       method-id. "atPut".
       linkage section.
       01 lnkKey                   pic x(32).
       01 lnkParameter             object reference.
       procedure division using lnkKey lnkParameter
      *> vocabulary
       INVOKED as
       ==  PUT SYMBOL <lnkKey> [WITH] VALUE <lnkParameter>
                           [INTO] [TABLE] <self>
       == or ==
           PUT VALUE <lnkParameter> [INTO] TABLE <self> [AT] SYMBOL
                                                 <lnkKey>
       ==.
       end method "atPut".
       method-id. "atOrNil".
       linkage section.
       01 lnkKey                   pic x(32).
       01 lnkParameter             object reference.
       procedure division using lnkKey returning lnkParameter
      *> vocabulary
       INVOKED as
       == FETCH VALUE <lnkParameter> [FROM] TABLE <self> [AT] SYMBOL
                                                  <lnkKey>

       ==.
       end method "atOrNil".
       end object.
       end class SymbolTable.
