(* assignment *)
let name = Str.matched_group 1 arg in
let expr = Parse.parse_cli_expr (Str.matched_group 2 arg) in
- env := Ast.StringMap.add name expr !env
+ env := Ast.Env.add name expr !env
)
else (
(* target *)
if targets <> [] then targets
else [Ast.ECall (Ast.noloc, "all", [])] in
- Ast.print_env stdout env;
+ Ast.print_env stderr env;
(* Evaluate the target expressions in turn. *)
Eval.evaluate_targets env targets
-let () = main ()
+let () =
+ try main ()
+ with
+ Failure msg -> prerr_endline msg; exit 1