protected int FailOrAccept(SimState prevAccept, ICharStream input,
ATNConfigSet reach, int t)
{
if (prevAccept.dfaState != null)
{
LexerActionExecutor lexerActionExecutor = prevAccept.dfaState.lexerActionExecutor;
Accept(input, lexerActionExecutor, startIndex,
prevAccept.index, prevAccept.line, prevAccept.charPos);
return prevAccept.dfaState.prediction;
}
else {
// if no accept and EOF is first char, return EOF
if (t == IntStreamConstants.EOF && input.Index == startIndex)
{
return TokenConstants.EOF;
}
throw new LexerNoViableAltException(recog, input, startIndex, reach);
}
}