Revision 2196a0a6 src/splitting.ml
src/splitting.ml | ||
---|---|---|
36 | 36 |
| Expr_ident _ -> [expr] |
37 | 37 |
| Expr_tuple elist -> elist |
38 | 38 |
| Expr_appl ("=", args, r) -> ( (* Specific treatment of tuple equalities *) |
39 |
Format.eprintf "splitting equality: %a@." Printers.pp_expr expr; |
|
40 | 39 |
let args_list = List.map tuple_split_expr (expr_list_of_expr args) in |
41 |
Format.eprintf "splitting equality: %a@.%i elements" Printers.pp_expr expr (List.length args_list); |
|
42 | 40 |
let (eqs : expr list)= |
43 | 41 |
List.map |
44 | 42 |
(fun arg -> |
... | ... | |
52 | 50 |
| [] -> assert false |
53 | 51 |
| [e] -> [e] |
54 | 52 |
| hd::tl -> |
55 |
Format.eprintf "obtained eqs:@.%a@.@." (Utils.fprintf_list ~sep:"@." Printers.pp_expr) eqs; |
|
56 | 53 |
let res = List.fold_left (fun accu eq -> |
57 | 54 |
mkpredef_call args.expr_loc "&&" [accu; eq] |
58 | 55 |
) hd tl |
59 | 56 |
in |
60 |
Format.eprintf "Result: %a@." Printers.pp_expr res; |
|
61 | 57 |
[res] |
62 | 58 |
) |
63 | 59 |
| Expr_appl (id, args, r) -> |
Also available in: Unified diff