'Report a recognition problem.
This method sets errorRecovery to indicate the parser is recovering
not parsing.  Once in recovery mode, no errors are generated.
To get out of recovery mode, the parser must successfully match
a token (after a resync).  So it will go:
1. error occurs
2. enter recovery mode, report error
3. consume until token found in resynch set
4. try to resume parsing
5. next match() will reset errorRecovery mode
If you override, make sure to update syntaxErrors if you care about
that.'

def reportError(self, e):

    if self._state.errorRecovery:
        return
    self._state.syntaxErrors += 1
    self._state.errorRecovery = True
    self.displayRecognitionError(self.tokenNames, e)
