def interpret(source): brackets = getBrackets(source) inv_brackets = {v:k for k, v in brackets.items()} t = Tape() ind = 0 while ind < len(source): if source[ind] == '>': t.right() ind += 1 elif source[ind] == '<': t.left() ind += 1 elif source[ind] == '+': t.inc() ind += 1 elif source[ind] == '-': t.dec() ind += 1 elif source[ind] == '.': sys.stdout.write(t.getChar()) ind += 1 elif source[ind] == ',': t.putChar() ind += 1 elif source[ind] == '[': if t.getNum() == 0: ind = brackets[ind] ind += 1 elif source[ind] == ']': ind = inv_brackets[ind]