package zelus
A synchronous language with ODEs
Install
Dune Dependency
Authors
Maintainers
Sources
2.2.tar.gz
md5=437ae922f1fda392efca3e37e8b8bb4c
sha512=d591cdbeedb8f3a7f568d6d4994de572093822cb354b112886326219174311715a71a35de57a4c2070eae349f65f0c8f3d6c2f6a5a79a8187bbffc687cd108a6
doc/zelus.zlcompilerlibs/Obc/index.html
Module Obc
type exp =
| Oconst of immediate
| Oconstr0 of Lident.t
| Oconstr1 of Lident.t * exp list
| Oglobal of Lident.t
| Olocal of Zident.t
| Ovar of is_mutable * Zident.t
| Ostate of left_state_value
| Oaccess of exp * exp
| Oupdate of size * exp * exp * exp
| Oslice of exp * size * size
| Oconcat of exp * size * exp * size
| Ovec of exp * size
| Otuple of exp list
| Oapp of exp * exp list
| Orecord of (Lident.t * exp) list
| Orecord_access of exp * Lident.t
| Orecord_with of exp * (Lident.t * exp) list
| Otypeconstraint of exp * type_expression
| Oifthenelse of exp * exp * exp
| Omethodcall of method_call
| Oinst of inst
and inst =
| Olet of pattern * exp * inst
| Oletvar of Zident.t * is_mutable * Deftypes.typ * exp option * inst
| Ofor of bool * Zident.t * exp * exp * inst
| Owhile of exp * inst
| Omatch of exp * inst match_handler list
| Oif of exp * inst * inst option
| Oassign of left_value * exp
| Oassign_state of left_state_value * exp
| Osequence of inst list
| Oexp of exp
and left_value =
| Oleft_name of Zident.t
| Oleft_record_access of left_value * Lident.t
| Oleft_index of left_value * exp
and left_state_value =
| Oself
| Oleft_state_global of Lident.t
| Oleft_instance_name of Zident.t
| Oleft_state_name of Zident.t
| Oleft_state_record_access of left_state_value * Lident.t
| Oleft_state_index of left_state_value * exp
| Oleft_state_primitive_access of left_state_value * primitive_access
and pattern =
| Owildpat
| Otuplepat of pattern list
| Ovarpat of Zident.t * type_expression
| Oconstpat of immediate
| Oaliaspat of pattern * Zident.t
| Oconstr0pat of Lident.t
| Oconstr1pat of Lident.t * pattern list
| Oorpat of pattern * pattern
| Otypeconstraintpat of pattern * type_expression
| Orecordpat of (Lident.t * pattern) list
and machine = {
ma_kind : Deftypes.kind;
ma_params : pattern list;
ma_initialize : inst option;
ma_memories : mentry list;
ma_instances : ientry list;
ma_methods : method_desc list;
}
and mentry = {
m_name : Zident.t;
m_value : exp option;
m_typ : Deftypes.typ;
m_kind : Deftypes.mkind option;
m_size : exp path;
}
and method_desc = {
me_name : method_name;
me_params : pattern list;
me_body : inst;
me_typ : Deftypes.typ;
}
and method_name = name
and implementation_list = implementation list
and type_expression =
| Otypevar of string
| Otypefun of kind * Zident.t option * type_expression * type_expression
| Otypetuple of type_expression list
| Otypeconstr of Lident.t * type_expression list
| Otypevec of type_expression * size
and type_decl =
| Oabstract_type
| Oabbrev of type_expression
| Ovariant_type of constr_decl list
| Orecord_type of (string * type_expression) list
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>