'Read a character from input.
@rtype: string'

def _get_char(self):

    if (self.ungotten_char is None):
        if self.eof:
            c = ''
        else:
            c = self.file.read(1)
            if (c == ''):
                self.eof = True
            elif (c == '\n'):
                self.line_number += 1
    else:
        c = self.ungotten_char
        self.ungotten_char = None
    return c
