sig
type 'a parser
val return : 'a -> 'a Pcombinators.parser
val ( >>= ) :
'a Pcombinators.parser ->
('a -> 'b Pcombinators.parser) -> 'b Pcombinators.parser
val fail : 'a Pcombinators.parser
val eof : unit Pcombinators.parser
val predicate : (char -> bool) -> char Pcombinators.parser
val ( ++ ) :
'a Pcombinators.parser ->
'a Pcombinators.parser -> 'a Pcombinators.parser
val ( +?+ ) :
'a Pcombinators.parser ->
'a Pcombinators.parser -> 'a Pcombinators.parser
val many : 'a Pcombinators.parser -> 'a list Pcombinators.parser
val many1 : 'a Pcombinators.parser -> 'a list Pcombinators.parser
val repeat : int -> 'a Pcombinators.parser -> 'a list Pcombinators.parser
val sep_by :
'a Pcombinators.parser ->
'b Pcombinators.parser -> 'a list Pcombinators.parser
val sep_by1 :
'a Pcombinators.parser ->
'b Pcombinators.parser -> 'a list Pcombinators.parser
val one_of : char list -> char Pcombinators.parser
val char_exact : char -> char Pcombinators.parser
val string_exact : string -> string Pcombinators.parser
val int_exact : int -> string Pcombinators.parser
val bool_exact : bool -> string Pcombinators.parser
val digit : int Pcombinators.parser
val digits : int Pcombinators.parser
val whitespace : string Pcombinators.parser
val whitespace1 : string Pcombinators.parser
type 'a parse_result = Yes of 'a | No of string
val parse :
string -> 'a Pcombinators.parser -> 'a Pcombinators.parse_result
val parse_and_print :
string -> 'a Pcombinators.parser -> ('a -> string) -> unit
end