`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`