Project

General

Profile

« Previous | Next » 

Revision d0f26f04

Added by LĂ©lio Brun 7 months ago

corrections for stateless nodes

View differences:

src/clock_calculus.ml
480 480

  
481 481
and clock_call env f args clock_reset loc =
482 482
  (* Format.eprintf "Clocking call %s@." f; *)
483
  let cfun = clock_ident false env f loc in
483
  let cfun = clock_ident env f loc in
484 484
  let cins, couts = split_arrow cfun in
485 485
  let cins = clock_list_of_clock cins in
486 486
  List.iter2 (clock_subtyping_arg env) args cins;
487 487
  unify_imported_clock (Some clock_reset) cfun loc;
488 488
  couts
489 489

  
490
and clock_ident nocarrier env id loc =
491
  clock_expr ~nocarrier env (expr_of_ident id loc)
490
and clock_ident env id loc = clock_expr env (expr_of_ident id loc)
492 491

  
493 492
and clock_carrier env c loc ce =
494 493
  let expr_c = expr_of_ident c loc in
495
  let ck = clock_expr ~nocarrier:false env expr_c in
494
  let ck = clock_expr env expr_c in
496 495
  let cr = new_carrier Carry_name (*Carry_const c*) ck.cscoped in
497 496
  let ckb = new_var true in
498 497
  let ckcarry = new_ck (Ccarrying (cr, ckb)) ck.cscoped in
......
502 501

  
503 502
(** [clock_expr env expr] performs the clock calculus for expression [expr] in
504 503
    environment [env] *)
505
and clock_expr ?(nocarrier = true) env expr =
504
and clock_expr env expr =
506 505
  let resulting_ck =
507 506
    match expr.expr_desc with
508 507
    | Expr_const _ ->

Also available in: Unified diff