]> git.saurik.com Git - bison.git/blobdiff - NEWS
* src/state.h, src/state.c (state_new): New, extracted from...
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index 6ba1741d9b225776c10b20e0e933dbd217014221..144d865d57774e368941b40bef18877bb6b3146c 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.
@@ -26,6 +39,9 @@ Changes in version 1.49b:
   and has long been required by POSIX.  For more details, please see
   <http://mail.gnu.org/pipermail/bug-bison/2002-May/001452.html>.
 
   and has long been required by POSIX.  For more details, please see
   <http://mail.gnu.org/pipermail/bug-bison/2002-May/001452.html>.
 
+* Traces
+  Popped tokens and nonterminals are now reported.
+
 * Large grammars
   Large grammars are now supported (large token numbers, large grammar
   size (= sum of the LHS and RHS lengths), large LALR tables).
 * Large grammars
   Large grammars are now supported (large token numbers, large grammar
   size (= sum of the LHS and RHS lengths), large LALR tables).
@@ -39,6 +55,9 @@ 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.
+
 * Incorrect `Token not used'
   On a grammar such as
 
 * Incorrect `Token not used'
   On a grammar such as
 
@@ -70,7 +89,7 @@ Changes in version 1.49b:
 * Semantic parser
   This old option, which has been broken for ages, is removed.
 
 * Semantic parser
   This old option, which has been broken for ages, is removed.
 
-* New translations
+* New translation
   Croatian, thanks to Denis Lackovic.
 
 * Incorrect token definitions
   Croatian, thanks to Denis Lackovic.
 
 * Incorrect token definitions
@@ -81,6 +100,27 @@ Changes in version 1.49b:
   the compiler supports ANSI C or is a C++ compiler, as enums.
   This helps debuggers producing symbols instead of values.
 
   the compiler supports ANSI C or is a C++ compiler, as enums.
   This helps debuggers producing symbols instead of values.
 
+* Reports
+  In addition to --verbose, bison supports --report=THINGS, which
+  produces additional information:
+  - itemset
+    complete the core item sets with their closure
+  - lookahead
+    explicitly associate lookaheads to items
+  - solved
+    describe shift/reduce conflicts solving.
+    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: