From 60de3356ab9b1996a84e3ba2865176a078b6d0ca Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Tue, 16 May 2000 14:24:33 +0000 Subject: [PATCH] Resolved shift/reduce conflict --- conf/confbase.Y | 1 + filter/config.Y | 4 ++-- 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 ipa %type 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;