(* RAMANANANDRO Tahina Module Print_prog : impression du programme. Requiert aintv.mli et aintv.ml *) open Aintv let print_prog (fdl ,expr ) = if fdl <> [] then begin print_string "let\n"; let print_fd (nom, (fpar_l, e)) = print_string " " ^ nom ^ "("; let print_fpar (FPVAL s) = print_string s in let rec print_fpar_l = function | [] -> print_string ") = "; print_expr e; print_string " ;\n" | [a] -> print_fpar a; print_string ") = "; print_expr e; print_string " ;\n" | a::q -> print_fpar a; print_string ", "; print_fpar_l q in print_fpar_l fpar_l in print_fd fdl; print_string "in\n" end; print_expr expr; print_string "\n;; "