'Go one token ahead and return the old one'

def next(self):

    rv = self.current
    if self._pushed:
        self.current = self._pushed.popleft()
    elif (self.current.type is not TOKEN_EOF):
        try:
            self.current = self._next()
        except StopIteration:
            self.close()
    return rv
