/*
* BIRD - filters
*
- * Copyright 1998,1999 Pavel Machek
+ * Copyright 1998--2000 Pavel Machek
*
* Can be freely distributed and used under the terms of the GNU GPL.
*
ADD, DELETE, CONTAINS, RESET,
PREPEND, MATCH,
EMPTY,
- FILTER, WHERE)
+ FILTER, WHERE, EVAL)
%nonassoc THEN
%nonassoc ELSE
}
;
+CF_ADDTO(conf, filter_eval)
+filter_eval:
+ EVAL term { f_eval_int($2); }
+ ;
+
type:
INT { $$ = T_INT; }
| BOOL { $$ = T_BOOL; }
CF_ADDTO(conf, function_def)
function_def:
- FUNCTION SYM { DBG( "Begining of function %s\n", $2->name ); cf_push_scope($2); } function_params function_body {
+ FUNCTION SYM { DBG( "Beginning of function %s\n", $2->name ); cf_push_scope($2); } function_params function_body {
extern struct f_inst *startup_func, *test1_func, *test2_func;
cf_define_symbol($2, SYM_FUNCTION, $5);
if (!strcasecmp($2->name, "__startup"))
struct rte;
int f_run(struct filter *filter, struct rte **rte, struct ea_list **tmp_attrs, struct linpool *tmp_pool, int flags);
+int f_eval_int(struct f_inst *expr);
char *filter_name(struct filter *filter);
int filter_same(struct filter *new, struct filter *old);