sig
type version = int
type relop = [ `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ]
type constr = (Cudf_types.relop * Cudf_types.version) option
type pkgname = string
type vpkg = Cudf_types.pkgname * Cudf_types.constr
type vpkglist = Cudf_types.vpkg list
type vpkgformula = Cudf_types.vpkg list list
type veqpkg = Cudf_types.pkgname * ([ `Eq ] * Cudf_types.version) option
type veqpkglist = Cudf_types.veqpkg list
type enum_keep = [ `Keep_feature | `Keep_package | `Keep_version ]
exception Parse_error of string * string
val parse_bool : string -> bool
val parse_pkgname : string -> Cudf_types.pkgname
val parse_version : string -> Cudf_types.version
val parse_vpkg : string -> Cudf_types.vpkg
val parse_vpkglist : string -> Cudf_types.vpkglist
val parse_vpkgformula : string -> Cudf_types.vpkgformula
val parse_veqpkg : string -> Cudf_types.veqpkg
val parse_veqpkglist : string -> Cudf_types.veqpkglist
val parse_keep : string -> Cudf_types.enum_keep
val parse_relop : string -> Cudf_types.relop
val pp_bool : Format.formatter -> bool -> unit
val pp_keep : Format.formatter -> Cudf_types.enum_keep -> unit
val pp_pkgname : Format.formatter -> Cudf_types.pkgname -> unit
val pp_version : Format.formatter -> Cudf_types.version -> unit
val pp_vpkg : Format.formatter -> Cudf_types.vpkg -> unit
val pp_vpkglist : Format.formatter -> Cudf_types.vpkglist -> unit
val pp_vpkgformula : Format.formatter -> Cudf_types.vpkgformula -> unit
val pp_veqpkg : Format.formatter -> Cudf_types.veqpkg -> unit
val pp_veqpkglist : Format.formatter -> Cudf_types.veqpkglist -> unit
val string_of_bool : bool -> string
val string_of_keep : Cudf_types.enum_keep -> string
val string_of_pkgname : Cudf_types.pkgname -> string
val string_of_version : Cudf_types.version -> string
val string_of_vpkg : Cudf_types.vpkg -> string
val string_of_vpkglist : Cudf_types.vpkglist -> string
val string_of_vpkgformula : Cudf_types.vpkgformula -> string
val string_of_veqpkg : Cudf_types.veqpkg -> string
val string_of_veqpkglist : Cudf_types.veqpkglist -> string
end