package zelus

  1. Overview
  2. Docs
module Error : sig ... end
module S : sig ... end
type defnames = S.t
module Rename : sig ... end
val eblock : 'a -> 'b Zelus.block
val block_with_emit : (Zelus.exp -> 'a) -> Zelus.exp -> 'b list Zelus.block
val block_with_result : Zident.t -> Zelus.eq list -> Zelus.eq list Zelus.block
val name_with_sort : bool -> Zlocation.location -> Rename.value Rename.t -> Rename.key -> Zident.t
val longname : Zparsetree.longname -> Lident.t
val operator : 'a -> Rename.value Rename.t -> Zparsetree.op -> Zelus.op
val build : bool -> S.t -> Zparsetree.pattern -> S.t

if check_linear = true, stop when the same name appears twice

val build_list : bool -> S.t -> Zparsetree.pattern list -> S.t
val build_equation_list : S.t -> Zparsetree.eq list -> S.t

Builds the set of names defined in a list of equations

val build_equation : S.t -> Zparsetree.eq -> S.t
val build_block_equation_list : S.t -> Zparsetree.eq list Zparsetree.block -> S.t * S.t
val build_automaton_handler : S.t -> Zparsetree.eq list Zparsetree.block -> Zparsetree.escape list -> Zparsetree.escape list -> S.t

Renaming of a pattern

val check_pattern_list : Rename.value Rename.t -> Zparsetree.pattern list -> Zelus.pattern list
val match_handler_list : ('a -> Rename.value Rename.t -> 'b -> 'c) -> 'd -> Rename.value Rename.t -> 'e Zparsetree.match_handler list -> 'f Zelus.match_handler list

Two generic functions for control blocks (present/match)

val present_handler_list : ('a -> Zparsetree.scondpat -> Rename.value Rename.t * 'b * Zelus.scondpat) -> ('c -> 'd -> 'e -> 'f) -> 'g -> 'h -> 'i Zparsetree.present_handler list -> 'j Zelus.present_handler list

Scoping an expression

val equation_list : Rename.value Rename.t -> Rename.value Rename.t -> Zparsetree.eq list -> Zelus.eq list

Translating a sequence of local declarations

Translate a present and match when handlers are expressions or equations

Translate a block when the body is a list of equations

Translate an automaton

val type_decls : ('a * 'b * Zparsetree.type_decl_desc Zparsetree.localized) list -> ('c * 'd * Zelus.type_decl_desc Zelus.localized) list