summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel E. Denny <joeldenny@joeldenny.org>2011-03-06 12:46:27 -0500
committerJoel E. Denny <joeldenny@joeldenny.org>2011-03-06 16:42:39 -0500
commit32493bc84db0c69e6e1d9d5c5c7505ab4f698f7b (patch)
tree51f28c1097538715881548b5dbaa88521a31432e
parent7fceb615a5c1a2a9445ac85faa0a2a1618b5ab54 (diff)
downloadbison-32493bc84db0c69e6e1d9d5c5c7505ab4f698f7b.tar.gz
lr.default-reductions: rename "all" value to "full".
States that shift the error token do not have default reductions, and GLR disables some default reductions, so "all" was a misnomer. * 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 d815ec4a6290e18fac9220438622f6dd27b3227f)
-rw-r--r--ChangeLog14
-rw-r--r--doc/bison.texinfo9
-rw-r--r--src/print.c2
-rw-r--r--src/reader.c4
-rw-r--r--src/tables.c2
-rw-r--r--tests/input.at2
-rw-r--r--tests/reduce.at13
7 files changed, 29 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 5173bd2e..0da88d5a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
2011-03-06 Joel E. Denny <joeldenny@joeldenny.org>
+ lr.default-reductions: rename "all" value to "full".
+ States that shift the error token do not have default reductions,
+ and GLR disables some default reductions, so "all" was a misnomer.
+ * 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-06 Joel E. Denny <joeldenny@joeldenny.org>
+
doc: create a new Tuning LR section in the manual.
And clean up all other documentation of the features described
there.
diff --git a/doc/bison.texinfo b/doc/bison.texinfo
index ef25f6cc..6408e2d1 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{all}, @code{consistent}, @code{accepting}
+@item Accepted Values: @code{full}, @code{consistent}, @code{accepting}
@item Default Value:
@itemize
@item @code{accepting} if @code{lr.type} is @code{canonical-lr}.
-@item @code{all} otherwise.
+@item @code{full} 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{all} (default for LALR and IELR)
+@item @code{full} (default for LALR and IELR)
@item @code{consistent}
@item @code{accepting} (default for canonical LR)
@end itemize
@@ -7458,9 +7458,6 @@ The accepted values of @var{WHERE} are:
experimental. More user feedback will help to stabilize it.)
@end deffn
-FIXME: Because of the exceptions described above, @code{all} is a misnomer.
-Rename to @code{full}.
-
@node LAC
@subsection LAC
@findex %define parse.lac
diff --git a/src/print.c b/src/print.c
index a9882073..78228054 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, "all")
+ aver (0 == strcmp (default_reductions, "full")
|| (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 ac95a215..6fc14a3e 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", "all");
+ muscle_percent_define_default ("lr.default-reductions", "full");
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", "all", "consistent", "accepting", NULL,
+ "lr.default-reductions", "full", "consistent", "accepting", NULL,
NULL
};
muscle_percent_define_check_values (values);
diff --git a/src/tables.c b/src/tables.c
index ef37fbab..930a6a5f 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, "all") && !s->consistent)
+ if (0 != strcmp (default_reductions, "full") && !s->consistent)
nodefault = true;
free (default_reductions);
}
diff --git a/tests/input.at b/tests/input.at
index 8a71ff6f..3687cf9d 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: `all'
+input.y:1.9-29: accepted value: `full'
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 65ccf16d..ad4d329b 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]],
- [[all]], [[]],
+ [[full]], [[]],
[[]],
[$1], [$2], [[]], [$3])
-AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions all]],
- [[all]], [[]],
- [[%define lr.default-reductions all]],
+AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions full]],
+ [[full]], [[]],
+ [[%define lr.default-reductions full]],
[$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([[all]], [[
+ 6 c: . ['b']]AT_COND_CASE([[full]], [[
'b' reduce using rule 6 (c)
$default reduce using rule 5 (b)]], [[
@@ -1556,7 +1556,8 @@ state 5
'a' shift, and go to state 7
- ]AT_COND_CASE([[all]], [[$default]], [[$end]])[ reduce using rule 1 (start)
+ ]AT_COND_CASE([[full]], [[$default]],
+ [[$end]])[ reduce using rule 1 (start)
state 6