public virtual object Match( IIntStream input, int ttype, BitSet follow )
{
//System.out.println("match "+((TokenStream)input).LT(1));
object matchedSymbol = GetCurrentInputSymbol( input );
if ( input.LA( 1 ) == ttype )
{
input.Consume();
state.errorRecovery = false;
state.failed = false;
return matchedSymbol;
}
if ( state.backtracking > 0 )
{
state.failed = true;
return matchedSymbol;
}
matchedSymbol = RecoverFromMismatchedToken( input, ttype, follow );
return matchedSymbol;
}