bison-patches
[Top][All Lists]
Advanced

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

Re: [PATCH 0/6] {maint} more documentation about mid-rule actions


From: Akim Demaille
Subject: Re: [PATCH 0/6] {maint} more documentation about mid-rule actions
Date: Mon, 10 Dec 2012 18:06:07 +0100

Le 9 déc. 2012 à 16:31, Akim Demaille <address@hidden> a écrit :

> Akim Demaille (6):
>  build: beware of Clang++ not supporting POSIXLY_CORRECT
>  tests: be robust to C being compiled with a C++11 compiler
>  tests: ignore more useless compiler warnings
>  doc: various minor improvements and fixes
>  error: use better locations for unused midrule values
>  doc: explain how mid-rule actions are translated

Pushed, with this additional commit afterward.

commit d4fe9e88f33f622f86907feb7b2690d354d92945
Author: Akim Demaille <address@hidden>
Date:   Sun Dec 9 16:50:12 2012 +0100

    news: prepare for forthcoming release
    
    * NEWS: Fill paragraph.
    Reorder.
    Update examples.
    Remove line for 2.6.90.

diff --git a/NEWS b/NEWS
index d937bea..d16ac50 100644
--- a/NEWS
+++ b/NEWS
@@ -2,22 +2,36 @@ GNU Bison NEWS
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
-
-* Noteworthy changes in release 2.6.90 (2012-12-07) [beta]
-
 ** Bug fixes
 
   Warnings about uninitialized yylloc in yyparse have been fixed.
 
-** %language is no longer an experimental feature.
+** Diagnostics are improved
+
+*** Changes in the format of error messages
+
+  This used to be the format of many error reports:
+
+    input.y:2.7-12: %type redeclaration for exp
+    input.y:1.7-12: previous declaration
+
+  It is now:
+
+    input.y:2.7-12: error: %type redeclaration for exp
+    input.y:1.7-12:     previous declaration
 
-  The introduction of this feature, in 2.4, was four years ago. The --language
-  option and the %language directive are no longer experimental.
+*** New format for error reports: carets
 
-** New format for error reports: carets
+  Caret errors have been added to Bison:
 
-  Caret errors have been added to Bison, for example (taken from the
-  documentation):
+    input.y:2.7-12: error: %type redeclaration for exp
+     %type <sval> exp
+           ^^^^^^
+    input.y:1.7-12:     previous declaration
+     %type <ival> exp
+           ^^^^^^
+
+  or
 
     input.y:3.20-23: error: ambiguous reference: '$exp'
      exp: exp '+' exp { $exp = $1 + $3; };
@@ -32,42 +46,23 @@ GNU Bison NEWS
      exp: exp '+' exp { $exp = $1 + $3; };
                   ^^^
 
-  The default behaviour for now is still not to display these unless explictly
-  asked with -fall of -fcaret. However, in a later release, it will be made the
-  default behavior (but may still be deactivated with -fno-caret).
+  The default behaviour for now is still not to display these unless
+  explictly asked with -fcaret (or -fall). However, in a later release, it
+  will be made the default behavior (but may still be deactivated with
+  -fno-caret).
 
 ** New value for %define variable: api.pure full
 
   The %define variable api.pure requests a pure (reentrant) parser. However,
-  for historical reasons, using it in a location-tracking Yacc parser resulted
-  in a yyerror function that did not take a location as a parameter. With this
-  new value, the user may request a better pure parser, where yyerror does take
-  a location as a parameter (in location-tracking parsers).
+  for historical reasons, using it in a location-tracking Yacc parser
+  resulted in a yyerror function that did not take a location as a
+  parameter. With this new value, the user may request a better pure parser,
+  where yyerror does take a location as a parameter (in location-tracking
+  parsers).
 
   The use of "%define api.pure true" is deprecated in favor of this new
   "%define api.pure full".
 
-** Changes in the format of error messages
-
-  This used to be the format of many error reports:
-
-    foo.y:5.10-24: result type clash on merge function 'merge': <t3> != <t2>
-    foo.y:4.13-27: previous declaration
-
-  It is now:
-
-    foo.y:5.10-25: result type clash on merge function 'merge': <t3> != <t2>
-    foo.y:4.13-27:     previous declaration
-
-** Exception safety (lalr1.cc)
-
-  The parse function now catches exceptions, uses the %destructors to
-  release memory (the lookahead symbol and the symbols pushed on the stack)
-  before re-throwing the exception.
-
-  This feature is somewhat experimental.  User feedback would be
-  appreciated.
-
 ** New %define variable: api.location.type (glr.cc, lalr1.cc, lalr1.java)
 
   The %define variable api.location.type defines the name of the type to use
@@ -87,6 +82,15 @@ GNU Bison NEWS
   position_type are deprecated in favor of api.location.type and
   api.position.type.
 
+** Exception safety (lalr1.cc)
+
+  The parse function now catches exceptions, uses the %destructors to
+  release memory (the lookahead symbol and the symbols pushed on the stack)
+  before re-throwing the exception.
+
+  This feature is somewhat experimental.  User feedback would be
+  appreciated.
+
 ** Graph improvements in DOT and XSLT
 
   The graphical presentation of the states is more readable: their shape is
@@ -99,13 +103,19 @@ GNU Bison NEWS
   These changes are present in both --graph output and xml2dot.xsl XSLT
   processing, with minor (documented) differences.
 
-  Two nodes were added to the documentation: Xml and Graphviz.
+** %language is no longer an experimental feature.
+
+  The introduction of this feature, in 2.4, was four years ago. The
+  --language option and the %language directive are no longer experimental.
 
 ** Documentation
 
   The sections about shift/reduce and reduce/reduce conflicts resolution
   have been fixed and extended.
 
+  Although introduced more than four years ago, XML and Graphviz reports
+  were not properly documented.
+
   The translation of mid-rule actions is now described.
 
 * Noteworthy changes in release 2.6.5 (2012-11-07) [stable]




reply via email to

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