module Emitter:sig
..end
type
emitter
type
kind =
| |
Property_status |
|||
| |
Alarm |
|||
| |
Code_annot |
|||
| |
Funspec |
|||
| |
Global_annot |
(* |
When selecting
Alarm , Code_annot is also automatically selected | *) |
include Datatype.S_with_collections
val create : string ->
kind list ->
correctness:Typed_parameter.t list -> tuning:Typed_parameter.t list -> t
Emitter.create name kind ~correctness ~tuning
creates a new emitter with
the given name. The given parameters are the ones which impact the generated
annotations/status. A "correctness" parameter may fully change a generated
element when its value changes (for instance, a valid status may become
invalid and conversely). A "tuning" parameter may improve a generated
element when its value changes (for instance, a "dont_know" status may
become valid or invalid, but a valid status cannot become invalid).
The given name must be unique.Invalid_argument
if an emitter with the given name already existval get_name : t -> string
val correctness_parameters : t -> string list
val tuning_parameters : t -> string list
val end_user : t
val kernel : t
module Usable_emitter:sig
..end
val distinct_tuning_parameters : Usable_emitter.t -> Datatype.String.Set.t
val distinct_correctness_parameters : Usable_emitter.t -> Datatype.String.Set.t
val get : t -> Usable_emitter.t
get
and the emission (in particular no update
of any parameter of the emitter.val self : State.t
val dummy : t
module Make_table:functor (
H
:
Datatype.Hashtbl
) ->
functor (
E
:
sig
include Datatype.S_with_collections
val local_clear :H.key -> 'a Hashtbl.t -> unit
val usable_get :t -> Emitter.Usable_emitter.t
val get :t -> Emitter.emitter
end
) ->
functor (
D
:
Datatype.S
) ->
functor (
Info
:
sig
include State_builder.Info_with_size
val kinds :Emitter.kind list
end
) ->
sig
..end