code: def _compute_syllable(self, text):
          
          is_in_onset = True
          is_in_nucleus = False
          is_in_coda = False
          if len(text) > 0:
              for c in text:
                  if is_in_onset and c in self.consonants:
                      self.onset.append(c)
  
                  elif is_in_onset and c in self.vowels:
                      is_in_onset = False
                      is_in_nucleus = True
                      self.nucleus.append(c)
  
                  elif is_in_nucleus and c in self.vowels:
                      self.nucleus.append(c)
  
                  elif is_in_nucleus and c in self.consonants:
                      is_in_nucleus = False
                      is_in_coda = True
                      self.coda.append(c)
  
                  elif is_in_coda and c in self.consonants:
                      self.coda.append(c)
  
                  elif is_in_coda and c in self.vowels:
                      raise ValueError("This is not a correct syllable "
                                       "(a vowel '{}' cannot be inserted in coda)".format(c))
  
                  else:
                      raise ValueError("{} is an unknown character".format(c))
  
              if len(self.nucleus) == 0:
                  raise ValueError("This is not a correct syllable")
          else:
              raise ValueError("A syllable can't be void")
docs: >>> sylla1 = Syllable("armr", ["a"], ["r", "m"])
          >>> sylla1.onset
          []
          >>> sylla1.nucleus
          ['a']
          >>> sylla1.coda
          ['r', 'm', 'r']
  
          >>> sylla2 = Syllable("gangr", ["a"], ["g", "n", "r"])
          >>> sylla2.onset
          ['g']
          >>> sylla2.nucleus
          ['a']
          >>> sylla2.coda
          ['n', 'g', 'r']
  
  
          >>> sylla3 = Syllable("aurr", ["a", "u"], ["r"])
          >>> sylla3.nucleus
          ['a', 'u']
          >>> sylla3.coda
          ['r', 'r']
  
  
          :param text: a syllable
          :return: