'Unget a token.
The unget buffer for tokens is only one token large; it is
an error to try to unget a token when the unget buffer is not
empty.
@param token: the token to unget
@type token: Token object
@raises UngetBufferFull: there is already an ungotten token'

def unget(self, token):

    if (self.ungotten_token is not None):
        raise UngetBufferFull
    self.ungotten_token = token
