let get_using_prototype kf =
let state = Value.get_initial_state kf in
let behaviors = !Value.valid_behaviors kf state in
let assigns = Ast_info.merge_assigns behaviors in
let over_inputs_if_termination =
!Value.assigns_to_zone_inputs_state state assigns
in
{ Inout_type.under_outputs_if_termination =
(* car les sorties sûre ne sont pas spécifiées ! *)
Zone.bottom ;
over_inputs_if_termination =
(* [over_inputs_if_termination] = [Zone.top] ou [over_inputs_if_termination] ?
La valeur [over_inputs_if_termination] est légèrement incorrect car les
le détail de l'implementation n'est pas précisé dans la spécification.
La meilleure implementation peut se contenter [over_inputs_if_termination]
comme entrées opérationelles. *)
over_inputs_if_termination;
over_inputs =
(* [over_inputs] = [Zone.top] ou [over_inputs_if_termination] ?
La valeur [over_inputs_if_termination] est légèrement incorrect car les
fonctions feuilles ne sont pas specifiées en cas de non terminaison. *)
over_inputs_if_termination
}