Selaa lähdekoodia

fixed error display.

Nicolas Cannasse 20 vuotta sitten
vanhempi
commit
d8fdae5e86
1 muutettua tiedostoa jossa 9 lisäystä ja 6 poistoa
  1. 9 6
      main.ml

+ 9 - 6
main.ml

@@ -26,14 +26,17 @@ let normalize_path p =
 		| '\\' | '/' -> p
 		| '\\' | '/' -> p
 		| _ -> p ^ "/"
 		| _ -> p ^ "/"
 
 
-let report kind msg p =
+let warn msg p =
 	let error_printer file line = sprintf "%s:%d:" file line in
 	let error_printer file line = sprintf "%s:%d:" file line in
 	let epos = Lexer.get_error_pos error_printer p in
 	let epos = Lexer.get_error_pos error_printer p in
-	prerr_endline (sprintf "%s : %s %s" epos kind msg);
+	prerr_endline (sprintf "%s : %s" epos msg)
+
+let report msg p =
+	warn msg p;
 	exit 1
 	exit 1
 
 
 let compile classes =
 let compile classes =
-	let ctx = Typer.context() in
+	let ctx = Typer.context warn in
 	List.iter (fun f ->
 	List.iter (fun f ->
 		let cl = ExtString.String.nsplit f "." in
 		let cl = ExtString.String.nsplit f "." in
 		let error() = failwith ("Invalid class name " ^ f) in
 		let error() = failwith ("Invalid class name " ^ f) in
@@ -78,9 +81,9 @@ try
 		if !Plugin.verbose then print_endline ("Time spent : " ^ string_of_float (Sys.time() -. time));
 		if !Plugin.verbose then print_endline ("Time spent : " ^ string_of_float (Sys.time() -. time));
 	end;
 	end;
 with
 with
-	| Lexer.Error (m,p) -> report "syntax error" (Lexer.error_msg m) p
-	| Parser.Error (m,p) -> report "parse error" (Parser.error_msg m) p
-	| Typer.Error (m,p) -> report "type error" (Typer.error_msg m) p
+	| Lexer.Error (m,p) -> report (Lexer.error_msg m) p
+	| Parser.Error (m,p) -> report (Parser.error_msg m) p
+	| Typer.Error (m,p) -> report (Typer.error_msg m) p
 	| Failure msg ->
 	| Failure msg ->
 		prerr_endline msg;
 		prerr_endline msg;
 		exit 1;
 		exit 1;