summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>2000-03-04 22:19:10 +0100
committerMartin Mares <mj@ucw.cz>2000-03-04 22:19:10 +0100
commita58dad62383855ad1a60d4ec5406c38d24874506 (patch)
tree5ebafebb0826e64d4694a8705717512725161039
parentee76a92a80a0241421f57fe332c251255d2af4f8 (diff)
downloadbird-a58dad62383855ad1a60d4ec5406c38d24874506.tar
bird-a58dad62383855ad1a60d4ec5406c38d24874506.zip
Please *think* when defining operator priorities.
(-: num_of_parser_conflicts -= 42 :-)
-rw-r--r--conf/confbase.Y3
-rw-r--r--filter/config.Y4
2 files changed, 2 insertions, 5 deletions
diff --git a/conf/confbase.Y b/conf/confbase.Y
index ba60fb2..33fb3f7 100644
--- a/conf/confbase.Y
+++ b/conf/confbase.Y
@@ -41,6 +41,7 @@ CF_DECLS
}
%token END CLI_MARKER INVALID_TOKEN
+%token GEQ LEQ NEQ
%token <i> NUM ENUM
%token <i32> RTRID
%token <a> IPA
@@ -50,7 +51,7 @@ CF_DECLS
%type <i> expr bool pxlen
%type <time> datetime
-%nonassoc '=' '<' '>' '~' '.'
+%nonassoc '=' '<' '>' '~' '.' GEQ LEQ NEQ
%left '+' '-'
%left '*' '/' '%'
%left '!'
diff --git a/filter/config.Y b/filter/config.Y
index dc7cc5a..e99d5b7 100644
--- a/filter/config.Y
+++ b/filter/config.Y
@@ -39,8 +39,6 @@ CF_KEYWORDS(FUNCTION, PRINT, PRINTN, CONST, UNSET, RETURN,
%nonassoc THEN
%nonassoc ELSE
-%token GEQ LEQ NEQ
-
%type <x> term block cmds cmd function_body constant print_one print_list var_list var_listn dynamic_attr function_call
%type <f> filter filter_body where_filter
%type <i> type break_command pair
@@ -298,8 +296,6 @@ function_call:
}
;
-/* NEQ, LEQ and GEQ are responsible for 42 shift/reduce conflicts */
-
term:
'(' term ')' { $$ = $2; }
| term '+' term { $$ = f_new_inst(); $$->code = '+'; $$->a1.p = $1; $$->a2.p = $3; }