`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, BatCharParser.position) BatParserCo.t val ident_letter : (char, char, BatCharParser.position) BatParserCo.t val op_start : (char, char, BatCharParser.position) BatParserCo.t val op_letter : (char, char, BatCharParser.position) BatParserCo.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, BatCharParser.position) BatParserCo.Source.t -> (BatGenlex.token, BatCharParser.position) BatParserCo.Source.t val start : (char, unit, BatCharParser.position) BatParserCo.t val ident : (char, string, BatCharParser.position) BatParserCo.t val kwd : (char, string, BatCharParser.position) BatParserCo.t val identifier : string -> (char, unit, BatCharParser.position) BatParserCo.t val keyword : string -> (char, unit, BatCharParser.position) BatParserCo.t val char_literal : (char, char, BatCharParser.position) BatParserCo.t val string_literal : (char, string, BatCharParser.position) BatParserCo.t val integer : (char, int, BatCharParser.position) BatParserCo.t val float : (char, float, BatCharParser.position) BatParserCo.t val number : (char, [ `Float of float | `Integer of int ], BatCharParser.position) BatParserCo.t val char : char -> (char, char, BatCharParser.position) BatParserCo.t val string : string -> (char, string, BatCharParser.position) BatParserCo.t val line_comment : (char, unit, BatCharParser.position) BatParserCo.t val multiline_comment : (char, unit, BatCharParser.position) BatParserCo.t val comment : (char, unit, BatCharParser.position) BatParserCo.t val whitespaces : (char, unit, BatCharParser.position) BatParserCo.t end end`