MCPcopy
hub / github.com/fluentpython/example-code-2e / read_ahead

Function read_ahead

18-with-match/lispy/original/lispy.py:63–73  ·  view source on GitHub ↗
(token)

Source from the content-addressed store, hash-verified

61def read(inport):
62 "Read a Scheme expression from an input port."
63 def read_ahead(token):
64 if '(' == token:
65 L = []
66 while True:
67 token = inport.next_token()
68 if token == ')': return L
69 else: L.append(read_ahead(token))
70 elif ')' == token: raise SyntaxError('unexpected )')
71 elif token in quotes: return [quotes[token], read(inport)]
72 elif token is eof_object: raise SyntaxError('unexpected EOF in list')
73 else: return atom(token)
74 # body of read:
75 token1 = inport.next_token()
76 return eof_object if token1 is eof_object else read_ahead(token1)

Callers 1

readFunction · 0.85

Calls 4

readFunction · 0.85
next_tokenMethod · 0.80
atomFunction · 0.70
appendMethod · 0.45

Tested by

no test coverage detected