• en

Module OpamFormat

val empty : OpamTypes.file
The empty file
val map : string -> OpamTypes.value -> (string * OpamTypes.value) option -> OpamTypes.file -> OpamTypes.file
map a file
val variables : OpamTypes.file_item list -> (string * OpamTypes.value) list
Get all the variable definitions from a list of items
val sections : OpamTypes.file_item list -> (string * OpamTypes.file_section) list
Get all the sections from a list of items
val is_valid : OpamTypes.file_item list -> string list -> bool
Check whether a list of items contains only valid variable definitions
val invalid_fields : OpamTypes.file_item list -> string list -> string list
Find all the invalid fields
exception Bad_format of OpamTypes.pos option * string list * string
All the following parsing function raise Bad_format in case the input does not have the right format.
val bad_format : ?pos:OpamTypes.pos -> ('a, unit, string, 'b) Pervasives.format4 -> 'a
Raise Bad_format.
val add_pos : OpamTypes.pos -> exn -> exn
Adds a position to a Bad_format exception if it doesn't have one yet
val value_pos : OpamTypes.value -> OpamTypes.pos
Get the position out of a value
val values_pos : OpamTypes.value list -> OpamTypes.pos option
Get the position of the first element out of a value list
val parse_bool : OpamTypes.value -> bool
Parse a boolean
val parse_int : OpamTypes.value -> int
Parse an integer
val parse_ident : OpamTypes.value -> string
Parse an ident
val parse_string : OpamTypes.value -> string
Parse a string
val parse_list : OpamTypes.value -> 'a -> OpamTypes.value -> 'a list
Parse a list of 'things'
val parse_list_list : OpamTypes.value -> 'a -> OpamTypes.value -> 'a list
Parse a list of list of 'things'
val parse_group : OpamTypes.value -> 'a -> OpamTypes.value -> 'a list
Parse a group of 'things'
val parse_option : OpamTypes.value -> 'a -> OpamTypes.value list -> 'b -> OpamTypes.value -> ('a * 'b option)
Parse a value and its option of 'things'
val parse_single_option : OpamTypes.value -> 'a -> OpamTypes.value -> 'b -> OpamTypes.value -> ('a * 'b option)
Parse a value and a single optional value
val parse_string_option : OpamTypes.value list -> 'a -> OpamTypes.value -> (string * 'a option)
Parse a string with an optional argument
val parse_string_list : OpamTypes.value -> string list
Parse a list of strings
val parse_single_string : OpamTypes.value list -> string
Parse a single string
val parse_pair : OpamTypes.value -> 'a -> OpamTypes.value -> 'b -> OpamTypes.value -> ('a * 'b)
Parse a pair of strings
val parse_or : (string * OpamTypes.value -> 'a) list -> OpamTypes.value -> 'a
Try to parse the value using function from the list. All the parsing functions are tried until one succeeds. The first argument is a debug message.
val make_bool : bool -> OpamTypes.value
Create a boolean
val make_int : int -> OpamTypes.value
Create an integer
val make_ident : string -> OpamTypes.value
Create an ident
val make_string : string -> OpamTypes.value
Create a string
val make_list : 'a -> OpamTypes.value -> 'a list -> OpamTypes.value
Create a list of 'things'
val make_string_list : string list -> OpamTypes.value
Create a list of strings
val make_group : 'a -> OpamTypes.value -> 'a list -> OpamTypes.value
Create a group of 'things'
val make_option : 'a -> OpamTypes.value -> 'b -> OpamTypes.value list -> ('a * 'b option) -> OpamTypes.value
Create a value and its optional arguments
val make_pair : 'a -> OpamTypes.value -> 'b -> OpamTypes.value -> ('a * 'b) -> OpamTypes.value
Create a pair
val make_string_pair : (string * string) -> OpamTypes.value
Create a pair of strings
val make_section : OpamTypes.file_section -> OpamTypes.file_item
Create a file section
val make_variable : (string * OpamTypes.value) -> OpamTypes.file_item
Create a variable
val string_of_value : OpamTypes.value -> string
Print a value
val string_of_values : OpamTypes.value list -> string
Print a list of values
val string_of_file : simplify:bool -> indent:bool -> ?ignore:string list -> OpamTypes.file -> string
Print a file
val assoc : OpamTypes.file_item list -> string -> OpamTypes.value -> 'a -> 'a
Get the value of a field
val assoc_option : OpamTypes.file_item list -> string -> OpamTypes.value -> 'a -> 'a option
Get the value of a field. If the field does not exist, return None
val assoc_default : 'a -> OpamTypes.file_item list -> string -> OpamTypes.value -> 'a -> 'a
Get the value of a field. If the variable does not exist, return a default value
val assoc_list : OpamTypes.file_item list -> string -> OpamTypes.value -> 'a list -> 'a list
Get the value associated to a variable. If the variable does not exists, return
val assoc_string_list : OpamTypes.file_item list -> string -> string list
Get the string list associated to a variable. If the variable does not exist, return
val get_section_by_kind : OpamTypes.file_item list -> string -> OpamTypes.file_section
Get one section of a certain kind
val get_all_section_by_kind : OpamTypes.file_item list -> string -> OpamTypes.file_section list
Get all the sections of a certain kind
val assoc_sections : OpamTypes.file_item list -> string -> OpamTypes.file_section -> 'a -> 'a list
Get sections
val parse_package_name : OpamTypes.value -> OpamTypes.name
val parse_formula : OpamTypes.value -> OpamTypes.formula
Parse package formula where AND are implicit: x y -> x & y
val make_formula : OpamTypes.formula -> OpamTypes.value
Build a formula where AND are implicit.
val parse_ext_formula : OpamTypes.value -> OpamTypes.ext_formula
Parse an AND formula where constraints are extended with leading keywords
val make_ext_formula : OpamTypes.ext_formula -> OpamTypes.value
Make an AND formula where constraints are extended with leading keywords
val parse_opt_formula : OpamTypes.value -> OpamTypes.ext_formula
Parse optional package formula where OR are implicit: x y -> x | y
val make_opt_formula : OpamTypes.ext_formula -> OpamTypes.value
Build a formula where OR are implicit.
val parse_compiler_constraint : OpamTypes.value -> OpamTypes.compiler_constraint
Parse compiler constraints
val make_compiler_constraint : OpamTypes.compiler_constraint -> OpamTypes.value
Build a compiler constraint
val parse_os_constraint : OpamTypes.value -> (bool * string) OpamTypes.generic_formula
Parse an OS constraint
val make_os_constraint : (bool * string) OpamTypes.generic_formula -> OpamTypes.value
Build an OS constraint
val parse_env_variable : OpamTypes.value -> (string * string * string)
Parsing
val make_env_variable : (string * string * string) -> OpamTypes.value
Making
val parse_filter : OpamTypes.value list -> OpamTypes.filter
Parsing
val make_filter : OpamTypes.filter -> OpamTypes.value list
Creation
val parse_command : OpamTypes.value -> OpamTypes.command
Parse a command
val make_command : OpamTypes.command -> OpamTypes.value
Create a command
val parse_commands : OpamTypes.value -> OpamTypes.command list
Parse a list of commands
val make_commands : OpamTypes.command list -> OpamTypes.value
Create a list of commands
val parse_messages : OpamTypes.value -> (string * OpamTypes.filter option) list
Parse a list of commands
val make_libraries : (string * OpamTypes.filter option) list -> OpamTypes.value
Create a list of libraries/syntax
val parse_libraries : OpamTypes.value -> (string * OpamTypes.filter option) list
Parse a list of libraries/syntax
val make_flag : OpamTypes.package_flag -> OpamTypes.value
Create a package flag
val parse_flag : OpamTypes.value -> OpamTypes.package_flag option
Parse a package flag
val parse_tags : OpamTypes.value -> OpamTypes.tags
Parse tags
val make_tags : OpamTypes.tags -> OpamTypes.value
Make tags