bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

parser: deprecate %error-verbose


From: Akim Demaille
Subject: parser: deprecate %error-verbose
Date: Mon, 12 Nov 2018 07:38:08 +0100

commit 143d08d4e2ce2d142525a5f305b73a7fc1f3a72f
Author: Akim Demaille <address@hidden>
Date:   Mon Nov 12 07:16:59 2018 +0100

    parser: deprecate %error-verbose
    
    It is unfortunate that %error_verbose was properly diagnosed as
    obsoleted by "%define parse.error verbose", but %error-verbose was
    not.
    
    * src/parse-gram.y (%error-verbose): Remove support.
    * src/scan-gram.l: Do it here instead, with a warning.
    * tests/input.at (Deprecated directives): Check it.

diff --git a/NEWS b/NEWS
index 1ed54441..cfddbaad 100644
--- a/NEWS
+++ b/NEWS
@@ -23,6 +23,9 @@ GNU Bison NEWS
   was never officially documented.  Its use now triggers warnings.
   Eventually, support will be removed.  Use %type instead.
 
+  The use of the %error-verbose directive is deprecated in favor of "%define
+  parse.error verbose" since Bison 3.0, but no warning was issued.
+
 * Noteworthy changes in release 3.2.1 (2018-11-09) [stable]
 
 ** Bug fixes
diff --git a/src/parse-gram.y b/src/parse-gram.y
index a44326c4..f8716f59 100644
--- a/src/parse-gram.y
+++ b/src/parse-gram.y
@@ -143,7 +143,6 @@
   PERCENT_DEFAULT_PREC    "%default-prec"
   PERCENT_DEFINE          "%define"
   PERCENT_DEFINES         "%defines"
-  PERCENT_ERROR_VERBOSE   "%error-verbose"
   PERCENT_EXPECT          "%expect"
   PERCENT_EXPECT_RR       "%expect-rr"
   PERCENT_FLAG            "%<flag>"
@@ -290,12 +289,6 @@ prologue_declaration:
       defines_flag = true;
       spec_defines_file = xstrdup ($2);
     }
-| "%error-verbose"
-    {
-      muscle_percent_define_insert ("parse.error", @1, muscle_keyword,
-                                    "verbose",
-                                    MUSCLE_PERCENT_DEFINE_GRAMMAR_FILE);
-    }
 | "%expect" INT                    { expected_sr_conflicts = $2; }
 | "%expect-rr" INT                 { expected_rr_conflicts = $2; }
 | "%file-prefix" STRING            { spec_file_prefix = $2; }
diff --git a/src/scan-gram.l b/src/scan-gram.l
index 22d56cbd..52b53fea 100644
--- a/src/scan-gram.l
+++ b/src/scan-gram.l
@@ -223,7 +223,6 @@ eqopt    ([[:space:]]*=)?
   "%destructor"                     return PERCENT_DESTRUCTOR;
   "%dprec"                          return PERCENT_DPREC;
   "%empty"                          return PERCENT_EMPTY;
-  "%error-verbose"                  return PERCENT_ERROR_VERBOSE;
   "%expect"                         return PERCENT_EXPECT;
   "%expect-rr"                      return PERCENT_EXPECT_RR;
   "%file-prefix"                    return PERCENT_FILE_PREFIX;
@@ -259,6 +258,10 @@ eqopt    ([[:space:]]*=)?
   "%verbose"                        return PERCENT_VERBOSE;
   "%yacc"                           return PERCENT_YACC;
 
+  /* Deprecated since Bison 3.0 (2013-07-25), but the warning is
+     issued only since Bison 3.3. */
+  "%error-verbose"                  DEPRECATED("%define parse.error verbose");
+
   /* Deprecated since Bison 2.7.90, 2012. */
   "%default"[-_]"prec"              DEPRECATED("%default-prec");
   "%error"[-_]"verbose"             DEPRECATED("%define parse.error verbose");
diff --git a/tests/input.at b/tests/input.at
index 4e65b97d..9a09fa2f 100644
--- a/tests/input.at
+++ b/tests/input.at
@@ -2188,6 +2188,7 @@ AT_DATA_GRAMMAR([[input.y]],
 %output = "foo"
 %pure_parser
 %token_table
+%error-verbose
 %glr-parser
 %% exp : '0'
 ]])
@@ -2207,6 +2208,7 @@ input.y:23.1-9: warning: deprecated directive: 
'%no_lines', use '%no-lines' [-Wd
 input.y:24.1-9: warning: deprecated directive: '%output =', use '%output' 
[-Wdeprecated]
 input.y:25.1-12: warning: deprecated directive: '%pure_parser', use 
'%pure-parser' [-Wdeprecated]
 input.y:26.1-12: warning: deprecated directive: '%token_table', use 
'%token-table' [-Wdeprecated]
+input.y:27.1-14: warning: deprecated directive: '%error-verbose', use '%define 
parse.error verbose' [-Wdeprecated]
 ]])
 
 AT_CLEANUP




reply via email to

[Prev in Thread] Current Thread [Next in Thread]