summaryrefslogtreecommitdiff
path: root/filter/config.Y
diff options
context:
space:
mode:
authorPavel Machek <pavel@ucw.cz>2000-04-17 10:42:28 +0000
committerPavel Machek <pavel@ucw.cz>2000-04-17 10:42:28 +0000
commite399b6f6ad91e6f94081dfe694740451100c7a7f (patch)
treec4cb4aaf1920ca9e1bfaa43e74d37ad2ffe8b635 /filter/config.Y
parent1ed2fe960929081065e75a7fb4322f28a76c508b (diff)
Path and path matching seem to work, now.
Diffstat (limited to 'filter/config.Y')
-rw-r--r--filter/config.Y8
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'); } */