sig
  exception Type_error of Cudf_types.typ * Cudf_types.typed_value
  val parse_int : string -> int
  val parse_posint : string -> int
  val parse_nat : string -> int
  val parse_bool : string -> bool
  val parse_string : string -> string
  val parse_pkgname : string -> Cudf_types.pkgname
  val parse_ident : string -> string
  val parse_enum : enums:string list -> string -> string
  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_typedecl : string -> Cudf_types.typedecl
  val parse_qstring : string -> string
  val parse_type : string -> Cudf_types.typ
  val parse_keep : string -> Cudf_types.enum_keep
  val parse_value : Cudf_types.typ -> string -> Cudf_types.typed_value
  val string_of_int : int -> string
  val string_of_posint : int -> string
  val string_of_nat : int -> string
  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
  val string_of_typedecl : Cudf_types.typedecl -> string
  val string_of_type : Cudf_types.typ -> string
  val string_of_value : Cudf_types.typed_value -> string
end