//source while (true) { print "1"; break; print "2"; } print "3"; //asm 0 TOY_OPCODE_READ [TOY_VALUE_BOOLEAN, true, -] 4 TOY_OPCODE_JUMP [TOY_OP_PARAM_JUMP_RELATIVE, TOY_OP_PARAM_JUMP_IF_FALSE, -] 8 52 (jumps to end '64' after this JUMP instruction) 12 TOY_OPCODE_SCOPE_PUSH 16 TOY_OPCODE_READ [TOY_VALUE_STRING, TOY_STRING_LEAF, 0] 20 0 (string "1") 24 TOY_OPCODE_PRINT 28 TOY_OPCODE_ESCAPE 32 0? (addr) 36 0? (diff) 40 TOY_OPCODE_READ [TOY_VALUE_STRING, TOY_STRING_LEAF, 0] 44 4 (string "2") 48 TOY_OPCODE_PRINT 52 TOY_OPCODE_SCOPE_POP 56 TOY_OPCODE_JUMP [TOY_OP_PARAM_JUMP_RELATIVE, TOY_OP_PARAM_JUMP_ALWAYS, -] 60 -64 (jumps to start '0' after this JUMP instruction) 64 TOY_OPCODE_READ [TOY_VALUE_STRING, TOY_STRING_LEAF, 0] 68 8 (string "3") 72 TOY_OPCODE_PRINT 76 TOY_OPCODE_RETURN