z1 <- z1 + 1 z1 <- z1 + 1 z1 <- z1 + 1 z1 <- z1 + 1 z1 <- z1 + 1 z1 <- z1 + 1 z1 <- z1 + 1 z1 <- z1 + 1 z1 <- z1 + 1 [E90] z10 <- z10 + 1 y <- y + 1 """ ) compiler = Compiler(f, True) bytecode = compiler.compile() pcode = Compiler.compile_string("[A] y <- y + 300") vm = VM(bytecode) @register_opcode(0, vm) def op_nop(self, var, val): print "NOP" print vm.execute(2) print VM(pcode).execute() print decompile(bytecode)
def test_pcode_is_correct(): pcode = Compiler.compile_string("[A] y <- y + 300") assert 300 == VM(pcode).execute()