Revision 333e3a25
Added by Pierre-Loïc Garoche over 5 years ago
src/clock_calculus.ml | ||
---|---|---|
681 | 681 |
let new_env = clock_var_decl_list env false nd.node_inputs in |
682 | 682 |
let new_env = clock_var_decl_list new_env true nd.node_outputs in |
683 | 683 |
let new_env = clock_var_decl_list new_env true nd.node_locals in |
684 |
List.iter (clock_eq new_env) (get_node_eqs nd); |
|
684 |
let eqs, auts = get_node_eqs nd in (* TODO XXX: perform the clocking on auts. |
|
685 |
For the moment, it is ignored *) |
|
686 |
List.iter (clock_eq new_env) eqs; |
|
685 | 687 |
let ck_ins = clock_of_vlist nd.node_inputs in |
686 | 688 |
let ck_outs = clock_of_vlist nd.node_outputs in |
687 | 689 |
let ck_node = new_ck (Carrow (ck_ins,ck_outs)) false in |
... | ... | |
690 | 692 |
(* Local variables may contain first-order carrier variables that should be generalized. |
691 | 693 |
That's not the case for types. *) |
692 | 694 |
try_generalize ck_node loc; |
693 |
(* |
|
694 |
List.iter (fun vdecl -> try_generalize vdecl.var_clock vdecl.var_loc) nd.node_inputs; |
|
695 |
List.iter (fun vdecl -> try_generalize vdecl.var_clock vdecl.var_loc) nd.node_outputs;*) |
|
695 |
(*
|
|
696 |
List.iter (fun vdecl -> try_generalize vdecl.var_clock vdecl.var_loc) nd.node_inputs;
|
|
697 |
List.iter (fun vdecl -> try_generalize vdecl.var_clock vdecl.var_loc) nd.node_outputs;*)
|
|
696 | 698 |
(*List.iter (fun vdecl -> try_generalize vdecl.var_clock vdecl.var_loc) nd.node_locals;*) |
697 | 699 |
(* TODO : Xavier pourquoi ai je cette erreur ? *) |
698 |
(* if (is_main && is_polymorphic ck_node) then |
|
699 |
raise (Error (loc,(Cannot_be_polymorphic ck_node))); |
|
700 |
*) |
|
700 |
(* if (is_main && is_polymorphic ck_node) then
|
|
701 |
raise (Error (loc,(Cannot_be_polymorphic ck_node)));
|
|
702 |
*)
|
|
701 | 703 |
Log.report ~level:3 (fun fmt -> print_ck fmt ck_node); |
702 | 704 |
nd.node_clock <- ck_node; |
703 | 705 |
Env.add_value env nd.node_id ck_node |
Also available in: Unified diff
[general] Refactor get_node_eqs to produce (eqs, auts) with automatons