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/dimension.ml
338 338
      | _ -> raise (Unify (dim1, dim2))
339 339
  in unif dim1 dim2
340 340

  
341
let rec expr_replace_var fvar e = 
342
 { e with dim_desc = expr_replace_var_desc fvar e.dim_desc }
343
and expr_replace_var_desc fvar e =
344
  let re = expr_replace_var fvar in
341
let rec rename fnode fvar e = 
342
 { e with dim_desc = expr_replace_var_desc fnode fvar e.dim_desc }
343
and expr_replace_var_desc fnode fvar e =
344
  let re = rename fnode fvar in
345 345
  match e with
346 346
  | Dvar
347 347
  | Dunivar
348 348
  | Dbool _
349 349
  | Dint _ -> e
350 350
  | Dident v -> Dident (fvar v)
351
  | Dappl (id, el) -> Dappl (id, List.map re el)
351
  | Dappl (id, el) -> Dappl (fnode id, List.map re el)
352 352
  | Dite (g,t,e) -> Dite (re g, re t, re e)
353 353
  | Dlink e -> Dlink (re e)
354 354

  

Also available in: Unified diff