package lustre-v6

  1. Overview
  2. Docs

Manipulating data in the Soc interpreter

type path = Soc.ident list
type subst = path * Data.v
type substs
val sadd : substs -> path -> Data.v -> substs
val sadd_partial : substs -> Soc.var_expr -> path -> Data.v -> substs
type ctx = {
  1. cpath : Soc.ident list;
  2. s : substs;
}
val create_ctx : Soc.tbl -> Soc.t -> ctx
val get_val : Soc.ident -> ctx -> Data.v
val get_value : ctx -> Soc.var_expr -> Data.v
val get_enum : Soc.ident -> ctx -> Soc.ident
val get_vals : ctx -> Data.subst list
val string_of_substs : substs -> string
val dump_substs : substs -> unit
val read_enum : Soc.ident list -> Soc.ident
val read_value : Soc.var -> Data.v
val substitute_args_and_params : Soc.var_expr list -> Soc.var list -> ctx -> substs
val substitute_params_and_args : Soc.var list -> Soc.var_expr list -> ctx -> substs
val filter_top_subst : substs -> Data.subst list
val substs_to_data_subst : substs -> Data.subst list