mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 09:43:03 +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.
(cherry picked from commit a6e5a28079)
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>
|
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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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'
|
||||||
]])
|
]])
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user