From f0ad1b2fb28da66a3fadd9890cf621f55eb90986 Mon Sep 17 00:00:00 2001 From: "Joel E. Denny" Date: Sun, 20 Mar 2011 17:35:10 -0400 Subject: 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 a6e5a28079865c4924194685723962f198fd33ff) --- ChangeLog | 14 ++++++++++++++ doc/bison.texinfo | 6 +++--- src/print.c | 2 +- src/reader.c | 4 ++-- src/tables.c | 2 +- tests/input.at | 2 +- tests/reduce.at | 12 ++++++------ 7 files changed, 28 insertions(+), 14 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9aab950c..c27f2f6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2011-03-20 Joel E. Denny + + 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 * src/parse-gram.c, src/parse-gram.h: Regenerate. diff --git a/doc/bison.texinfo b/doc/bison.texinfo index 915c8111..5ad3e667 100644 --- a/doc/bison.texinfo +++ b/doc/bison.texinfo @@ -5368,11 +5368,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 @@ -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. 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 diff --git a/src/print.c b/src/print.c index 78228054..fb999150 100644 --- a/src/print.c +++ b/src/print.c @@ -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)); diff --git a/src/reader.c b/src/reader.c index 2289d26e..9a58acbd 100644 --- a/src/reader.c +++ b/src/reader.c @@ -632,7 +632,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); @@ -642,7 +642,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); diff --git a/src/tables.c b/src/tables.c index 930a6a5f..8f459cfe 100644 --- a/src/tables.c +++ b/src/tables.c @@ -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); } diff --git a/tests/input.at b/tests/input.at index 3687cf9d..ada68261 100644 --- a/tests/input.at +++ b/tests/input.at @@ -1029,7 +1029,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' ]]) diff --git a/tests/reduce.at b/tests/reduce.at index ad4d329b..e7220cba 100644 --- a/tests/reduce.at +++ b/tests/reduce.at @@ -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) -- cgit v1.2.1