'Unget a character.
The unget buffer for characters is only one character large; it is
an error to try to unget a character when the unget buffer is not
empty.
@param c: the character to unget
@type c: string
@raises UngetBufferFull: there is already an ungotten char'

def _unget_char(self, c):

    if (not (self.ungotten_char is None)):
        raise UngetBufferFull
    self.ungotten_char = c
