Mercurial > hg-old > index.cgi
diff lwlib/lw_expr.h @ 367:34dfc9747f23
Reduction passes complete
author | lost@starbug |
---|---|
date | Thu, 15 Apr 2010 21:56:06 -0600 |
parents | 1649bc7bda5a |
children | 6b33faa21a0a |
line wrap: on
line diff
--- a/lwlib/lw_expr.h Wed Apr 14 21:02:53 2010 -0600 +++ b/lwlib/lw_expr.h Thu Apr 15 21:56:06 2010 -0600 @@ -70,6 +70,7 @@ typedef lw_expr_t lw_expr_fn_t(int t, void *ptr, void *priv); typedef lw_expr_t lw_expr_fn2_t(char *var, void *priv); typedef lw_expr_t lw_expr_fn3_t(char **p, void *priv); +typedef int lw_expr_testfn_t(lw_expr_t e, void *priv); #else /* def ___lw_expr_c_seen___ */ @@ -95,6 +96,14 @@ extern lw_expr_t lw_expr_parse(char **p, void *priv); extern int lw_expr_istype(lw_expr_t e, int t); extern int lw_expr_intval(lw_expr_t e); +extern int lw_expr_specint(lw_expr_t e); + +typedef int lw_expr_testfn_t(lw_expr_t e, void *priv); + +// run a function on all terms in an expression; if the function +// returns non-zero for any term, return non-zero, else return +// zero +extern int lw_expr_testterms(lw_expr_t e, lw_expr_testfn_t *fn, void *priv); #endif /* def ___lw_expr_c_seen___ */