1
나는 SLF4J에서 처리 한 모든 ANTLR 오류 메시지를 다른 메시지들 사이에 적절한 순서로 표시하려고 시도했지만 아무런 운이 없었습니다."가능한 대안"메시지를 어떻게 리디렉션 할 수 있습니까?
내가emitErrorMessage
displayRecognitionError
을 무시하려고했습니다
Error Reporting and Recovery의 예에 따라
및 recoverFromMismatchedToken
그러나
@members {
private Logger logger = LoggerFactory.getLogger(getClass().getName());
@Override
public void displayRecognitionError(String[] token_names, RecognitionException e) {
logger.error("error at " + TextUtil.join(" ", token_names), e);
}
@Override
public void emitErrorMessage(String msg) {
logger.error(msg);
}
@Override
protected Object recoverFromMismatchedToken(IntStream input, int ttype, BitSet follow) throws RecognitionException {
throw new MismatchedTokenException(ttype, input);
}
}
, 나는 아직도 STDERR에 메시지를 받고 있어요 :
line 1:10 no viable alternative at character 'y' line 1:12 no viable alternative at character 'y'
렉서에 대한 'emitErrorMessage'가 무시되었습니다. 필자는 렉서 에러가 파서를 통해 거품이 날 것이라고 추측했다. –