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 -> 'a Zelus.block
val block_with_emit : (Zelus.exp -> 'a) -> Zelus.exp -> 'a list Zelus.block
val block_with_result : Ident.t -> Zelus.eq list -> Zelus.eq list Zelus.block
val name_with_sort : bool -> Location.location -> Rename.value Rename.t -> Rename.key -> Ident.t
val longname : Parsetree.longname -> Lident.t
val operator : 'a -> Rename.value Rename.t -> Parsetree.op -> Zelus.op
val build : bool -> S.t -> Parsetree.pattern -> S.t

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

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

Builds the set of names defined in a list of equations

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

Renaming of a pattern

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

Two generic functions for control blocks (present/match)

val present_handler_list : ('a -> Parsetree.scondpat -> Rename.value Rename.t * 'b * Zelus.scondpat) -> ('c -> 'b -> 'd -> 'e) -> 'c -> 'a -> 'd Parsetree.present_handler list -> 'e Zelus.present_handler list

Scoping an expression

val equation_list : Rename.value Rename.t -> Rename.value Rename.t -> Parsetree.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 * Parsetree.type_decl_desc Parsetree.localized) list -> ('a * 'b * Zelus.type_decl_desc Zelus.localized) list
OCaml

Innovation. Community. Security.