]> git.saurik.com Git - bison.git/blobdiff - NEWS
Steal GCC's --time-report support.
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index e4acf388f9a024bc14ff4a802d1a2bc69c5bdd94..c589d2f252df959fde689d48a865c3c6f8730fc0 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,19 @@ Bison News
 
 Changes in version 1.49b:
 
 
 Changes in version 1.49b:
 
+* GLR parsing
+  The declaration
+     %glr-parser
+  causes Bison to produce a Generalized LR (GLR) parser, capable of handling
+  almost any context-free grammar, ambiguous or not.  The new declarations
+  %dprec and %merge on grammar rules allow parse-time resolution of
+  ambiguities.  Contributed by Paul Hilfinger.
+
+* Output Directory
+  When not in Yacc compatibility mode, when the output file was not
+  specified, runnning `bison foo/bar.y' created `foo/bar.c'.  It
+  now creates `bar.c'.
+
 * Undefined token
   The undefined token was systematically mapped to 2 which prevented
   the use of 2 from the user.  This is no longer the case.
 * Undefined token
   The undefined token was systematically mapped to 2 which prevented
   the use of 2 from the user.  This is no longer the case.
@@ -17,6 +30,13 @@ Changes in version 1.49b:
   user specified that one of her tokens is numbered 256, then error
   will be mapped onto another number.
 
   user specified that one of her tokens is numbered 256, then error
   will be mapped onto another number.
 
+* Verbose error messages
+  They no longer report `..., expecting error or...' for state where
+  error recovery is possible.
+
+* End token
+  Defaults to `$end' instead of `$'.
+
 * Error recovery now conforms to documentation and to POSIX
   When a Bison-generated parser encounters a syntax error, it now pops
   the stack until it finds a state that allows shifting the error
 * Error recovery now conforms to documentation and to POSIX
   When a Bison-generated parser encounters a syntax error, it now pops
   the stack until it finds a state that allows shifting the error
@@ -42,6 +62,13 @@ Changes in version 1.49b:
   Before, Bison reported the useless rules, but, although not used,
   included them in the parsers.  They are now actually removed.
 
   Before, Bison reported the useless rules, but, although not used,
   included them in the parsers.  They are now actually removed.
 
+* Useless rules, useless nonterminals
+  They are now reported, as a warning, with their locations.
+
+* Rules never reduced
+  Rules that can never be reduced because of conflicts are now
+  reported.
+
 * Incorrect `Token not used'
   On a grammar such as
 
 * Incorrect `Token not used'
   On a grammar such as
 
@@ -64,7 +91,7 @@ Changes in version 1.49b:
 * Token end-of-file
   The token end of file may be specified by the user, in which case,
   the user symbol is used in the reports, the graphs, and the verbose
 * Token end-of-file
   The token end of file may be specified by the user, in which case,
   the user symbol is used in the reports, the graphs, and the verbose
-  error messages instead of `$', which remains being the defaults.
+  error messages instead of `$end', which remains being the defaults.
   For instance
      %token YYEOF 0
   or
   For instance
      %token YYEOF 0
   or
@@ -96,6 +123,15 @@ Changes in version 1.49b:
     Bison used to systematically output this information on top of
     the report.  Solved conflicts are now attached to their states.
 
     Bison used to systematically output this information on top of
     the report.  Solved conflicts are now attached to their states.
 
+* Type clashes
+  Previous versions don't complain when there is a type clash on
+  the default action if the rule has a mid-rule action, such as in:
+
+      %type <foo> bar
+      %%
+      bar: '0' {} '0';
+
+  This is fixed.
 \f
 Changes in version 1.35, 2002-03-25:
 
 \f
 Changes in version 1.35, 2002-03-25: