Token peekNext() { if (current + 1 >= tokens.length) return tokens.last; return tokens[current + 1]; }