mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-14 23:03:04 +00:00
Report rules which are never reduced by the parser: those hidden
by conflicts. * src/LR0.c (save_reductions): Don't make the final state too different: save its reduction (accept) instead of having a state without any action (no shift or goto, no reduce). Note: the final state is now a ``regular'' state, i.e., the parsers now contain `reduce 0' as default reduction. Nevertheless, since they decide to `accept' when yystate = final_state, they still will not reduce rule 0. * src/print.c (print_actions, print_reduction): Adjust. * src/output.c (action_row): Track reduced rules. (token_actions): Report rules never reduced. * tests/conflicts.at, tests/regression.at: Adjust.
This commit is contained in:
6
NEWS
6
NEWS
@@ -8,7 +8,7 @@ Changes in version 1.49b:
|
||||
%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
|
||||
%dprec and %merge on grammar rules allow parse-time resolution of
|
||||
ambiguities. Contributed by Paul Hilfinger.
|
||||
|
||||
* Output Directory
|
||||
@@ -58,6 +58,10 @@ Changes in version 1.49b:
|
||||
* 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user