Пример #1
0
 def read_term(self, reader):
     if not reader.has_more():
         return None
     
     while reader.current() in _whitespace:
         reader.next()
         if not reader.has_more():
             return None
     
     cur = reader.current()
     
     if cur == '"':
         return self.read_string(reader, '"')
     
     if self.is_number(cur) or cur == '-':
         return self.read_number(reader)
     
     if cur == '(':
         return self.read_list('(', reader, ')')
     
     if cur == ')':
         return StrObj(cur)
     
     chrs = []
     
     
     while (not reader.current() in _whitespace) \
               and (reader.current() != ')') \
               and (reader.current() != '(') \
               and reader.has_more():
         chrs.append(reader.current())
         reader.next()
     sym = "".join(chrs)
     
     #if sym.strip(_whitespace) == "":
     #    return None
     
     return Symbol.intern(StrObj(sym))