public Token match(ITokenType expectedToken, int tokenNum) {
return match(t -> expectedToken == t.get_type(), tokenNum);
}
public Token match(Class<?> clazz, int tokenNum) {
return match(t -> clazz.isInstance(t.get_type()), tokenNum);
}
private Token match(Predicate<Token> predicate, int tokenNum) {
if(hasToken(_currentTokenNum))
if (predicate.test(getToken(tokenNum)))
return getToken(tokenNum);
return null;
}