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 enum_keep =
[ `Keep_feature | `Keep_none | `Keep_package | `Keep_version ]
type vpkgformula = Cudf_types.vpkg list list
type veqpkg = Cudf_types.pkgname * ([ `Eq ] * Cudf_types.version) option
type veqpkglist = Cudf_types.veqpkg list
type typ =
[ `Bool
| `Enum of string list
| `Ident
| `Int
| `Nat
| `Pkgname
| `Posint
| `String
| `Typedecl
| `Veqpkg
| `Veqpkglist
| `Vpkg
| `Vpkgformula
| `Vpkglist ]
val keep_type : Cudf_types.typ
val keep_enums : string list
type typedecl1 =
[ `Bool of bool option
| `Enum of string list * string option
| `Ident of string option
| `Int of int option
| `Nat of int option
| `Pkgname of string option
| `Posint of int option
| `String of string option
| `Typedecl of Cudf_types.typedecl option
| `Veqpkg of Cudf_types.veqpkg option
| `Veqpkglist of Cudf_types.veqpkglist option
| `Vpkg of Cudf_types.vpkg option
| `Vpkgformula of Cudf_types.vpkgformula option
| `Vpkglist of Cudf_types.vpkglist option ]
and typedecl = (string * Cudf_types.typedecl1) list
type typed_value =
[ `Bool of bool
| `Enum of string list * string
| `Ident of string
| `Int of int
| `Nat of int
| `Pkgname of string
| `Posint of int
| `String of string
| `Typedecl of Cudf_types.typedecl
| `Veqpkg of Cudf_types.veqpkg
| `Veqpkglist of Cudf_types.veqpkglist
| `Vpkg of Cudf_types.vpkg
| `Vpkgformula of Cudf_types.vpkgformula
| `Vpkglist of Cudf_types.vpkglist ]
val type_of_typedecl : Cudf_types.typedecl1 -> Cudf_types.typ
val typedecl_of_value : Cudf_types.typed_value -> Cudf_types.typedecl1
val value_of_typedecl :
Cudf_types.typedecl1 -> Cudf_types.typed_value option
val typedecl_of_type : Cudf_types.typ -> Cudf_types.typedecl1
val type_of_value : Cudf_types.typed_value -> Cudf_types.typ
val cast :
Cudf_types.typ -> Cudf_types.typed_value -> Cudf_types.typed_value
type 'ty stanza = (string * 'ty) list
type loc = Lexing.position * Lexing.position
val dummy_loc : Cudf_types.loc
val extend_loc : Cudf_types.loc -> Cudf_types.loc -> Cudf_types.loc
val loc_of_lexbuf : Lexing.lexbuf -> Cudf_types.loc
exception Parse_error_822 of string * Cudf_types.loc
exception Syntax_error of string * Cudf_types.loc
exception Type_error of Cudf_types.typ * Cudf_types.typed_value *
Cudf_types.loc
val is_eq_formula : Cudf_types.vpkgformula -> bool
end