def VM(code):
A = 0
J = {}
loop = []
func = {}
Qem = [0,""]
Tuj=0
Swelt = 0
Foo = 0
F=0
Julia = code.split(" ")
while A < len(Julia):
while (Foo == 1 and Julia[A] == "</func>"):
A += 1
Foo = 0
if Julia[A] == "!":
J[Julia[A+1]] = [None]*Qem[0]
Qem[0] = 0
elif Julia[A] == "!+":
J[Julia[A+1]] = [n for n in range(Qem[0])]
Qem[0] = 0
elif Julia[A] == "ZERO":
Qem[0] = 0
elif Julia[A] == "?":
Tuj=0
Qem[1] = Julia[A+1]
elif Julia[A] == "?+":
Tuj+=1
elif Julia[A] == "?-":
Tuj-=1
elif Julia[A] == "=":
Je = 0
for Ji in J[Qem[1]]:
if Ji == None:
J[Qem[1]][Je] = Tuj
break
Je+=1
elif Julia[A] == "[+]":
Swelt += 1
elif Julia[A] == "Length":
Qem[0] = len(J[Julia[A+2]])-1
elif Julia[A] == "+":
Je = 0
for Ji in J[Qem[1]]:
if Ji == None:
J[Qem[1]][Je] = 0
break
Je+=1
else:
J[Qem[1]][Qem[0]] += 1
elif Julia[A] == "(+)":
J[Julia[A+1]][Qem[0]] = J[Julia[A+1+1]][Qem[0]-(1*(Swelt % 2))] + J[Julia[A+1+1+1]][Qem[0]-(2*(Swelt % 2))]
elif Julia[A] == "N":
Je = 0
for Ji in J[Qem[1]]:
if Ji == None:
J[Qem[1]].pop(Je)
break
Je+=1
elif Julia[A] == "Copy":
J[Julia[A+1]].append(J[Julia[A+1]][-1])
elif Julia[A] == "/+":
Qem[0] += 1
elif Julia[A] == "-":
Je = 0
for Ji in J[Qem[1]]:
if Ji == None:
J[Qem[1]][Je] -= 1
break
Je+=1
else:
J[Qem[1]][Qem[0]] += 1
elif Julia[A] == "sey":
print(J[Julia[A+1]],end="")
elif Julia[A] == "<loop>":
loop.append([A,1])
elif Julia[A] == "<func>":
func[Julia[A+1]] = A+1
Foo = 1
elif Julia[A] == "</func>":
A = F
elif Julia[A] == "package":
F = A+1
A = func[Julia[A+1]]
elif Julia[A] == "</loop>":
if loop[-1][1] == 1:
loop[-1][1] = 0
A = loop[-1][0]
else:
loop.pop()
elif Julia[A] == "$":
J[Julia[A+1]] = Julia[A+1]
A += 1
print("\n")
VM("/+ /+ /+ ! A ? A + + + + + Length [+] A (+) A A A sey A")
VM("/+ !+ A $ aho $ baka $ kas <loop> <func> Gork sey aho sey baka sey kas </func> package Gork gon </loop>")
To embed this project on your website, copy the following code and paste it into your website's HTML: