def VM(code):
A = 0
J = lambda f,x:f(x)
T = 0
flag = 0
loop=[]
fx = [lambda x:x+1,0]
FX = [lambda x:x+1, lambda x:x-1, lambda x:x*2,lambda x:x/2]
memor=0
while A < len(code):
if code[A] == "/":
flag = 1-flag
elif code[A] == "¥":
if flag == 1:
oldJ = J
J = lambda f, x: oldJ(f,f(x))
else:
fx[0] = FX[T]
T = (T+1) % len(FX)
elif code[A] == ".":
if flag == 0:
return J(fx[0], fx[1])
else:
print(chr(int(fx[1])), end="")
elif code[A] == ",":
if flag == 0:
fx[1] = J(fx[0], fx[1])
else:
FX.append(lambda x, J=J, f=fx[0]: J(f, x))
J = lambda f,x:f(x)
elif code[A] == "[":
loop.append([A,1])
elif code[A] == "]":
if loop[-1][1] == 1:
A = loop[-1][0]
loop[-1][1] = 0
else:
loop.pop(-1)
elif code[A] == "0":
fx[0] = FX[0]
J = lambda f,x:f(x)
elif code[A] == "+":
fx[1] = memor
elif code[A] == "-":
memor = fx[1]
A += 1
VM("""
//,¥¥¥/¥/,[
//,
]
-[
¥
]
[
[
//,
]
]/./+0[[//,]]//,/./[[[//,]]]¥//,[/./]0[//,]//,/./
""")
To embed this project on your website, copy the following code and paste it into your website's HTML: