lutin

Lutin: modeling stochastic reactive systems
IN THIS PACKAGE
Module CkIdentInfo
type extern_info = {
ed_lib_name : string;
ed_lib_desc : Ezdl.t;
ed_sym : Ezdl.cfunc;
}
type t = {
ii_name : string;
ii_def_ident : Syntaxe.ident option;
ii_nature : nature;
ii_type : CkTypeEff.t list;
ii_hideable : bool;
}
and nature =
| Formal_param
| Support_var
| Const_ident
| Def_ident of Syntaxe.let_info
| Macro_ident of Syntaxe.let_info option * CkTypeEff.profile
| Node_ident of Syntaxe.node_info option * CkTypeEff.profile
| External_func of Syntaxe.let_info option * extern_info option * CkTypeEff.profile
val get_nature : t -> nature
val get_type : t -> CkTypeEff.t
val is_predef : t -> bool
val is_extern : t -> bool
val def_ident : t -> Syntaxe.ident

CRATION DES INFOS

val of_support : Syntaxe.ident -> CkTypeEff.t -> t
val of_param : Syntaxe.ident -> CkTypeEff.t -> t

Les constantes abstraites peuvent tre :

  • globales, auquels cas il est interdit de les re-dfinir localement
  • locales, auquels cas on a le droit de redfinir localement
val of_global_cst : Syntaxe.ident -> CkTypeEff.t -> t
val of_local_cst : Syntaxe.ident -> CkTypeEff.t -> t

macro/alias : on garde toute les infos du let

val of_extern : Syntaxe.ident -> CkTypeEff.profile -> Syntaxe.let_info -> extern_info option -> t

extern : cas simplifie du precedent

val of_predef_op : string -> CkTypeEff.profile -> t

oprateur prdfini : juste un nom et un profil

val of_predef_cst : string -> CkTypeEff.t -> t

constante prdfinie : juste un nom et un type

val to_string : t -> string
val is_hideable : t -> bool