sig
  type 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