package zelus

  1. Overview
  2. Docs
type immediate =
  1. | Eint of int
  2. | Efloat of float
  3. | Ebool of bool
  4. | Echar of char
  5. | Estring of string
  6. | Evoid
type name = string
type 'a loc = {
  1. mutable t_desc : 'a;
  2. mutable t_index : int;
  3. mutable t_level : int;
}
type typ = typ_desc loc
and typ_desc =
  1. | Tvar
  2. | Tproduct of typ list
  3. | Tconstr of Lident.qualident * typ list * abbrev Stdlib.ref
  4. | Tvec of typ * size
  5. | Tfun of kind * Zident.t option * typ * typ
and size =
  1. | Tconst of int
  2. | Tglobal of Lident.qualident
  3. | Tname of Zident.t
  4. | Top of op * size * size
and op =
  1. | Tplus
  2. | Tminus
and abbrev =
  1. | Tnil
  2. | Tcons of typ list * typ
and typ_scheme = {
  1. typ_vars : typ list;
  2. mutable typ_body : typ;
}
and typ_instance = {
  1. typ_instance : typ list;
}
and kind =
  1. | Tstatic of bool
  2. | Tany
  3. | Tcont
  4. | Tdiscrete of bool
  5. | Tproba
type tentry = {
  1. mutable t_sort : tsort;
  2. mutable t_typ : typ;
}
and tsort =
  1. | Sstatic
  2. | Sval
  3. | Svar of var
  4. | Smem of mem
and var = {
  1. v_combine : Lident.t option;
  2. v_default : constant option;
}
and mem = {
  1. m_kind : mkind option;
  2. m_next : bool option;
  3. m_previous : bool;
  4. m_init : minit;
  5. m_combine : Lident.t option;
}
and mkind =
  1. | Cont
  2. | Zero
  3. | Horizon
  4. | Period
  5. | Encore
  6. | Major
and minit =
  1. | Noinit
  2. | InitEq
  3. | InitDecl of constant
and constant =
  1. | Cimmediate of immediate
  2. | Cglobal of Lident.t
type defnames = {
  1. dv : Zident.S.t;
  2. nv : Zident.S.t;
  3. mv : Zident.S.t;
  4. di : Zident.S.t;
  5. der : Zident.S.t;
}

Names written in a block

val names : Zident.S.t -> defnames -> Zident.S.t
val cur_names : Zident.S.t -> defnames -> Zident.S.t
val empty : defnames

Making values

val make : 'a -> 'b loc
val make_realtime : 'a -> 'b loc
val no_typ : typ_desc loc
val is_no_typ : typ -> bool
val no_typ_scheme : typ_scheme
val no_typ_instance : typ_instance
val no_abbrev : unit -> abbrev Stdlib.ref
val static : tsort
val value : tsort
val variable : tsort
val empty_mem : mem
val initialized : mem -> mem
val previous : mem -> mem
val next : mem -> mem
val zero : mem -> tsort
val horizon : mem -> tsort
val major : unit -> tsort
val default : constant option -> Lident.t option -> tsort
val imem : mem
val cmem : Lident.t option -> mem -> mem
val mem : mem
val memory : tsort
val imemory : tsort
val entry : tsort -> typ -> tentry
val desc : 'a loc -> 'b
val index : 'a loc -> int