1
0
mirror of https://gitlab.labs.nic.cz/labs/bird.git synced 2024-05-11 16:54:54 +00:00

Original expr' is back, filter expressions renamed to term'.

In the future, we'll allow any filter term in place of `expr' and we'll
just evaluate it immediately, but not now as we have no evaluation
routines.
This commit is contained in:
Martin Mares
1999-01-15 18:04:28 +00:00
parent 3169cf6991
commit c9b6670608
2 changed files with 17 additions and 17 deletions

View File

@@ -21,7 +21,7 @@ CF_DECLS
CF_KEYWORDS(FUNCTION, FILTER, PRINTDEBUG, INT, PRINT)
%type <x> expr
%type <x> term
CF_GRAMMAR
@@ -38,7 +38,7 @@ program: /* EMPTY */
CF_ADDTO(conf, function)
function:
FUNCTION SYM '(' ')' '{' expr '}' {
FUNCTION SYM '(' ')' '{' term '}' {
extern struct f_instruction *last_func;
if ($2->class != SYM_VOID) cf_error("Symbol already defined" );
$2->class = SYM_FUNCTION;
@@ -50,7 +50,7 @@ function:
CF_ADDTO(conf, filter)
filter:
FILTER SYM '{' expr '}' {
FILTER SYM '{' term '}' {
if ($2->class != SYM_VOID) cf_error("Symbol already defined" );
$2->class = SYM_FILTER;
$2->aux = $4;
@@ -60,8 +60,8 @@ filter:
/* Programs */
expr: /* EMPTY */ { $$ = NULL; }
| expr ';' expr {
term: /* EMPTY */ { $$ = NULL; }
| term ';' term {
$$ = cfg_alloc(sizeof(struct f_instruction));
printf( "We've got statement here\n" );
$$->code = ',';
@@ -74,7 +74,7 @@ expr: /* EMPTY */ { $$ = NULL; }
printf( "New variable\n" );
$$ = NULL;
}
| SYM '=' cexpr {
| SYM '=' expr {
$$ = cfg_alloc(sizeof(struct f_instruction));
printf( "Ook, we'll set value\n" );
if ($1->class != SYM_VARIABLE_INT)