Revision 88486aaf
Added by PierreLoïc Garoche over 7 years ago
src/machine_code.ml  

430  430 
let translate_eqs node args eqs = 
431  431 
List.fold_right (fun eq args > translate_eq node args eq) eqs args;; 
432  432  
433 
let translate_decl nd = 

433 
let translate_decl nd sch =


434  434 
(*Log.report ~level:1 (fun fmt > Printers.pp_node fmt nd);*) 
435 
let nd, sch = Scheduling.schedule_node nd in 

436  435 
let split_eqs = Splitting.tuple_split_eq_list nd.node_eqs in 
437  436 
let eqs_rev, remainder = 
438  437 
List.fold_left 
...  ...  
488  487 
mannot = nd.node_annot; 
489  488 
} 
490  489  
491  
492 
let translate_prog decls = 

490 
(** takes the global delcarations and the scheduling associated to each node *) 

491 
let translate_prog decls node_schs =


493  492 
let nodes = get_nodes decls in 
494 
(* What to do with Imported/Sensor/Actuators ? *) 

495 
(*arrow_machine ::*) List.map translate_decl nodes 

493 
List.map 

494 
(fun node > 

495 
let sch = List.assoc node.node_id node_schs in 

496 
translate_decl node sch 

497 
) nodes 

496  498  
497  499 
let get_machine_opt name machines = 
498  500 
List.fold_left 
Also available in: Unified diff
Extracted scheduling from machine code computation
gitsvnid: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@270 041b043f8d7c46b2b46eef0dd855326e