sig
  module Tools :
    sig
      val empty_entry : string -> '-> 'b
      val stream_map : ('-> 'b) -> 'Stream.t -> 'Stream.t
      val keep_prev_loc :
        ('a * Structure.Loc.t) Stream.t ->
        ('a * Structure.token_info) Stream.t
      val drop_prev_loc :
        ('a * Structure.token_info) Stream.t ->
        ('a * Structure.Loc.t) Stream.t
      val get_cur_loc :
        ('a * Structure.token_info) Stream.t -> Structure.Loc.t
      val get_prev_loc :
        ('a * Structure.token_info) Stream.t -> Structure.Loc.t
      val is_level_labelled : string -> Structure.level -> bool
      val warning_verbose : bool ref
      val get_token_list :
        '->
        Structure.symbol list ->
        Structure.symbol ->
        Structure.tree ->
        (Structure.symbol list * Structure.symbol * Structure.tree) option
      val is_antiquot : string -> bool
      val eq_Stoken_ids : string -> string -> bool
      val logically_eq_symbols :
        Structure.internal_entry ->
        Structure.symbol -> Structure.symbol -> bool
      val eq_symbol : Structure.symbol -> Structure.symbol -> bool
    end
  module Search :
    sig
      val tree_in_entry :
        Structure.symbol ->
        Structure.tree -> Structure.desc -> Structure.tree
    end
  module Print :
    sig
      val flatten_tree : Structure.tree -> Structure.symbol list list
      val print_symbol : Format.formatter -> Structure.symbol -> unit
      val print_meta :
        Format.formatter -> string -> Structure.symbol list -> unit
      val print_symbol1 : Format.formatter -> Structure.symbol -> unit
      val print_rule : Format.formatter -> Structure.symbol list -> unit
      val print_level :
        Format.formatter ->
        (Format.formatter -> unit -> unit) ->
        Structure.symbol list list -> unit
      val levels : Format.formatter -> Structure.level list -> unit
      val entry : Format.formatter -> Structure.internal_entry -> unit
    end
  val name_of_symbol : Structure.internal_entry -> Structure.symbol -> string
  val name_of_symbol_failed :
    Structure.internal_entry -> Structure.symbol -> string
  val name_of_tree_failed :
    Structure.internal_entry -> Structure.tree -> string
  val magic : '-> '-> 'c
  val tree_failed :
    Structure.internal_entry ->
    '-> Structure.symbol -> Structure.tree -> string
  val symb_failed :
    Structure.internal_entry ->
    '-> Structure.symbol -> Structure.symbol -> string
  val symb_failed_txt :
    Structure.internal_entry ->
    Structure.symbol -> Structure.symbol -> string
end