diff options
Diffstat (limited to 'interpreter/eval.c')
| -rw-r--r-- | interpreter/eval.c | 16 | 
1 files changed, 7 insertions, 9 deletions
| diff --git a/interpreter/eval.c b/interpreter/eval.c index 1997d4e..4387c96 100644 --- a/interpreter/eval.c +++ b/interpreter/eval.c @@ -216,9 +216,6 @@ bool debug_graphs;  void eval(struct fuspel *rules, struct node **node, bool to_rnf) {  	struct fuspel *_rules;  	bool rerun; -#ifdef _FUSPEL_DEBUG -	bool print_graph; -#endif  	struct replacements *repls;  	if (!node || !*node) @@ -234,10 +231,10 @@ void eval(struct fuspel *rules, struct node **node, bool to_rnf) {  #endif  	do { -		rerun = 0;  #ifdef _FUSPEL_DEBUG -		print_graph = debug_graphs; +		bool print_graph = debug_graphs;  #endif +		rerun = false;  		switch ((*node)->kind) {  			case NODE_INT: @@ -247,7 +244,7 @@ void eval(struct fuspel *rules, struct node **node, bool to_rnf) {  			case NODE_APP:  				if (is_code_app(*node)) {  					eval_code_app(rules, node); -					rerun = 1; +					rerun = true;  					break;  				} @@ -295,7 +292,7 @@ void eval(struct fuspel *rules, struct node **node, bool to_rnf) {  								_repls = _repls->rest)  							free_node(_repls->replacement.node, 1, 1); -						rerun = 1; +						rerun = true;  #ifdef _FUSPEL_DEBUG  						if (is_code_app(*node))  							print_graph = false; @@ -327,13 +324,13 @@ void eval(struct fuspel *rules, struct node **node, bool to_rnf) {  					Code_0 *code_fun = (Code_0*) (*node)->var1;  					code_fun(node);  					use_node(*node, 1); -					rerun = 1; +					rerun = true;  				}  				break;  			case NODE_REDIRECT:  				remove_redirects(*node); -				rerun = 1; +				rerun = true;  				break;  		} @@ -356,6 +353,7 @@ struct expression *eval_main(struct fuspel *rules  	struct expression *expr = my_calloc(1, sizeof(struct expression));  #ifdef _FUSPEL_DEBUG +	root_node = NULL;  	debug_graphs = debug_graphs_enabled;  #endif | 
