comparison 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
comparison
equal deleted inserted replaced
366:84dc6d2ec6ba 367:34dfc9747f23
68 }; 68 };
69 69
70 typedef lw_expr_t lw_expr_fn_t(int t, void *ptr, void *priv); 70 typedef lw_expr_t lw_expr_fn_t(int t, void *ptr, void *priv);
71 typedef lw_expr_t lw_expr_fn2_t(char *var, void *priv); 71 typedef lw_expr_t lw_expr_fn2_t(char *var, void *priv);
72 typedef lw_expr_t lw_expr_fn3_t(char **p, void *priv); 72 typedef lw_expr_t lw_expr_fn3_t(char **p, void *priv);
73 typedef int lw_expr_testfn_t(lw_expr_t e, void *priv);
73 74
74 #else /* def ___lw_expr_c_seen___ */ 75 #else /* def ___lw_expr_c_seen___ */
75 76
76 typedef void * lw_expr_t; 77 typedef void * lw_expr_t;
77 78
93 extern void lw_expr_set_term_parser(lw_expr_fn3_t *fn); 94 extern void lw_expr_set_term_parser(lw_expr_fn3_t *fn);
94 95
95 extern lw_expr_t lw_expr_parse(char **p, void *priv); 96 extern lw_expr_t lw_expr_parse(char **p, void *priv);
96 extern int lw_expr_istype(lw_expr_t e, int t); 97 extern int lw_expr_istype(lw_expr_t e, int t);
97 extern int lw_expr_intval(lw_expr_t e); 98 extern int lw_expr_intval(lw_expr_t e);
99 extern int lw_expr_specint(lw_expr_t e);
100
101 typedef int lw_expr_testfn_t(lw_expr_t e, void *priv);
102
103 // run a function on all terms in an expression; if the function
104 // returns non-zero for any term, return non-zero, else return
105 // zero
106 extern int lw_expr_testterms(lw_expr_t e, lw_expr_testfn_t *fn, void *priv);
98 107
99 #endif /* def ___lw_expr_c_seen___ */ 108 #endif /* def ___lw_expr_c_seen___ */
100 109
101 #endif /* ___lw_expr_h_seen___ */ 110 #endif /* ___lw_expr_h_seen___ */