code: def parse_words(self):
          
          phones = self.parse_phones()
          words = []
          
          for i in self.word_intervals:
              start = float(i[i.index('xmin = ')+7:
                              i.index('xmin = ')+12].strip('\t').strip('\n'))
              end = float(i[i.index('xmax = ')+7:
                            i.index('xmax = ')+12].strip('\t').strip('\n'))
              word = i[i.index('\"')+1:i.index("$")]
              words.append(Word(word, start, end))
              
          for word in words:
              for phone in phones:
                  if phone.start >= word.start and phone.end <= word.end:
                      word.phones.append(phone)
              
          return words
docs: Parse TextGrid word intervals.
          
          This method parses the word intervals in a TextGrid to extract each
          word and each word's start and end times in the audio recording. For
          each word, it instantiates the class Word(), with the word and its
          start and end times as attributes of that class instance. Further, it
          appends the class instance's attribute 'phones' for each phone that
          occurs in that word. (It does this by checking which phones' start and
          end times are subsumed by the start and end times of the word.)