'Parse literals from our token list.
Returns:
The parsed literal from the input string (currently either a string,
integer, or floating point value).'

def __Literal(self):

    logging.log(LOG_LEVEL, 'Try    Literal')
    literal = None
    if (self.__next_symbol < len(self.__symbols)):
        try:
            literal = int(self.__symbols[self.__next_symbol])
        except ValueError:
            pass
        else:
            self.__next_symbol += 1
        if (literal is None):
            try:
                literal = float(self.__symbols[self.__next_symbol])
            except ValueError:
                pass
            else:
                self.__next_symbol += 1
    if (literal is None):
        literal = self.__AcceptRegex(self.__quoted_string_regex)
        if literal:
            literal = literal[1:(-1)].replace("''", "'")
    if (literal is None):
        if self.__Accept('TRUE'):
            literal = True
        elif self.__Accept('FALSE'):
            literal = False
    if (literal is not None):
        return Literal(literal)
    if self.__Accept('NULL'):
        return Literal(None)
    else:
        return None
