diff --git a/src/compiler/fzl_walker.c b/src/compiler/fzl_walker.c index 0f4de9c..b1414c2 100644 --- a/src/compiler/fzl_walker.c +++ b/src/compiler/fzl_walker.c @@ -258,7 +258,7 @@ fzl_walk_res_t walk(fzl_walker_t *walker, fzl_node_t *node) push_op(walker, FZL_OPCODE_MK_ENVTABLE); walker->syms[walker->sym_top++] = fzl_mksymt(); - size_t loop_begin_ip = walker->op_count; + // size_t loop_begin_ip = walker->op_count; if (node->loop.init) { @@ -316,16 +316,17 @@ fzl_walk_res_t walk(fzl_walker_t *walker, fzl_node_t *node) push_op(walker, FZL_OPCODE_RM_ENVTABLE); - bool is_infinite = - is_infinite_loop(walker, node, loop_begin_ip, walker->op_count - 2); - if (is_infinite) - { - free(newctx->breaks); - snprintf(wlast_err, sizeof(wlast_err), - "'%s': infinite loop detected at %ld:%ld", - node->token->filename, node->token->ln, node->token->cn); - return (fzl_walk_res_t){.error = true, .error_msg = wlast_err}; - } + // bool is_infinite = + // is_infinite_loop(walker, node, loop_begin_ip, walker->op_count - + // 2); + // if (is_infinite) + // { + // free(newctx->breaks); + // snprintf(wlast_err, sizeof(wlast_err), + // "'%s': infinite loop detected at %ld:%ld", + // node->token->filename, node->token->ln, node->token->cn); + // return (fzl_walk_res_t){.error = true, .error_msg = wlast_err}; + // } for (size_t i = walker->sym_top - 1; i > newctx->initial_env_lvl; i--) fzl_freesymt(walker->syms[--walker->sym_top]);