functor (Structure : Structure.S->
  sig
    module Dump :
      sig
        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
    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
    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
    type 'a t = Structure.internal_entry
    val name : Structure.internal_entry -> string
    val print : Format.formatter -> Structure.internal_entry -> unit
    val dump : Format.formatter -> Structure.internal_entry -> unit
    val mk : Structure.gram -> string -> Structure.internal_entry
    val action_parse :
      Structure.internal_entry ->
      Structure.token_stream -> Structure.Action.t
    val lex :
      Structure.internal_entry ->
      Structure.Loc.t ->
      char Stream.t -> (Structure.Token.t * Structure.Loc.t) Stream.t
    val lex_string :
      Structure.internal_entry ->
      Structure.Loc.t ->
      string -> (Structure.Token.t * Structure.Loc.t) Stream.t
    val filter :
      Structure.internal_entry ->
      (Structure.Token.t * Structure.Token.Loc.t) Stream.t ->
      (Structure.Token.t * Structure.token_info) Stream.t
    val parse_tokens_after_filter :
      Structure.internal_entry -> Structure.token_stream -> 'a
    val parse_tokens_before_filter :
      Structure.internal_entry ->
      (Structure.Token.t * Structure.Token.Loc.t) Stream.t -> 'a
    val parse :
      Structure.internal_entry -> Structure.Loc.t -> char Stream.t -> 'a
    val parse_string :
      Structure.internal_entry -> Structure.Loc.t -> string -> 'a
    val of_parser :
      Structure.gram ->
      string ->
      (Structure.token_stream -> 'a) -> 'Camlp4.Struct.Grammar.Entry.Make.t
    val setup_parser :
      Structure.internal_entry -> (Structure.token_stream -> 'a) -> unit
    val clear : Structure.internal_entry -> unit
    val obj : '-> 'a
  end