(** Time-stamp: <modified the 07/02/2008 (at 11:27) by Erwan Jahier> *)


open Lxm


let put_in_tab 
    (what: string)
    (tab : ('a, 'b Lxm.srcflagged) Hashtbl.t)
    (key : 'a)
    (value : 'b Lxm.srcflagged) 
    =
  try 
    let plxm = (Hashtbl.find tab key).src in
    let msg = Printf.sprintf "%s already declared in %s"
      what (Lxm.position plxm) 
    in
      raise (Errors.Compile_error (value.src, msg))
  with 
      Not_found -> Hashtbl.add tab key value