`sig
val empty : OpamTypes.file
val map :
(string -> OpamTypes.value -> (string * OpamTypes.value) option) ->
OpamTypes.file -> OpamTypes.file
val variables : OpamTypes.file_item list -> (string * OpamTypes.value) list
val sections :
OpamTypes.file_item list -> (string * OpamTypes.file_section) list
val is_valid : OpamTypes.file_item list -> string list -> bool
val invalid_fields : OpamTypes.file_item list -> string list -> string list
exception Bad_format of OpamTypes.pos option * string list * string
val bad_format :
?pos:OpamTypes.pos -> ('a, unit, string, 'b) Pervasives.format4 -> 'a
val string_of_bad_format : ?file:OpamTypes.filename -> exn -> string
val add_pos : OpamTypes.pos -> exn -> exn
val value_pos : OpamTypes.value -> OpamTypes.pos
val values_pos : OpamTypes.value list -> OpamTypes.pos option
val parse_bool : OpamTypes.value -> bool
val parse_int : OpamTypes.value -> int
val parse_ident : OpamTypes.value -> string
val parse_string : OpamTypes.value -> string
val parse_list : (OpamTypes.value -> 'a) -> OpamTypes.value -> 'a list
val parse_list_list : (OpamTypes.value -> 'a) -> OpamTypes.value -> 'a list
val parse_group : (OpamTypes.value -> 'a) -> OpamTypes.value -> 'a list
val parse_option :
(OpamTypes.value -> 'a) ->
(OpamTypes.value list -> 'b) -> OpamTypes.value -> 'a * 'b option
val parse_single_option :
(OpamTypes.value -> 'a) ->
(OpamTypes.value -> 'b) -> OpamTypes.value -> 'a * 'b option
val parse_string_option :
(OpamTypes.value list -> 'a) -> OpamTypes.value -> string * 'a option
val parse_string_list : OpamTypes.value -> string list
val parse_single_string : OpamTypes.value list -> string
val parse_pair :
(OpamTypes.value -> 'a) ->
(OpamTypes.value -> 'b) -> OpamTypes.value -> 'a * 'b
val parse_or :
(string * (OpamTypes.value -> 'a)) list -> OpamTypes.value -> 'a
val make_bool : bool -> OpamTypes.value
val make_int : int -> OpamTypes.value
val make_ident : string -> OpamTypes.value
val make_string : string -> OpamTypes.value
val make_list : ('a -> OpamTypes.value) -> 'a list -> OpamTypes.value
val make_string_list : string list -> OpamTypes.value
val make_group : ('a -> OpamTypes.value) -> 'a list -> OpamTypes.value
val make_option :
('a -> OpamTypes.value) ->
('b -> OpamTypes.value list) -> 'a * 'b option -> OpamTypes.value
val make_pair :
('a -> OpamTypes.value) ->
('b -> OpamTypes.value) -> 'a * 'b -> OpamTypes.value
val make_string_pair : string * string -> OpamTypes.value
val make_section : OpamTypes.file_section -> OpamTypes.file_item
val make_variable : string * OpamTypes.value -> OpamTypes.file_item
val string_of_value : OpamTypes.value -> string
val string_of_values : OpamTypes.value list -> string
val string_of_file : simplify:bool -> OpamTypes.file -> string
val assoc :
OpamTypes.file_item list -> string -> (OpamTypes.value -> 'a) -> 'a
val assoc_option :
OpamTypes.file_item list ->
string -> (OpamTypes.value -> 'a) -> 'a option
val assoc_default :
'a -> OpamTypes.file_item list -> string -> (OpamTypes.value -> 'a) -> 'a
val assoc_list :
OpamTypes.file_item list ->
string -> (OpamTypes.value -> 'a list) -> 'a list
val assoc_string_list : OpamTypes.file_item list -> string -> string list
val get_section_by_kind :
OpamTypes.file_item list -> string -> OpamTypes.file_section
val get_all_section_by_kind :
OpamTypes.file_item list -> string -> OpamTypes.file_section list
val assoc_sections :
OpamTypes.file_item list ->
string -> (OpamTypes.file_section -> 'a) -> 'a list
val parse_package_name :
?expected:OpamTypes.name -> OpamTypes.value -> OpamTypes.name
val parse_package_version :
?expected:OpamTypes.version -> OpamTypes.value -> OpamTypes.version
val parse_formula : OpamTypes.value -> OpamTypes.formula
val make_formula : OpamTypes.formula -> OpamTypes.value
val parse_ext_formula : OpamTypes.value -> OpamTypes.ext_formula
val make_ext_formula : OpamTypes.ext_formula -> OpamTypes.value
val parse_opt_formula : OpamTypes.value -> OpamTypes.ext_formula
val make_opt_formula : OpamTypes.ext_formula -> OpamTypes.value
val parse_compiler_version : OpamTypes.value -> OpamTypes.compiler_version
val parse_compiler_constraint :
OpamTypes.value -> OpamTypes.compiler_constraint
val make_compiler_constraint :
OpamTypes.compiler_constraint -> OpamTypes.value
val parse_os_constraint :
OpamTypes.value -> (bool * string) OpamTypes.generic_formula
val make_os_constraint :
(bool * string) OpamTypes.generic_formula -> OpamTypes.value
val parse_env_variable : OpamTypes.value -> string * string * string
val make_env_variable : string * string * string -> OpamTypes.value
val parse_filter : OpamTypes.value list -> OpamTypes.filter
val make_filter : OpamTypes.filter -> OpamTypes.value list
val parse_single_command : OpamTypes.value -> OpamTypes.arg list
val make_single_command : OpamTypes.arg list -> OpamTypes.value
val parse_command : OpamTypes.value -> OpamTypes.command
val make_command : OpamTypes.command -> OpamTypes.value
val parse_commands : OpamTypes.value -> OpamTypes.command list
val make_commands : OpamTypes.command list -> OpamTypes.value
val parse_messages :
OpamTypes.value -> (string * OpamTypes.filter option) list
val make_libraries :
(string * OpamTypes.filter option) list -> OpamTypes.value
val parse_libraries :
OpamTypes.value -> (string * OpamTypes.filter option) list
val make_flag : OpamTypes.package_flag -> OpamTypes.value
val parse_flag : OpamTypes.value -> OpamTypes.package_flag
val parse_tags : OpamTypes.value -> OpamTypes.tags
val make_tags : OpamTypes.tags -> OpamTypes.value
val parse_features :
OpamTypes.value -> (OpamVariable.t * string * OpamTypes.filter) list
val make_features :
(OpamVariable.t * string * OpamTypes.filter) list -> OpamTypes.value
end`