diff options
author | Pavel Machek <pavel@ucw.cz> | 2000-05-16 14:24:33 +0000 |
---|---|---|
committer | Pavel Machek <pavel@ucw.cz> | 2000-05-16 14:24:33 +0000 |
commit | 60de3356ab9b1996a84e3ba2865176a078b6d0ca (patch) | |
tree | 75334091f707d3ad949150b427e741aa0735f3f9 | |
parent | e2f4f275646d21de363c32ff3c8fb4f492f07c04 (diff) |
Resolved shift/reduce conflict
-rw-r--r-- | conf/confbase.Y | 1 | ||||
-rw-r--r-- | filter/config.Y | 4 | ||||
-rw-r--r-- | filter/test.conf | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/conf/confbase.Y b/conf/confbase.Y index 31b36173..b48a9290 100644 --- a/conf/confbase.Y +++ b/conf/confbase.Y @@ -56,6 +56,7 @@ CF_DECLS %type <a> ipa %type <px> prefix prefix_or_ipa +%nonassoc PREFIX_DUMMY %nonassoc '=' '<' '>' '~' '.' GEQ LEQ NEQ %left '+' '-' %left '*' '/' '%' diff --git a/filter/config.Y b/filter/config.Y index a99e4a54..accf3184 100644 --- a/filter/config.Y +++ b/filter/config.Y @@ -211,7 +211,7 @@ pair: * Complex types, their bison value is struct f_val */ fprefix_s: - IPA '/' NUM { + IPA '/' NUM %prec '/' { if (!ip_is_prefix($1, $3)) cf_error("Invalid network prefix: %I/%d", $1, $3); $$.type = T_PREFIX; $$.val.px.ip = $1; $$.val.px.len = $3; } @@ -225,7 +225,7 @@ fprefix: ; fipa: - IPA { $$.type = T_IP; $$.val.px.ip = $1; } + IPA %prec PREFIX_DUMMY { $$.type = T_IP; $$.val.px.ip = $1; } ; set_atom: diff --git a/filter/test.conf b/filter/test.conf index bce8cfec..c7fe415f 100644 --- a/filter/test.conf +++ b/filter/test.conf @@ -6,7 +6,7 @@ router id 62.168.0.1; -#define xyzzy = 120+10; +define xyzzy = (120+10); function callme(int arg1; int arg2) int local1; |