Project

General

Profile

« Previous | Next » 

Revision 333e3a25

Added by Pierre-Loïc Garoche over 5 years ago

[general] Refactor get_node_eqs to produce (eqs, auts) with automatons

View differences:

src/clocks.ml
33 33
    {mutable carrier_desc: carrier_desc;
34 34
     mutable carrier_scoped: bool;
35 35
     carrier_id: int}
36

  
36
     
37 37
type clock_expr =
38 38
    {mutable cdesc: clock_desc;
39 39
     mutable cscoped: bool;
......
422 422
  | Carry_name -> cr.carrier_desc <- Carry_const const
423 423
  | _         -> assert false
424 424

  
425

  
426
(* Used in rename functions in Corelang. We have to propagate the renaming to
427
   ids of variables clocking the signals *)
428

  
429
(* Carrier are not renamed. They corresponds to enumerated type constants *)
430
(*
431
let rec rename_carrier f c =
432
  { c with carrier_desc = rename_carrier_desc fvar c.carrier_desc }
433
and rename_carrier_desc f 
434
let re = rename_carrier f
435
  match cd with
436
  | Carry_const id -> Carry_const (f id)
437
  | Carry_link ce -> Carry_link (re ce)
438
  | _ -> cd
439
*)
440

  
441
     
442
let rec rename_clock_expr fvar c =
443
  { c with cdesc = rename_clock_desc fvar c.cdesc }
444
and rename_clock_desc fvar cd =
445
  let re = rename_clock_expr fvar in
446
  match cd with
447
  | Carrow (c1, c2) -> Carrow (re c1, re c2)
448
  | Ctuple cl -> Ctuple (List.map re cl)
449
  | Con (c1, car, id) -> Con (re c1, car, fvar id)
450
  | Cvar 
451
  | Cunivar -> cd
452
  | Clink c -> Clink (re c)
453
  | Ccarrying (car, c) -> Ccarrying (car, re c)
454
    
425 455
(* Local Variables: *)
426 456
(* compile-command:"make -C .." *)
427 457
(* End: *)

Also available in: Unified diff