functor (L : GLexerType->
  sig
    type te = L.te
    and parsable
    val parsable : char Stream.t -> Grammar.S.parsable
    val tokens : string -> (string * int) list
    val glexer : Grammar.S.te Token.glexer
    module Entry :
      sig
        type 'a e
        val create : string -> 'Grammar.S.Entry.e
        val parse : 'Grammar.S.Entry.e -> Grammar.S.parsable -> 'a
        val parse_token : 'Grammar.S.Entry.e -> Grammar.S.te Stream.t -> 'a
        val name : 'Grammar.S.Entry.e -> string
        val of_parser :
          string -> (Grammar.S.te Stream.t -> 'a) -> 'Grammar.S.Entry.e
        val print : 'Grammar.S.Entry.e -> unit
        external obj : 'Grammar.S.Entry.e -> Grammar.S.te Gramext.g_entry
          = "%identity"
      end
    module Unsafe :
      sig
        val gram_reinit : Grammar.S.te Token.glexer -> unit
        val clear_entry : 'Grammar.S.Entry.e -> unit
      end
    val extend :
      'Grammar.S.Entry.e ->
      Gramext.position option ->
      (string option * Gramext.g_assoc option *
       (Grammar.S.te Gramext.g_symbol list * Gramext.g_action) list)
      list -> unit
    val delete_rule :
      'Grammar.S.Entry.e -> Grammar.S.te Gramext.g_symbol list -> unit
  end