mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
lr.default-reductions: rename "full" value to "most".
Unlike "consistent" and "accepting", "full" doesn't answer the question of "which states". * doc/bison.texinfo (%define Summary): Update. (Default Reductions): Update. * src/print.c (print_reductions): Update. * src/reader.c (prepare_percent_define_front_end_variables): Update. * src/tables.c (action_row): Update. * tests/input.at (%define enum variables): Update. * tests/reduce.at (%define lr.default-reductions): Update.
This commit is contained in:
14
ChangeLog
14
ChangeLog
@@ -1,3 +1,17 @@
|
||||
2011-03-20 Joel E. Denny <joeldenny@joeldenny.org>
|
||||
|
||||
lr.default-reductions: rename "full" value to "most".
|
||||
Unlike "consistent" and "accepting", "full" doesn't answer the
|
||||
question of "which states".
|
||||
* doc/bison.texinfo (%define Summary): Update.
|
||||
(Default Reductions): Update.
|
||||
* src/print.c (print_reductions): Update.
|
||||
* src/reader.c (prepare_percent_define_front_end_variables):
|
||||
Update.
|
||||
* src/tables.c (action_row): Update.
|
||||
* tests/input.at (%define enum variables): Update.
|
||||
* tests/reduce.at (%define lr.default-reductions): Update.
|
||||
|
||||
2011-03-13 Joel E. Denny <joeldenny@joeldenny.org>
|
||||
|
||||
* src/parse-gram.c, src/parse-gram.h: Regenerate.
|
||||
|
||||
@@ -5166,11 +5166,11 @@ contain default reductions. @xref{Default Reductions}. (The ability to
|
||||
specify where default reductions should be used is experimental. More user
|
||||
feedback will help to stabilize it.)
|
||||
|
||||
@item Accepted Values: @code{full}, @code{consistent}, @code{accepting}
|
||||
@item Accepted Values: @code{most}, @code{consistent}, @code{accepting}
|
||||
@item Default Value:
|
||||
@itemize
|
||||
@item @code{accepting} if @code{lr.type} is @code{canonical-lr}.
|
||||
@item @code{full} otherwise.
|
||||
@item @code{most} otherwise.
|
||||
@end itemize
|
||||
@end itemize
|
||||
|
||||
@@ -7143,7 +7143,7 @@ To adjust which states have default reductions enabled, use the
|
||||
Specify the kind of states that are permitted to contain default reductions.
|
||||
The accepted values of @var{WHERE} are:
|
||||
@itemize
|
||||
@item @code{full} (default for LALR and IELR)
|
||||
@item @code{most} (default for LALR and IELR)
|
||||
@item @code{consistent}
|
||||
@item @code{accepting} (default for canonical LR)
|
||||
@end itemize
|
||||
|
||||
@@ -337,7 +337,7 @@ print_reductions (FILE *out, state *s)
|
||||
char *default_reductions =
|
||||
muscle_percent_define_get ("lr.default-reductions");
|
||||
print_reduction (out, width, _("$default"), default_reduction, true);
|
||||
aver (0 == strcmp (default_reductions, "full")
|
||||
aver (0 == strcmp (default_reductions, "most")
|
||||
|| (0 == strcmp (default_reductions, "consistent")
|
||||
&& default_reduction_only)
|
||||
|| (reds->num == 1 && reds->rules[0]->number == 0));
|
||||
|
||||
@@ -630,7 +630,7 @@ prepare_percent_define_front_end_variables (void)
|
||||
muscle_percent_define_default ("lr.type", "lalr");
|
||||
lr_type = muscle_percent_define_get ("lr.type");
|
||||
if (0 != strcmp (lr_type, "canonical-lr"))
|
||||
muscle_percent_define_default ("lr.default-reductions", "full");
|
||||
muscle_percent_define_default ("lr.default-reductions", "most");
|
||||
else
|
||||
muscle_percent_define_default ("lr.default-reductions", "accepting");
|
||||
free (lr_type);
|
||||
@@ -640,7 +640,7 @@ prepare_percent_define_front_end_variables (void)
|
||||
{
|
||||
static char const * const values[] = {
|
||||
"lr.type", "lalr", "ielr", "canonical-lr", NULL,
|
||||
"lr.default-reductions", "full", "consistent", "accepting", NULL,
|
||||
"lr.default-reductions", "most", "consistent", "accepting", NULL,
|
||||
NULL
|
||||
};
|
||||
muscle_percent_define_check_values (values);
|
||||
|
||||
@@ -310,7 +310,7 @@ action_row (state *s)
|
||||
{
|
||||
char *default_reductions =
|
||||
muscle_percent_define_get ("lr.default-reductions");
|
||||
if (0 != strcmp (default_reductions, "full") && !s->consistent)
|
||||
if (0 != strcmp (default_reductions, "most") && !s->consistent)
|
||||
nodefault = true;
|
||||
free (default_reductions);
|
||||
}
|
||||
|
||||
@@ -1034,7 +1034,7 @@ start: ;
|
||||
]])
|
||||
AT_BISON_CHECK([[input.y]], [[1]], [[]],
|
||||
[[input.y:1.9-29: invalid value for %define variable `lr.default-reductions': `bogus'
|
||||
input.y:1.9-29: accepted value: `full'
|
||||
input.y:1.9-29: accepted value: `most'
|
||||
input.y:1.9-29: accepted value: `consistent'
|
||||
input.y:1.9-29: accepted value: `accepting'
|
||||
]])
|
||||
|
||||
@@ -1451,12 +1451,12 @@ dnl PARSER-EXIT-VALUE, PARSER-STDOUT, PARSER-STDERR
|
||||
m4_define([AT_TEST_LR_DEFAULT_REDUCTIONS],
|
||||
[
|
||||
AT_TEST_TABLES_AND_PARSE([[no %define lr.default-reductions]],
|
||||
[[full]], [[]],
|
||||
[[most]], [[]],
|
||||
[[]],
|
||||
[$1], [$2], [[]], [$3])
|
||||
AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions full]],
|
||||
[[full]], [[]],
|
||||
[[%define lr.default-reductions full]],
|
||||
AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions most]],
|
||||
[[most]], [[]],
|
||||
[[%define lr.default-reductions most]],
|
||||
[$1], [$2], [[]], [$3])
|
||||
AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions consistent]],
|
||||
[[consistent]], [[]],
|
||||
@@ -1529,7 +1529,7 @@ state 3
|
||||
2 | a . b 'a'
|
||||
3 | a . c 'b'
|
||||
5 b: . [$end, 'a']
|
||||
6 c: . ['b']]AT_COND_CASE([[full]], [[
|
||||
6 c: . ['b']]AT_COND_CASE([[most]], [[
|
||||
|
||||
'b' reduce using rule 6 (c)
|
||||
$default reduce using rule 5 (b)]], [[
|
||||
@@ -1556,7 +1556,7 @@ state 5
|
||||
|
||||
'a' shift, and go to state 7
|
||||
|
||||
]AT_COND_CASE([[full]], [[$default]],
|
||||
]AT_COND_CASE([[most]], [[$default]],
|
||||
[[$end]])[ reduce using rule 1 (start)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user