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('(///////>>>>>>,>+>+>;>;>;->;)'))

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: