Löysin koneeltani jotain satunnaisia obfuskoidun Pythonin esimerkkejä :)
def suorita(mj, muisti):
p = 0
ip = 0
while ip < len(mj):
komento = mj[ip]
ip = ip + 1
if komento == '-': muisti[p] = muisti[p] - 1
elif komento == '+': muisti[p] = muisti[p] + 1
elif komento == '<': p = p - 1
elif komento == '>': p = p + 1
elif komento == '/' and muisti[p] > 0: ip = p = 0
return muisti
def tuplaa(numero):
muisti = [numero, 0, 0, 0]
suorita('->++</', muisti)
return muisti[1]
def summaa(n1, n2):
muisti = [n1, 0, n2, 0]
suorita('->>+<</', muisti)
return muisti[2]
print(summaa(6, tuplaa(37)))
def stackmachine(prog, stack):
for arity, fn in prog:
stack = fn(*stack[:arity]) + stack[arity:]
print(stack)
return stack
dup = (1, lambda x: [x, x])
times = (2, lambda x, y: [x * y])
def cubic(n):
return stackmachine([dup, dup, times, times], [n])[0]
def quadbic(n):
return stackmachine([dup, times, dup, times], [n])[0]
print(cubic(3) + quadbic(3))