sig
  module type Definition =
    sig
      val comment_delimiters : (string * string) option
      val line_comment_start : string option
      val nested_comments : bool
      val ident_start :
        (char, char, Extlib.CharParser.position) Extlib.ParserCo.t
      val ident_letter :
        (char, char, Extlib.CharParser.position) Extlib.ParserCo.t
      val op_start :
        (char, char, Extlib.CharParser.position) Extlib.ParserCo.t
      val op_letter :
        (char, char, Extlib.CharParser.position) Extlib.ParserCo.t
      val reserved_names : string list
      val case_sensitive : bool
    end
  module Library : sig module OCaml : Definition module C : Definition end
  module Make :
    functor (M : Definition->
      sig
        val feed :
          (char, Extlib.CharParser.position) Extlib.ParserCo.Source.t ->
          (Extlib.ExtGenlex.Genlex.token, Extlib.CharParser.position)
          Extlib.ParserCo.Source.t
        val start :
          (char, unit, Extlib.CharParser.position) Extlib.ParserCo.t
        val ident :
          (char, string, Extlib.CharParser.position) Extlib.ParserCo.t
        val kwd :
          (char, string, Extlib.CharParser.position) Extlib.ParserCo.t
        val identifier :
          string ->
          (char, unit, Extlib.CharParser.position) Extlib.ParserCo.t
        val keyword :
          string ->
          (char, unit, Extlib.CharParser.position) Extlib.ParserCo.t
        val char_literal :
          (char, char, Extlib.CharParser.position) Extlib.ParserCo.t
        val string_literal :
          (char, string, Extlib.CharParser.position) Extlib.ParserCo.t
        val integer :
          (char, int, Extlib.CharParser.position) Extlib.ParserCo.t
        val float :
          (char, float, Extlib.CharParser.position) Extlib.ParserCo.t
        val number :
          (char, [ `Float of float | `Integer of int ],
           Extlib.CharParser.position)
          Extlib.ParserCo.t
        val char :
          char -> (char, char, Extlib.CharParser.position) Extlib.ParserCo.t
        val string :
          string ->
          (char, string, Extlib.CharParser.position) Extlib.ParserCo.t
        val line_comment :
          (char, unit, Extlib.CharParser.position) Extlib.ParserCo.t
        val multiline_comment :
          (char, unit, Extlib.CharParser.position) Extlib.ParserCo.t
        val comment :
          (char, unit, Extlib.CharParser.position) Extlib.ParserCo.t
        val whitespaces :
          (char, unit, Extlib.CharParser.position) Extlib.ParserCo.t
      end
end