<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse(self, words):
 """A general method for parsing word-representations of numbers. Supports floats and integers. Args: words (str):
 Description of an arbitrary number. Returns: A double representation of the words. """

        def exact(words):
            """If already represented as float or int, convert."""
            try:
                return float(words)
            except:
                return None

        guess = exact(words)
        if guess is not None:
            return guess

        split = words.split(' ')

        # Replace final ordinal/fraction with number
        if split[-1] in self.__fractions__:
            split[-1] = self.__fractions__[split[-1]]
        elif split[-1] in self.__ordinals__:
            split[-1] = self.__ordinals__[split[-1]]

        parsed_ordinals = ' '.join(split)

        return self.parseFloat(parsed_ordinals)