package KaSim

  1. Overview
  2. Docs
module Transformation : sig ... end
type alg_expr = (Pattern.id array list, int) Alg_expr.e
type elementary_rule = {
  1. rate : alg_expr Locality.annot;
  2. unary_rate : (alg_expr Locality.annot * alg_expr option) option;
  3. connected_components : Pattern.id array;
  4. removed : Instantiation.abstract Transformation.t list;
  5. inserted : Instantiation.abstract Transformation.t list;
  6. delta_tokens : (alg_expr Locality.annot * int) list;
  7. syntactic_rule : int;
  8. instantiations : Instantiation.abstract Instantiation.event;
}
val extract_cc_ids : elementary_rule -> Pattern.id array
val rule_to_yojson : filenames:int Mods.StringMap.t -> elementary_rule -> Yojson.Basic.json
val rule_of_yojson : filenames:string array -> Yojson.Basic.json -> elementary_rule
type !'alg_expr print_expr =
  1. | Str_pexpr of string Locality.annot
  2. | Alg_pexpr of 'alg_expr Locality.annot
val print_expr_to_yojson : filenames:int Mods.StringMap.t -> ('a -> Yojson.Basic.json) -> ('b -> Yojson.Basic.json) -> ('a, 'b) Alg_expr.e print_expr -> Yojson.Basic.json
val print_expr_of_yojson : filenames:string array -> (Yojson.Basic.json -> 'a) -> (Yojson.Basic.json -> 'b) -> Yojson.Basic.json -> ('a, 'b) Alg_expr.e print_expr
type din_kind =
  1. | ABSOLUTE
  2. | RELATIVE
  3. | PROBABILITY
val din_kind_to_yojson : din_kind -> Yojson.Basic.json
val din_kind_of_yojson : Yojson.Basic.json -> din_kind
val write_din_kind : Bi_outbuf.t -> din_kind -> unit
val string_of_din_kind : ?len:int -> din_kind -> string
val din_kind_of_string : string -> din_kind
type modification =
  1. | ITER_RULE of alg_expr Locality.annot * elementary_rule
  2. | UPDATE of int * alg_expr Locality.annot
  3. | SNAPSHOT of alg_expr print_expr list
  4. | STOP of alg_expr print_expr list
  5. | CFLOW of string option * Pattern.id array * Instantiation.abstract Instantiation.test list list
  6. | DIN of din_kind * alg_expr print_expr list
  7. | DINOFF of alg_expr print_expr list
  8. | CFLOWOFF of string option * Pattern.id array
  9. | PLOTENTRY
  10. | PRINT of alg_expr print_expr list * alg_expr print_expr list
  11. | SPECIES of alg_expr print_expr list * Pattern.id array * Instantiation.abstract Instantiation.test list list
  12. | SPECIES_OFF of alg_expr print_expr list
type perturbation = {
  1. alarm : Nbr.t option;
  2. precondition : (Pattern.id array list, int) Alg_expr.bool Locality.annot;
  3. effect : modification list;
  4. repeat : (Pattern.id array list, int) Alg_expr.bool Locality.annot;
  5. needs_backtrack : bool;
}
val perturbation_to_yojson : filenames:int Mods.StringMap.t -> perturbation -> Yojson.Basic.json
val perturbation_of_yojson : filenames:string array -> Yojson.Basic.json -> perturbation
val exists_modification : (modification -> bool) -> perturbation array -> bool
val extract_connected_components_modifications : modification list -> Pattern.id list
val extract_connected_components_bool : (Pattern.id array list, int) Alg_expr.bool Locality.annot -> Pattern.id list
val stops_of_perturbation : (Operator.DepSet.t * Operator.DepSet.t * Operator.DepSet.t array * Operator.DepSet.t array) -> perturbation -> (Nbr.t option * Nbr.t) list