let handleParseError() =
  incr errorsCounter;
  prerr_string "%% Syntax error: Line "; prerr_int !lineCounter;
  prerr_string ", Col "; prerr_int (Lexing.lexeme_start !Globals.lexbuf - !offsetCounter);
  prerr_string " (offset "; prerr_int (Lexing.lexeme_start !Globals.lexbuf + 1);
  prerr_string "-"; prerr_int (Lexing.lexeme_end !Globals.lexbuf);
  prerr_endline (", string \""^(Lexing.lexeme !Globals.lexbuf)^"\")");
  prerr_string "%%   Syn.Err("; prerr_int !errorNumber; prerr_string "): ";

  (match !errorNumber with 
    1 -> prerr_endline "invalid beginning of section: missing \"role\" or \"goal\" keyword"
  | 2 -> prerr_endline "missing \"end role\" keyword in transition/composition"
  | 201 -> prerr_endline "invalid composition of roles: missing \"/\\\" or \";\""
  | 3 -> prerr_endline "missing variable identifier"
  | 4 -> prerr_endline "missing \"(\""
  | 5 -> prerr_endline "invalid goal definition: missing \"authentication_on\" or \"weak_authentication_on\""
  | 6 -> prerr_endline "invalid role header: missing \"def=\" keyword"
  | 7 -> prerr_endline "missing \"_\""
  | 701 -> prerr_endline "invalid constants declaration: missing \",\" or \":\""
  | 702 -> prerr_endline "invalid variables declaration: missing \",\" or \":\""
  | 8 -> prerr_endline "missing \"}\""
  | 9 -> prerr_endline "missing \"{\""
  | 901 -> prerr_endline "invalid expression to be encrypted"
  | 10 -> prerr_endline "missing or invalid type in variables declaration"
  | 11 -> prerr_endline "missing \")\""
  | 12 -> prerr_endline "invalid owns declaration in role definition"
  | 13 -> prerr_endline "invalid local declaration in role definition"
  | 14 -> prerr_endline "invalid init declaration in role definition"
  | 15 -> prerr_endline "invalid accept declaration in role definition"
  | 16 -> prerr_endline "invalid transition: missing \"/\\\", label, action or \"end role\" keyword"
  | 161 -> prerr_endline "invalid transition: missing transition label"
  | 17 -> ()
  | 18 -> prerr_endline "invalid transition: missing action (\"--|>\") or reaction (\"=|>\") arrow"
  | 19 -> prerr_endline "missing \".\""
  | 20 -> prerr_endline "invalid expression as second arg of \"in\" (should be a variable)"
  | 202 -> prerr_endline "invalid role header: invalid parameters declaration, or missing \")\""
  | 21 -> prerr_endline "invalid predicate or event in transition"
  | 22 -> prerr_endline "missing \"/\\\" in predicate"
  | 23 -> prerr_endline "missing \"'\" or \"(\" after variable identifier"
  | 241 -> prerr_endline "invalid predicate: missing \"=\", \"<=\" or \"/=\""
  | 242 -> prerr_endline "invalid expression: missing \"=\""
  | 243 -> prerr_endline "invalid assignment expression: missing \":=\""
  | 251 -> prerr_endline "constant sets forbidden in LHS of a transition"
  | 252 -> prerr_endline "constant sets forbidden in goal property"
  | 26 -> prerr_endline "missing right hook"
  | 27 -> prerr_endline "invalid expression or formula"
  | 28 -> prerr_endline "invalid composition declaration"
  | 29 -> prerr_endline "missing \"transition\" keyword"
  | 30 -> prerr_endline "missing \"composition\" keyword"
  | 31 -> prerr_endline "invalid expression/formula after left parenthesis"
  | 311 -> prerr_endline "invalid expression after comma"
  | 312 -> prerr_endline "invalid expression after \"=\""
  | 313 -> prerr_endline "invalid expression after \"<=\""
  | 314 -> prerr_endline "invalid expression after \"/=\""
  | 315 -> prerr_endline "invalid expression after \"}_\""
  | 316 -> prerr_endline "invalid expression after \"{\""
  | 317 -> prerr_endline "invalid expression after \".\""
  | 32 -> prerr_endline "invalid knowledge declaration"
  | 33 -> prerr_endline "invalid played_by declaration"
  | 34 -> prerr_endline "invalid type attribute (\"dy\" or \"ota\" awaited)"
  | 35 -> prerr_endline "invalid declaration of parameters: missing \",\" or \")\""
  | 351 -> prerr_endline "invalid declaration of variables"
  | 352 -> prerr_endline "invalid declaration of constants"
  | 36 -> prerr_endline "invalid const declaration in role definition"
  | 37 -> prerr_endline "missing constant identifier"
  | 38 -> prerr_endline "invalid predicate or variable in (re)action"
  | _ -> prerr_endline "unknown error");
  flush stderr;