Description
The current parser implementation, mostly thanks to ANTLR, is very good at recovering from lexing and parsing errors and continuing the parsing all the way down. The goal is to report as many errors upfront. as possible. But at the moment the compiler tries to build an OModel even if the parser failed which shouldn't be the case as it results in duplicate reports for several errors.
Parsing and compilation should be two distinct phases and the compiler should attempt compilation if parsing failed.