package lustre-v6

  1. Overview
  2. Docs
type sx_VarDeclList = ((Lxm.t list * AstCore.type_exp) list * AstCore.clock_exp) list
type sx_Params = sx_VarDeclList
type sx_LocalVars = sx_VarDeclList
val flat_flagged_list : ('a list * 'b) list -> ('a -> 'b -> 'c) -> 'c list
val flat_twice_flagged_list : (('a list * 'b) list * 'c) list -> ('a -> 'b -> 'c -> 'd) -> 'd list
val name_table : (string, unit) Hashtbl.t
val idref_of_lxm : Lxm.t -> Lv6Id.idref Lxm.srcflagged
val lexeme_to_ident_flagged : Lxm.t -> Lv6Id.t Lxm.srcflagged

Traitement des listes d'idents avec valeur éventuelle (constantes, champs de struct etc...)

val lexeme_to_val_exp_flagged : Lxm.t -> AstCore.val_exp Lxm.srcflagged
val lexeme_to_pack_name_flagged : Lxm.t -> Lv6Id.pack_name Lxm.srcflagged
val make_merge_bool_op : Lxm.t -> AstCore.val_exp -> AstCore.val_exp -> AstCore.val_exp
type bool_or_idref =
  1. | Bool of bool
  2. | Idref of Lv6Id.idref
    (*

    Utilitaries to build val_exp

    *)
val make_merge_op : Lxm.t -> (bool_or_idref * Lxm.t * AstCore.val_exp) list -> AstCore.val_exp
val save_make_merge_op : Lxm.t -> (Lv6Id.idref Lxm.srcflagged * AstCore.val_exp) list -> AstCore.val_exp
val make_predef_posop : Lxm.t -> AstPredef.op -> AstCore.by_pos_op Lxm.srcflagged
val leafexp_predef : Lxm.t -> AstPredef.op -> AstCore.val_exp
val naryexp_predef : Lxm.t -> AstPredef.op -> AstCore.val_exp list -> AstCore.val_exp
val add_info : (Lv6Id.t, 'a Lxm.srcflagged) Hashtbl.t -> string -> Lxm.t -> 'a -> unit

add_info ----------------------------------------------------------------------- Rôle : proc générique pour mettre une info 'a dans une table (Lv6Id.t, 'a srcflagged).

Effets de bord : erreur de compil si déjà utilisé

val def_list : AstCore.item_ident list ref
type id_valopt = Lxm.t * AstCore.type_exp * AstCore.val_exp option
val id_valopt_list_of_id_list : Lxm.t list -> AstCore.type_exp -> (Lxm.t * AstCore.type_exp * 'a option) list
val id_valopt_of_id_val : Lxm.t -> AstCore.type_exp -> AstCore.val_exp -> Lxm.t * AstCore.type_exp * AstCore.val_exp option
val make_external_const_list : Lxm.t list -> AstCore.type_exp -> (Lxm.t * AstCore.const_info) list
val make_defined_const : Lxm.t -> AstCore.type_exp option -> AstCore.val_exp -> Lxm.t * AstCore.const_info
val treat_const_decl_list : (Lxm.t * AstCore.const_info) list -> unit
val make_struct_type_info : Lxm.t -> id_valopt list -> AstCore.struct_type_info
val treat_type_decl : (Lxm.t * AstCore.type_info) -> unit
type typed_ids = Lxm.t list * AstCore.type_exp
type clocked_ids = typed_ids list * AstCore.clock_exp
val clocked_ids_to_var_infos : AstCore.var_nature -> ((Lxm.t list * AstCore.type_exp) list * AstCore.clock_exp) list -> AstCore.var_info Lxm.srcflagged list
val treat_node_decl : bool -> bool -> Lxm.t -> AstCore.static_param Lxm.srcflagged list -> clocked_ids list -> clocked_ids list -> (clocked_ids list * (Lxm.t * AstCore.const_info) list) -> AstCore.val_exp Lxm.srcflagged list -> AstCore.eq_info Lxm.srcflagged list -> unit
val treat_node_alias : bool -> bool -> Lxm.t -> AstCore.static_param Lxm.srcflagged list -> (AstCore.var_info Lxm.srcflagged list * AstCore.var_info Lxm.srcflagged list) option -> AstCore.node_exp Lxm.srcflagged -> unit
val treat_abstract_or_extern_node_do : bool -> bool -> Lxm.t -> AstCore.static_param Lxm.srcflagged list -> sx_Params -> sx_Params -> bool -> AstCore.node_info
val treat_abstract_node : bool -> bool -> Lxm.t -> AstCore.static_param Lxm.srcflagged list -> sx_Params -> sx_Params -> AstCore.item_info Lxm.srcflagged
val treat_external_node : bool -> bool -> Lxm.t -> sx_Params -> sx_Params -> unit
val threat_slice_start : Lxm.t -> AstCore.val_exp -> AstCore.val_exp option -> AstCore.slice_info Lxm.srcflagged
val make_ident : Lxm.t -> Lxm.pragma list -> Lxm.t
val make_clock_exp : Lv6Id.idref -> Lxm.t -> AstCore.clock_exp
OCaml

Innovation. Community. Security.