diff options
author | Pavel Machek <pavel@ucw.cz> | 2000-04-17 10:42:28 +0000 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 2000-04-17 10:42:28 +0000 |
commit | e399b6f6ad91e6f94081dfe694740451100c7a7f (patch) | |
tree | c4cb4aaf1920ca9e1bfaa43e74d37ad2ffe8b635 /filter/config.Y | |
parent | 1ed2fe960929081065e75a7fb4322f28a76c508b (diff) |
Path and path matching seem to work, now.
Diffstat (limited to 'filter/config.Y')
-rw-r--r-- | filter/config.Y | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/filter/config.Y b/filter/config.Y index a4c1392b..d515d17b 100644 --- a/filter/config.Y +++ b/filter/config.Y @@ -72,7 +72,7 @@ CF_KEYWORDS(FUNCTION, PRINT, PRINTN, UNSET, RETURN, LEN, DEFINED, ADD, DELETE, CONTAINS, RESET, - APPEND, MATCH, + PREPEND, MATCH, EMPTY, FILTER, WHERE) @@ -388,6 +388,7 @@ term: case SYM_VARIABLE | T_PREFIX: case SYM_VARIABLE | T_IP: case SYM_VARIABLE | T_PATH_MASK: + case SYM_VARIABLE | T_PATH: $$->code = 'C'; $$->a1.p = $1->aux2; break; @@ -417,10 +418,11 @@ term: */ /* Paths */ - | term '.' APPEND '(' term ')' { } + | term '.' PREPEND '(' term ')' { } | term '.' RESET { } - | EMPTY { $$ = f_new_inst(); $$->code = 'E'; $$->aux = T_PATH; } + | '+' EMPTY '+' { $$ = f_new_inst(); $$->code = 'E'; $$->aux = T_PATH; } + | PREPEND '(' term ',' term ')' { $$ = f_new_inst(); $$->code = P('A','p'); $$->a1.p = $3; $$->a2.p = $5; } /* | term '.' LEN { $$->code = P('P','l'); } */ |