From: Eric Le L. <ker...@us...> - 2010-12-20 14:02:12
|
Hi list, Currently, I can't parse error messages from ocaml. Here are 4 examples: File "test_ocaml.ml", line 65, characters 12-13: Error: Unbound value g File "test_ocaml.ml", line 20, characters 18-19: Error: This expression has type int but an expression was expected of type 'a * 'b File "test_ocaml.ml", line 19, characters 11-51: Warning 8: this pattern-matching is not exhaustive. Here is an example of a value that is not matched: [] File "test_ocaml.ml", line 21, characters 3-10: Warning 11: this match case is unused. What I use for the moment : Error Regexp : [File "([^"]+)", line (\d+),( characters \d+-\d+):] Warning Regexp: empty Extra lines regexp: [^(?!File )(.+)] Filename: [$1] Line number: [$2] Error message: [$3] but it flags warnings and errors alike. It obviously needs the first 2 lines of a message to distinguish between Error and Warnings and this goes against what Console currently does (line by line analysis). I also would like to parse the character range in the message, because type errors like in the second example don't mention the text in error. This seems more compatible with the current code base. What do you think about this ? Cheers, Eric |