Table of Contents

Class ErrorListenerLexer

Namespace
NCalc.Antlr
Assembly
NCalc.Antlr.dll
public class ErrorListenerLexer : IAntlrErrorListener<int>
Inheritance
ErrorListenerLexer
Implements
IAntlrErrorListener<int>
Inherited Members

Fields

Errors

public readonly List<string> Errors

Field Value

List<string>

Methods

SyntaxError(TextWriter, IRecognizer, int, int, int, string, RecognitionException)

Upon syntax error, notify any interested parties.

public void SyntaxError(TextWriter output, IRecognizer recognizer, int offendingSymbol, int line, int charPositionInLine, string msg, RecognitionException e)

Parameters

output TextWriter

Where the error should be written.

recognizer IRecognizer

What parser got the error. From this object, you can access the context as well as the input stream.

offendingSymbol int

The offending token in the input token stream, unless recognizer is a lexer (then it's null). If no viable alternative error, e has token at which we started production for the decision.

line int

The line number in the input where the error occurred.

charPositionInLine int

The character position within that line where the error occurred.

msg string

The message to emit.

e RecognitionException

The exception generated by the parser that led to the reporting of an error. It is null in the case where the parser was able to recover in line without exiting the surrounding rule.

Remarks

Upon syntax error, notify any interested parties. This is not how to recover from errors or compute error messages. Antlr4.Runtime.IAntlrErrorStrategy specifies how to recover from syntax errors and how to compute error messages. This listener's job is simply to emit a computed message, though it has enough information to create its own message in many cases.

The Antlr4.Runtime.RecognitionException is non-null for all syntax errors except when we discover mismatched token errors that we can recover from in-line, without returning from the surrounding rule (via the single token insertion and deletion mechanism).