package goblint

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

New, untyped, path-based configuration subsystem.

  path' ::== \epsilon              (*  *)
           | . <field-name> path'  (* field access *)
           | [ <index-nr> ] path'  (* array index access *)
           | [ + ] path'           (* cons to array *)
           | [ - ] path'           (* cons away from array *)
           | [ * ] path'           (* reset array *)

  path ::==              path'     (*  *)
          | <field_name> path'     (* you can leave out the first dot *)

All functions failwith on error. Warnings are generated in verbose mode.

There is a "conf" trace option that traces setting.

exception ConfigError of string
val build_config : bool Prelude.ref
val phase : int Prelude.ref
val phase_config : bool Prelude.ref
module type S = sig ... end

The type for gobConfig module.

module Impl : S

The implementation of the gobConfig module.

include module type of struct include Impl end

The implementation of the gobConfig module.

val get_int : string -> int

Functions to query conf variable of type int.

val set_int : string -> int -> unit

Functions to modify conf variables of type int.

val get_bool : string -> bool

Functions to query conf variable of type bool.

val set_bool : string -> bool -> unit

Functions to modify conf variables of type bool.

val get_string : string -> string

Functions to query conf variable of type string.

val set_string : string -> string -> unit

Functions to modify conf variables of type string.

val set_auto : string -> string -> unit

Functions to modify conf variables by trying to parse the value. The second argument must be valid Json except single quotes represent double quotes.

val get_list : string -> Yojson.Safe.t list

Get a list of values

val get_string_list : string -> string list

Get a list of strings

val set_list : string -> Yojson.Safe.t list -> unit

Set a list of values

val set_null : string -> unit

Functions to set a conf variables to null.

val print : 'a BatInnerIO.output -> unit

Print the current configuration

val write_file : string -> unit

Write the current configuration to filename

val merge_file : string -> unit

Merge configurations form a file with current.

val addenum_sch : Yojson.Safe.t -> unit

Add a schema to the conf