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;