Revision e42fb618 src/machine_code.ml
src/machine_code.ml  

285  285 
 _ > expr 
286  286  
287  287 
let rec translate_expr node ((m, si, j, d, s) as args) expr = 
288 
let expr = specialize_op expr in 

288 
let expr = specialize_op expr in


289  289 
match expr.expr_desc with 
290  290 
 Expr_const v > Cst v 
291  291 
 Expr_ident x > translate_ident node args x 
...  ...  
323  323 
conditional g [translate_act node args (y, t)] 
324  324 
[translate_act node args (y, e)] 
325  325 
 Expr_merge (x, hl) > MBranch (translate_ident node args x, List.map (fun (t, h) > t, [translate_act node args (y, h)]) hl) 
326 
 _ > MLocalAssign (y, translate_expr node args expr) 

326 
 _ > 

327 
MLocalAssign (y, translate_expr node args expr) 

327  328  
328  329 
let reset_instance node args i r c = 
329  330 
match r with 
...  ...  
332  333 
[control_on_clock node args c (conditional g [MReset i] [])] 
333  334  
334  335 
let translate_eq node ((m, si, j, d, s) as args) eq = 
335 
(*Format.eprintf "translate_eq %a with clock %a@." Printers.pp_node_eq eq Clocks.print_ck eq.eq_rhs.expr_clock;*)


336 
(* Format.eprintf "translate_eq %a with clock %a@." Printers.pp_node_eq eq Clocks.print_ck eq.eq_rhs.expr_clock; *)


336  337 
match eq.eq_lhs, eq.eq_rhs.expr_desc with 
337  338 
 [x], Expr_arrow (e1, e2) > 
338  339 
let var_x = get_node_var x node in 
Also available in: Unified diff