sig
exception Error of string
type 'a t = {
lex : Lexing.lexbuf -> 'a;
deparse : 'a -> string;
complete : Lexing.lexbuf -> string list;
accept : 'a -> 'a;
desc : string;
}
val int : ?max:int -> ?min:int -> unit -> int Parser.t
val float : unit -> float Parser.t
val unit : unit Parser.t
val bool : bool Parser.t
val string : string Parser.t
val option : 'a Parser.t -> 'a option Parser.t
val pair : 'a Parser.t -> 'b Parser.t -> ('a * 'b) Parser.t
val triple :
'a Parser.t -> 'b Parser.t -> 'c Parser.t -> ('a * 'b * 'c) Parser.t
val quadruple :
'a Parser.t ->
'b Parser.t -> 'c Parser.t -> 'd Parser.t -> ('a * 'b * 'c * 'd) Parser.t
val pentuple :
'a Parser.t ->
'b Parser.t ->
'c Parser.t ->
'd Parser.t -> 'e Parser.t -> ('a * 'b * 'c * 'd * 'e) Parser.t
val accept_only : 'a list -> 'a Parser.t -> 'a Parser.t
val callback : ('a -> unit) -> 'a Parser.t -> 'a Parser.t
val command : (unit -> unit) Parser.t
val variable : string Parser.t
val add_command : string -> 'a Parser.t -> string -> ('a -> unit) -> unit
val add_variable : string -> 'a Parser.t -> 'a -> 'a Pervasives.ref
val get : string -> string
val set : string -> string -> unit
val parse : string -> unit -> unit
val available_completions : string -> string list
val create_log : string -> string -> bool -> string -> unit
val sextuple :
'a Parser.t ->
'b Parser.t ->
'c Parser.t ->
'd Parser.t ->
'e Parser.t -> 'f Parser.t -> ('a * 'b * 'c * 'd * 'e * 'f) Parser.t
val septuple :
'a Parser.t ->
'b Parser.t ->
'c Parser.t ->
'd Parser.t ->
'e Parser.t ->
'f Parser.t -> 'g Parser.t -> ('a * 'b * 'c * 'd * 'e * 'f * 'g) Parser.t
val octuple :
'a Parser.t ->
'b Parser.t ->
'c Parser.t ->
'd Parser.t ->
'e Parser.t ->
'f Parser.t ->
'g Parser.t ->
'h Parser.t -> ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h) Parser.t
val nonuple :
'a Parser.t ->
'b Parser.t ->
'c Parser.t ->
'd Parser.t ->
'e Parser.t ->
'f Parser.t ->
'g Parser.t ->
'h Parser.t ->
'i Parser.t -> ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h * 'i) Parser.t
end