sig
  module Make :
    functor (Structure : Structure.S->
      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
end