/// <summary> /// constructor /// </summary> /// <param name="message"></param> public EventArgs(Message message) { this.Message = message; }
/// <summary> /// process the SyntaxError /// </summary> /// <param name="recognizer"></param> /// <param name="offendingSymbol"></param> /// <param name="line"></param> /// <param name="charPositionInLine"></param> /// <param name="msg"></param> /// <param name="e"></param> public override void SyntaxError(IRecognizer recognizer, IToken offendingSymbol, int line, int charPositionInLine, string msg, RecognitionException e) { // publish the message string text = String.Empty; if (e is FailedPredicateException) text = String.Format(Messages.RCM_11, offendingSymbol.Text ); else text = msg; Message message = new Message(type: MessageType.Error, line: line, pos: charPositionInLine, message: text); if (OnMessageAdded != null) OnMessageAdded(this, new EventArgs(message)); _errors.Add(message); if (charPositionInLine != 00) Console.Out.WriteLine(String.Format("ERROR <{0},{1:D2}>:{2}", line, charPositionInLine, text)); else Console.Out.WriteLine(String.Format("ERROR <line {0}>:{1}", line, text)); }