code: def _parse_value(self):
          
          val = []
          while True:
              t = self._next_token()
              if t == '"':
                  brac_counter = 0
                  while True:
                      t = self._next_token(skipws=False)
                      if t == '{':
                          brac_counter += 1
                      if t == '}':
                          brac_counter -= 1
                      if t == '"' and brac_counter <= 0:
                          break
                      else:
                          val.append(t)
              elif t == '{':
                  brac_counter = 0
                  while True:
                      t = self._next_token(skipws=False)
                      if t == '{':
                          brac_counter += 1
                      if t == '}':
                          brac_counter -= 1
                      if brac_counter < 0:
                          break
                      else:
                          val.append(t)
              elif re.match(r'\w', t):
                  val.extend([self.definitions.get(t, t), ' '])
              elif t.isdigit():
                  val.append([t, ' '])
              elif t == '#':
                  pass
              else:
                  break
  
          value = ' '.join(''.join(val).split())
          return value
docs: Parse a value. Digits, definitions, and the contents of double quotes or curly brackets.