Advance to the next token.

        Internal methods, updates:
        - self.current_token
        - self.current_pos

        Raises:
            MissingTokensError: when trying to advance beyond the end of the
                token flow.

def _forward(self):
        """Advance to the next token.

        Internal methods, updates:
        - self.current_token
        - self.current_pos

        Raises:
            MissingTokensError: when trying to advance beyond the end of the
                token flow.
        """
        try:
            self.current_token = next(self.tokens)
        except StopIteration:
            raise MissingTokensError("Unexpected end of token stream at %d." %
                self.current_pos)
        self.current_pos += 1