(* 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 no target was set on the command line, use "all ()". *)
let targets =
if targets <> [] then targets
- else [Ast.ECall ("all", [])] in
+ 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 env targets
+ Eval.evaluate_targets env targets
-let () = main ()
+let () =
+ try main ()
+ with
+ Failure msg -> prerr_endline msg; exit 1