Changes in version 2.3a+ (????-??-??):
+* Previously, Bison sometimes generated parser tables containing unreachable
+ states. A state can become unreachable during conflict resolution if Bison
+ disables a shift action leading to it from a predecessor state. Bison now:
+
+ 1. Removes unreachable states.
+
+ 2. Does not report any conflicts that appeared in unreachable states.
+ WARNING: As a result, you may need to update %expect and %expect-rr
+ directives in existing grammar files.
+
+ 3. For any rule used only in such states, Bison now reports the rule as
+ "never reduced because of conflicts".
+
+ This feature can be disabled with the following directive:
+
+ %define lr.keep_unreachable_states
+
+ See the %define entry in the `Bison Declaration Summary' in the Bison manual
+ for further discussion.
+
+* When instructed to generate a `.output' file including lookahead sets
+ (using `--report=lookahead', for example), Bison now prints each reduction's
+ lookahead set only next to the associated state's one item that (1) is
+ associated with the same rule as the reduction and (2) has its dot at the end
+ of its RHS. Previously, Bison also erroneously printed the lookahead set
+ next to all of the state's other items associated with the same rule. This
+ bug affected only the `.output' file and not the generated parser source
+ code.
+
* The -g and --graph options now output graphs in Graphviz DOT format,
not VCG format.
3. `%code provides {CODE}' replaces `%end-header {CODE}'
4. `%code top {CODE}' replaces `%before-header {CODE}'
- See the %code entries in `Appendix A Bison Symbols' in the Bison manual for a
- summary of the new functionality. See the new section `Prologue
+ See the %code entries in section `Bison Declaration Summary' in the Bison
+ manual for a summary of the new functionality. See the new section `Prologue
Alternatives' for a detailed discussion including the advantages of %code
over the traditional Yacc prologues.
Changes in version 2.3a, 2006-09-13:
-* Bison now supports generating Java parsers. Grammars written for
- the Java language should include the `%language "Java"' directive.
-
* Instead of %union, you can define and use your own union type
YYSTYPE if your grammar contains at least one <type> tag.
Your YYSTYPE need not be a macro; it can be a typedef.
This file is part of Bison, the GNU Compiler Compiler.
-Bison is free software; you can redistribute it and/or modify
+This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
-Bison is distributed in the hope that it will be useful,
+This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
-along with autoconf; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-Boston, MA 02110-1301, USA.
+along with this program. If not, see <http://www.gnu.org/licenses/>.