also wenn zb etwas so gegeben ist:
Code: Alles auswählen
(while (True) (add 7 (raw_input)))
Code: Alles auswählen
['while', ['True'], ['add', '7', ['raw_input']]]
edit:
hier mein nicht funktionierenden ansatz:
Code: Alles auswählen
def parse(block):
block = block[1:-1]
print block
def_name = block.split(' ')[0]
level = 0
args = []
sub = ''
for char in block:
if char == '(':
level += 1
elif char == ')':
level -= 1
if level:
sub += char
else:
if sub:
args.append(parse(sub+')'))
sub = ''
print def_name, '\t',args
print
if args:
return [def_name, args]
else:
return def_name