package lustre-v6
The Lustre V6 Verimag compiler
Install
Dune Dependency
Authors
Maintainers
Sources
lustre-v6.v6.107.1.tgz
md5=4b642b106a76e19de3751afb53ccdcf4
sha512=ec6d35f0f4da219490cad7969d86e9128b7c3f03baa507f662b038b1915383581eda697ddb0e734a1a5311ef6b0908b1d0cf375a0be5dbb1aa7e9e79848037cc
doc/lustre-v6/AstCore/index.html
Module AstCore
Source
(Raw) Abstract syntax tree of source Lustre Core programs.
type_exp
is used to type flow, parameters, constants.
Source
and type_exp_core =
| Bool_type_exp
| Int_type_exp
| Real_type_exp
| Named_type_exp of Lv6Id.idref
| Array_type_exp of type_exp * val_exp
Source
and node_info = {
name : Lv6Id.t;
static_params : static_param Lxm.srcflagged list;
vars : node_vars option;
loc_consts : (Lxm.t * const_info) list;
def : node_def;
has_mem : bool;
is_safe : bool;
}
Source
and static_param =
| StaticParamType of Lv6Id.t
| StaticParamConst of Lv6Id.t * type_exp
| StaticParamNode of Lv6Id.t * var_info Lxm.srcflagged list * var_info Lxm.srcflagged list * has_mem_flag * is_safe_flag
Source
and node_vars = {
inlist : Lv6Id.t list;
outlist : Lv6Id.t list;
loclist : Lv6Id.t list option;
vartable : var_info_table;
}
Source
and var_info = {
var_nature : var_nature;
var_name : Lv6Id.t;
var_number : int;
var_type : type_exp;
var_clock : clock_exp;
}
Source
and left_part =
| LeftVar of Lv6Id.t Lxm.srcflagged
| LeftField of left_part * Lv6Id.t Lxm.srcflagged
| LeftArray of left_part * val_exp Lxm.srcflagged
| LeftSlice of left_part * slice_info Lxm.srcflagged
Source
and by_pos_op =
| Predef_n of AstPredef.op Lxm.srcflagged
| CALL_n of node_exp Lxm.srcflagged
| IDENT_n of Lv6Id.idref
| PRE_n
| ARROW_n
| FBY_n
| CURRENT_n
| WHEN_n of clock_exp
| TUPLE_n
| WITH_n of val_exp * val_exp * val_exp
| CONCAT_n
| HAT_n
| ARRAY_n
| STRUCT_ACCESS_n of Lv6Id.t
| ARRAY_ACCES_n of val_exp
| ARRAY_SLICE_n of slice_info
Source
and val_exp =
| CallByPos of by_pos_op Lxm.srcflagged * operands
| CallByName of by_name_op Lxm.srcflagged * (Lv6Id.t Lxm.srcflagged * val_exp) list
| Merge_n of val_exp Lxm.srcflagged * (Lv6Id.idref Lxm.srcflagged * val_exp) list
| Merge_bool_n of val_exp Lxm.srcflagged * val_exp * val_exp
Source
and by_name_op =
| STRUCT_n of Lv6Id.idref
| STRUCT_WITH_n of Lv6Id.idref * Lv6Id.idref
| STRUCT_anonymous_n
Source
and static_arg =
| StaticArgLv6Id of Lv6Id.idref
| StaticArgConst of val_exp
| StaticArgType of type_exp
| StaticArgNode of by_pos_op
Params statiques effectifs :
- val_exp (pour les constantes)
- type_exp (pour les types)
- node_exp (pour les node)
- ident : a résoudre, peut etre const, type ou node
constant
Type
Source
type struct_type_info = {
st_name : Lv6Id.t;
st_flist : Lv6Id.t list;
st_ftable : (Lv6Id.t, field_info Lxm.srcflagged) Hashtbl.t;
}
Operator
Source
type item_ident =
| ConstItem of Lv6Id.t
| TypeItem of Lv6Id.t
| NodeItem of Lv6Id.t * static_param Lxm.srcflagged list
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>