package kappa-library

  1. Overview
  2. Docs
Public internals of the Kappa tool suite. Use this package to use kappa as a lib

Install

Dune Dependency

Authors

Maintainers

Sources

v4.1.3.tar.gz
md5=1c9a8a0d79f085757817f90834e166f5
sha512=13ac40442940ba6e72d7dc5bf952e67443872f7bff63e9c76a3a699a6904c88696047fe04519b7ec6546371642f6ee7b0983117be302694aca15500b0df40de3

doc/kappa-library.terms/Kappa_terms/LKappa/index.html

Module Kappa_terms.LKappaSource

Intermediate representation of model on which sanity has been checked

Sourcetype switching =
  1. | Linked of int
  2. | Freed
  3. | Maintained
  4. | Erased
Sourcetype rule_internal =
  1. | I_ANY
  2. | I_ANY_CHANGED of int
  3. | I_ANY_ERASED
  4. | I_VAL_CHANGED of int * int
  5. | I_VAL_ERASED of int
Sourcetype rule_agent = {
  1. ra_type : int;
  2. ra_erased : bool;
  3. ra_ports : ((int, int * int) link Kappa_data_structures.Loc.annoted * switching) array;
  4. ra_ints : rule_internal array;
  5. 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).

Sourcetype rule_mixture = rule_agent list

rule_mixture is the mixture description from the initial state of a rule

Sourcetype rule = {
  1. r_mix : rule_mixture;
    (*

    Initial mixture state

    *)
  2. r_created : Raw_mixture.t;
    (*

    Mixture state after rule is applied

    *)
  3. r_delta_tokens : ((rule_mixture, int) Alg_expr.e Kappa_data_structures.Loc.annoted * int) list;
  4. r_rate : (rule_mixture, int) Alg_expr.e Kappa_data_structures.Loc.annoted;
  5. 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;
  6. r_edit_style : bool;
    (*

    If rule was written in edit style, else it's rewrite style

    *)
}
Sourceval to_maintained : rule_mixture -> rule_mixture
Sourceval copy_rule_agent : rule_agent -> rule_agent
Sourceval raise_if_modification : Kappa_data_structures.Loc.t -> 'a option -> unit
Sourceval raise_several_internal_states : Kappa_data_structures.Loc.t -> 'a
Sourceval raise_not_enough_specified : status:string -> side:string -> string -> string Kappa_data_structures.Loc.annoted -> 'a
Sourceval raise_several_occurence_of_site : string -> string Kappa_data_structures.Loc.annoted -> 'a
Sourceval raise_counter_misused : string -> string Kappa_data_structures.Loc.annoted -> 'a
Sourceval 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 -> unit

Fragile: the list MUST NOT be a singleton

Sourceval 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 -> unit
Sourceval 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 -> unit
Sourceval rule_to_json : filenames:int Kappa_data_structures.Mods.StringMap.t -> rule -> Yojson.Basic.t
Sourceval rule_of_json : filenames:string array -> Yojson.Basic.t -> rule
OCaml

Innovation. Community. Security.