# rmtabl --- remove a symbol table, deleting all entries

   subroutine rmtabl (st)
   pointer st

   integer Mem (1)
   common /ds$mem/ Mem

   integer i

   pointer walker, bucket, node

   bucket = st
   do i = 1, ST_HTABSIZE; {
      bucket = bucket + 1
      walker = Mem (bucket)
      while (walker ~= LAMBDA) {
         node = walker
         walker = Mem (node + ST_LINK)
         call dsfree (node)
         }
      }

   call dsfree (st)

   return
   end
