def VM(code):
A = 0
J = 0
F = []
k = []
p = 0
P = 0
while A < len(code):
if code[A] == "(":
F.append([0, 1, 0]) # [size, mode, ptr]
elif code[A] == ",":
if F[-1][1] == 1:
F[-1][1] = 0
k.append([0] * F[-1][0])
elif code[A] == ")":
J = k[-1][F[-1][2] % len(k[-1])]
F.pop()
k.pop()
elif code[A] == "/":
if F[-1][1] == 1:
F[-1][0] += 1
elif code[A] == ">":
if F[-1][1] == 1:
F[-1][2] += 1
else:
p += 1
p %= len(k[-1])
elif code[A] == "+":
if F[-1][1] == 0:
k[-1][p] += 1
elif code[A] == "-":
if F[-1][1] == 0:
k[-1][p] -= 1
elif code[A] == ";":
if F[-1][1] == 0:
k[-1][p] = k[-1][p-1] + k[-1][p-2]
elif code[A] == ":":
k[-1][-1] = p
elif code[A] == ".":
p=k[-1][-1]
A += 1
return J
print(VM('(///////>>>>>>,>+>+>;>;>;->;)'))
To embed this project on your website, copy the following code and paste it into your website's HTML: