lutin

Lutin: modeling stochastic reactive systems
IN THIS PACKAGE
Module Syntaxe
type ident = string Lexeme.srcflaged
and except_tab = ( string, except_info ) Hashtbl.t
and package = {
pck_lettab : ( string, let_info ) Hashtbl.t;
pck_nodetab : ( string, node_info ) Hashtbl.t;
pck_excepttab : except_tab;
pck_deflist : def_item list;
pck_included_files_to_handle : string list;
}
and def_item =
| LetDef of ident(*

key in pk_let_table

*)
| ExternDef of ident(*

key in pk_let_table

*)
| NodeDef of ident(*

key in pk_node_table

*)
| ExceptDef of ident(*

key in pk_except_table

*)
and except_info = ident
and let_info = {
lti_ident : ident;
lti_type : type_exp option;
lti_inputs : (ident * type_exp) list option;
lti_def : val_exp option;
}
and predef_type =
| Bool
| Int
| Real
and type_exp =
| TEXP_trace
| TEXP_predef of predef_type
| TEXP_ref of predef_type
and node_info = {
ndi_ident : ident;
ndi_inputs : (ident * type_exp * val_exp option * (val_exp * val_exp) option) list;
ndi_outputs : (ident * type_exp * val_exp option * (val_exp * val_exp) option) list;
ndi_def : val_exp;
}
and assert_flag =
| Strong
| Weak
and val_exp_node =
| TRUE_n
| FALSE_n
| ICONST_n of ident
| RCONST_n of ident
| IDENT_n of ident
| PRE_n of ident
| FBY_n of val_exp * val_exp
| CHOICE_n of (val_exp * val_exp Lexeme.srcflaged option) list
| PRIO_n of val_exp list
| LOOP_n of assert_flag * val_exp
| LOOPI_n of val_exp * val_exp * val_exp
| LOOPA_n of val_exp * val_exp option * val_exp
| ASSERT_n of assert_flag * val_exp * val_exp
| EXIST_n of (ident * type_exp * val_exp option * (val_exp * val_exp) option) list * val_exp
| RAISE_n of ident
| EXCEPT_n of ident list * val_exp
| CATCH_n of ident * val_exp * val_exp option
| TRAP_n of ident * val_exp * val_exp option
| TRY_n of val_exp * val_exp option
| PARA_n of val_exp list
| CALL_n of ident * val_exp list
| LET_n of let_info * val_exp
| ERUN_n of (ident * type_exp option * val_exp option) list * val_exp * val_exp
| RUN_n of ident list * val_exp * val_exp option
val pack_node_list : package -> string list
val pack_get_node : package -> string -> node_info
val pack_get_let : package -> string -> let_info
val pack_except_list : package -> except_info list
val empty_package : unit -> package
val union : package -> package -> package