diff lwlib/lw_expr.h @ 337:04c80c51b16a

Checkpoint development
author lost
date Fri, 12 Mar 2010 06:01:38 +0000
parents 9f58e3bca6e3
children 7b4123dce741
line wrap: on
line diff
--- a/lwlib/lw_expr.h	Fri Mar 05 02:34:16 2010 +0000
+++ b/lwlib/lw_expr.h	Fri Mar 12 06:01:38 2010 +0000
@@ -63,7 +63,6 @@
 	int type;							// type of term
 	int value;							// integer value
 	void *value2;						// misc pointer value
-	int refcount;						// reference count
 	struct lw_expr_opers *operands;		// ptr to list of operands (for operators)
 };
 
@@ -73,16 +72,16 @@
 typedef void * lw_expr_t;
 
 extern lw_expr_t lwexpr_create(void);
-extern void lwexpr_destroy(lw_expr_t E);
-extern lw_expr_t lw_expr_deref(lw_expr_t r);
+extern void lw_expr_destroy(lw_expr_t E);
 extern lw_expr_t lw_expr_copy(lw_expr_t E);
 extern void lw_expr_add_operand(lw_expr_t E, lw_expr_t O);
-extern lw_expr_t lw_expr_deepcopy(lw_expr_t E);
 extern lw_expr_t lw_expr_build(int exprtype, ...);
 extern void lw_expr_print(lw_expr_t E);
 extern int lw_expr_compare(lw_expr_t E1, lw_expr_t E2);
 extern void lw_expr_simplify(lw_expr_t E);
-extern lw_expr_t lw_expr_build_noref(int exprtype, ...);
+
+extern void lw_expr_set_special_handler(lw_expr_t (*fn)(int t, void *ptr));
+extern void lw_expr_set_var_handler(lw_expr_t (*fn)(char *var));
 
 #endif /* def ___lw_expr_c_seen___ */