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.
(cherry picked from commit a6e5a28079)
This commit is contained in:
Joel E. Denny
2011-03-20 17:35:10 -04:00
parent f9d52903f1
commit f0ad1b2fb2
7 changed files with 28 additions and 14 deletions

View File

@@ -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> 2011-03-13 Joel E. Denny <joeldenny@joeldenny.org>
* src/parse-gram.c, src/parse-gram.h: Regenerate. * src/parse-gram.c, src/parse-gram.h: Regenerate.

View File

@@ -5368,11 +5368,11 @@ contain default reductions. @xref{Default Reductions}. (The ability to
specify where default reductions should be used is experimental. More user specify where default reductions should be used is experimental. More user
feedback will help to stabilize it.) 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: @item Default Value:
@itemize @itemize
@item @code{accepting} if @code{lr.type} is @code{canonical-lr}. @item @code{accepting} if @code{lr.type} is @code{canonical-lr}.
@item @code{full} otherwise. @item @code{most} otherwise.
@end itemize @end itemize
@end itemize @end itemize
@@ -7449,7 +7449,7 @@ To adjust which states have default reductions enabled, use the
Specify the kind of states that are permitted to contain default reductions. Specify the kind of states that are permitted to contain default reductions.
The accepted values of @var{WHERE} are: The accepted values of @var{WHERE} are:
@itemize @itemize
@item @code{full} (default for LALR and IELR) @item @code{most} (default for LALR and IELR)
@item @code{consistent} @item @code{consistent}
@item @code{accepting} (default for canonical LR) @item @code{accepting} (default for canonical LR)
@end itemize @end itemize

View File

@@ -337,7 +337,7 @@ print_reductions (FILE *out, state *s)
char *default_reductions = char *default_reductions =
muscle_percent_define_get ("lr.default-reductions"); muscle_percent_define_get ("lr.default-reductions");
print_reduction (out, width, _("$default"), default_reduction, true); 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") || (0 == strcmp (default_reductions, "consistent")
&& default_reduction_only) && default_reduction_only)
|| (reds->num == 1 && reds->rules[0]->number == 0)); || (reds->num == 1 && reds->rules[0]->number == 0));

View File

@@ -632,7 +632,7 @@ prepare_percent_define_front_end_variables (void)
muscle_percent_define_default ("lr.type", "lalr"); muscle_percent_define_default ("lr.type", "lalr");
lr_type = muscle_percent_define_get ("lr.type"); lr_type = muscle_percent_define_get ("lr.type");
if (0 != strcmp (lr_type, "canonical-lr")) if (0 != strcmp (lr_type, "canonical-lr"))
muscle_percent_define_default ("lr.default-reductions", "full"); muscle_percent_define_default ("lr.default-reductions", "most");
else else
muscle_percent_define_default ("lr.default-reductions", "accepting"); muscle_percent_define_default ("lr.default-reductions", "accepting");
free (lr_type); free (lr_type);
@@ -642,7 +642,7 @@ prepare_percent_define_front_end_variables (void)
{ {
static char const * const values[] = { static char const * const values[] = {
"lr.type", "lalr", "ielr", "canonical-lr", NULL, "lr.type", "lalr", "ielr", "canonical-lr", NULL,
"lr.default-reductions", "full", "consistent", "accepting", NULL, "lr.default-reductions", "most", "consistent", "accepting", NULL,
NULL NULL
}; };
muscle_percent_define_check_values (values); muscle_percent_define_check_values (values);

View File

@@ -310,7 +310,7 @@ action_row (state *s)
{ {
char *default_reductions = char *default_reductions =
muscle_percent_define_get ("lr.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; nodefault = true;
free (default_reductions); free (default_reductions);
} }

View File

@@ -1029,7 +1029,7 @@ start: ;
]]) ]])
AT_BISON_CHECK([[input.y]], [[1]], [[]], 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: 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: `consistent'
input.y:1.9-29: accepted value: `accepting' input.y:1.9-29: accepted value: `accepting'
]]) ]])

View File

@@ -1451,12 +1451,12 @@ dnl PARSER-EXIT-VALUE, PARSER-STDOUT, PARSER-STDERR
m4_define([AT_TEST_LR_DEFAULT_REDUCTIONS], m4_define([AT_TEST_LR_DEFAULT_REDUCTIONS],
[ [
AT_TEST_TABLES_AND_PARSE([[no %define lr.default-reductions]], AT_TEST_TABLES_AND_PARSE([[no %define lr.default-reductions]],
[[full]], [[]], [[most]], [[]],
[[]], [[]],
[$1], [$2], [[]], [$3]) [$1], [$2], [[]], [$3])
AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions full]], AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions most]],
[[full]], [[]], [[most]], [[]],
[[%define lr.default-reductions full]], [[%define lr.default-reductions most]],
[$1], [$2], [[]], [$3]) [$1], [$2], [[]], [$3])
AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions consistent]], AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions consistent]],
[[consistent]], [[]], [[consistent]], [[]],
@@ -1529,7 +1529,7 @@ state 3
2 | a . b 'a' 2 | a . b 'a'
3 | a . c 'b' 3 | a . c 'b'
5 b: . [$end, 'a'] 5 b: . [$end, 'a']
6 c: . ['b']]AT_COND_CASE([[full]], [[ 6 c: . ['b']]AT_COND_CASE([[most]], [[
'b' reduce using rule 6 (c) 'b' reduce using rule 6 (c)
$default reduce using rule 5 (b)]], [[ $default reduce using rule 5 (b)]], [[
@@ -1556,7 +1556,7 @@ state 5
'a' shift, and go to state 7 'a' shift, and go to state 7
]AT_COND_CASE([[full]], [[$default]], ]AT_COND_CASE([[most]], [[$default]],
[[$end]])[ reduce using rule 1 (start) [[$end]])[ reduce using rule 1 (start)