From d5fdf70434a243e6f3bd6967dbc2d28c9144cb29 Mon Sep 17 00:00:00 2001 From: Stephen Dolan Date: Sat, 29 Dec 2012 16:43:36 +0000 Subject: Refactor assignment. New version is much more elegant and probably slower. Uses library functions implemented in jq rather than dedicated opcodes. --- compile.c | 16 ---------------- 1 file changed, 16 deletions(-) (limited to 'compile.c') diff --git a/compile.c b/compile.c index 178b0463..08187836 100644 --- a/compile.c +++ b/compile.c @@ -317,22 +317,6 @@ block gen_fold(const char* varname, block init, block fold) { OP_HAS_VARIABLE)); } -block gen_assign(block expr) { - block result_var = block_bind(gen_op_var_unbound(STOREV, "result"), - gen_noop(), OP_HAS_VARIABLE); - - block loop = BLOCK(gen_op_simple(DUP), - expr, - gen_op_var_bound(ASSIGN, result_var), - gen_op_simple(BACKTRACK)); - - return BLOCK(gen_op_simple(DUP), - result_var, - gen_op_target(FORK, loop), - loop, - gen_op_var_bound(LOADV, result_var)); -} - block gen_definedor(block a, block b) { // var found := false block found_var = block_bind(gen_op_var_unbound(STOREV, "found"), -- cgit v1.2.3