Kappa_terms.LKappaSourceIntermediate representation of model on which sanity has been checked
type rule_agent = {ra_type : int;ra_erased : bool;ra_ports : ((int, int * int) link Kappa_data_structures.Loc.annoted * switching)
array;ra_ints : rule_internal array;ra_syntax : (((int, int * int) link Kappa_data_structures.Loc.annoted
* switching)
array
* rule_internal array)
option;}A representation of 'left-hand-side' agent that stores how everything is transformed. In an observable (a mixture in an alg_expr), everything is Maintained (represented by I_VAL_CHANGED (i,i) for internal states).
The field ra_syntax represents how the user describe the agent before compilation. Therefore, compil_of_ast in this module generates rule_agent where ra_syntax is Some (Array.copy ra_ports, Array.copy ra_ints).
rule_mixture is the mixture description from the initial state of a rule
type rule = {r_mix : rule_mixture;Initial mixture state
*)r_created : Raw_mixture.t;Mixture state after rule is applied
*)r_delta_tokens : ((rule_mixture, int) Alg_expr.e
Kappa_data_structures.Loc.annoted
* int)
list;r_rate : (rule_mixture, int) Alg_expr.e Kappa_data_structures.Loc.annoted;r_un_rate : ((rule_mixture, int) Alg_expr.e Kappa_data_structures.Loc.annoted
* (rule_mixture, int) Alg_expr.e Kappa_data_structures.Loc.annoted
option)
option;r_edit_style : bool;If rule was written in edit style, else it's rewrite style
*)}val raise_not_enough_specified :
status:string ->
side:string ->
string ->
string Kappa_data_structures.Loc.annoted ->
'aval raise_several_occurence_of_site :
string ->
string Kappa_data_structures.Loc.annoted ->
'aval raise_link_should_be_removed :
int ->
string ->
string Kappa_data_structures.Loc.annoted ->
'aval print_rule_mixture :
noCounters:bool ->
Kappa_site_graphs.Signature.s ->
Kappa_site_graphs.Counters_info.t ->
ltypes:bool ->
Raw_mixture.t ->
Format.formatter ->
rule_mixture ->
unitval print_link :
('a -> Format.formatter -> 'a -> unit) ->
(Format.formatter -> 'a -> unit) ->
(Format.formatter -> 'b -> unit) ->
Format.formatter ->
('a, 'b) link ->
unitval link_to_json :
('a -> 'a -> Yojson.Basic.t) ->
('a -> Yojson.Basic.t) ->
('b -> Yojson.Basic.t list) ->
('a, 'b) link ->
Yojson.Basic.tFragile: the list MUST NOT be a singleton
val print_rates :
noCounters:bool ->
Kappa_site_graphs.Signature.s ->
Kappa_site_graphs.Counters_info.t ->
(Format.formatter -> int -> unit) ->
(Format.formatter -> int -> unit) ->
Format.formatter ->
rule ->
unitval print_rule :
noCounters:bool ->
full:bool ->
Kappa_site_graphs.Signature.s ->
Kappa_site_graphs.Counters_info.t ->
(Format.formatter -> int -> unit) ->
(Format.formatter -> int -> unit) ->
Format.formatter ->
rule ->
unitval rule_to_json :
filenames:int Kappa_data_structures.Mods.StringMap.t ->
rule ->
Yojson.Basic.t