Module Ben.Types

Ben-specific basic datatypes.

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