summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
49e8e90)
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-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.
2011-03-13 Joel E. Denny <joeldenny@joeldenny.org>
* src/parse-gram.c, src/parse-gram.h: Regenerate.
specify where default reductions should be used is experimental. More user
feedback will help to stabilize it.)
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 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
@end itemize
@end itemize
Specify the kind of states that are permitted to contain default reductions.
The accepted values of @var{WHERE} are:
@itemize
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
@item @code{consistent}
@item @code{accepting} (default for canonical LR)
@end itemize
char *default_reductions =
muscle_percent_define_get ("lr.default-reductions");
print_reduction (out, width, _("$default"), default_reduction, true);
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));
|| (0 == strcmp (default_reductions, "consistent")
&& default_reduction_only)
|| (reds->num == 1 && reds->rules[0]->number == 0));
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.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);
else
muscle_percent_define_default ("lr.default-reductions", "accepting");
free (lr_type);
{
static char const * const values[] = {
"lr.type", "lalr", "ielr", "canonical-lr", NULL,
{
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);
NULL
};
muscle_percent_define_check_values (values);
{
char *default_reductions =
muscle_percent_define_get ("lr.default-reductions");
{
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);
}
nodefault = true;
free (default_reductions);
}
]])
AT_BISON_CHECK([[input.y]], [[1]], [[]],
[[input.y:1.9-29: invalid value for %define variable `lr.default-reductions': `bogus'
]])
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'
]])
input.y:1.9-29: accepted value: `consistent'
input.y:1.9-29: accepted value: `accepting'
]])
m4_define([AT_TEST_LR_DEFAULT_REDUCTIONS],
[
AT_TEST_TABLES_AND_PARSE([[no %define lr.default-reductions]],
m4_define([AT_TEST_LR_DEFAULT_REDUCTIONS],
[
AT_TEST_TABLES_AND_PARSE([[no %define lr.default-reductions]],
[[]],
[$1], [$2], [[]], [$3])
[[]],
[$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]], [[]],
[$1], [$2], [[]], [$3])
AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions consistent]],
[[consistent]], [[]],
2 | a . b 'a'
3 | a . c 'b'
5 b: . [$end, 'a']
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)]], [[
'b' reduce using rule 6 (c)
$default reduce using rule 5 (b)]], [[
'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)