`type field = string`

A field name

`type regexp = string * Re.Pcre.regexp`

A pair of a PCRE regexp and its string representation (as parsed from configuration, used for pretty-printing).

`type comparison =`

1. `| Le`
2. `| Lt`
3. `| Eq`
4. `| Gt`
5. `| Ge`

`type status =`

1. `| Unknown`
2. `| Up_to_date`
3. `| Outdated`
4. `| Partial`

`type expr =`

1. `| Etrue`
2. `| Efalse`
3. `| EMatch of field * expr`
4. `| ENot of expr`
5. `| EAnd of expr * expr`
6. `| EOr of expr * expr`
7. `| ESource`
8. `| EList of expr list`
9. `| EString of string`
10. `| ERegexp of regexp`
11. `| EVersion of comparison * string`
12. `| EDep of string * comparison * string`
    (*

    The abstract syntax tree of configuration items.

    *)

`type config = expr Core.StringMap.t`

The type of parsed configuration files. Configuration files are key-value pairs, where values have type `expr`.

`type source =`

1. `| File of string`
2. `| Stdin`
3. `| NoSource`