45 lines
1.6 KiB
OCaml
45 lines
1.6 KiB
OCaml
(**************************************************************************)
|
|
(* *)
|
|
(* OCaml *)
|
|
(* *)
|
|
(* Sebastien Hinderer, projet Gallium, INRIA Paris *)
|
|
(* *)
|
|
(* Copyright 2016 Institut National de Recherche en Informatique et *)
|
|
(* en Automatique. *)
|
|
(* *)
|
|
(* All rights reserved. This file is distributed under the terms of *)
|
|
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
(* special exception on linking described in the file LICENSE. *)
|
|
(* *)
|
|
(**************************************************************************)
|
|
|
|
(* Definition of actions, basic blocks for tests *)
|
|
|
|
type code = out_channel -> Environments.t -> Result.t * Environments.t
|
|
|
|
type t
|
|
|
|
val name : t -> string
|
|
|
|
val action_name : Variables.t
|
|
|
|
val update : t -> code -> t
|
|
|
|
val make : string -> code -> t
|
|
|
|
val compare : t -> t -> int
|
|
|
|
val register : t -> unit
|
|
|
|
val get_registered_actions : unit -> t list
|
|
|
|
val lookup : string -> t option
|
|
|
|
val set_hook : string -> code -> unit
|
|
val clear_hook : string -> unit
|
|
val clear_all_hooks : unit -> unit
|
|
|
|
val run : out_channel -> Environments.t -> t -> Result.t * Environments.t
|
|
|
|
module ActionSet : Set.S with type elt = t
|