[[%left 'a'
// Conflict resolution renders state 12 unreachable for canonical LR(1). We
// keep it so that the paser table diff is easier to code.
-%define lr.keep_unreachable_states]],
+%define lr.keep-unreachable-states]],
[[
S: 'a' A 'a' /* rule 1 */
| 'b' A 'b' /* rule 2 */
[[%left 'a'
// Conflict resolution renders state 16 unreachable for canonical LR(1). We
// keep it so that the paser table diff is easier to code.
-%define lr.keep_unreachable_states]],
+%define lr.keep-unreachable-states]],
[[
/* Similar to the last test case set but two states must be split. */
S: 'a' A 'a' /* rule 1 */
[[%left 'a'
// Conflict resolution renders state 16 unreachable for canonical LR(1). We
// keep it so that the paser table diff is easier to code.
-%define lr.keep_unreachable_states]],
+%define lr.keep-unreachable-states]],
[[
/* Similar to the last test case set but forseeing the S/R conflict from the
first state that must be split is becoming difficult. Imagine if B were
]])])
AT_TEST_LR_TYPE([[Split During Added Lookahead Propagation]],
-[[%define lr.keep_unreachable_states]],
+[[%define lr.keep-unreachable-states]],
[[
/* The partial state chart diagram below is for LALR(1). State 0 is the start
state. States are iterated for successor construction in numerical order.
-## -------------------------- ##
-## %define lr.default_rules. ##
-## -------------------------- ##
+## ------------------------------- ##
+## %define lr.default-reductions. ##
+## ------------------------------- ##
-# AT_TEST_LR_DEFAULT_RULES(GRAMMAR, INPUT, TABLES)
-# ------------------------------------------------
-m4_define([AT_TEST_LR_DEFAULT_RULES],
+# AT_TEST_LR_DEFAULT_REDUCTIONS(GRAMMAR, INPUT, TABLES)
+# -----------------------------------------------------
+m4_define([AT_TEST_LR_DEFAULT_REDUCTIONS],
[
-AT_TEST_TABLES_AND_PARSE([[no %define lr.default_rules]],
+AT_TEST_TABLES_AND_PARSE([[no %define lr.default-reductions]],
[[all]], [[]],
[[]],
[$1], [$2], [[]], [$3])
-AT_TEST_TABLES_AND_PARSE([[%define lr.default_rules "all"]],
+AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions "all"]],
[[all]], [[]],
- [[%define lr.default_rules "all"]],
+ [[%define lr.default-reductions "all"]],
[$1], [$2], [[]], [$3])
-AT_TEST_TABLES_AND_PARSE([[%define lr.default_rules "consistent"]],
+AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions "consistent"]],
[[consistent]], [[]],
- [[%define lr.default_rules "consistent"]],
+ [[%define lr.default-reductions "consistent"]],
[$1], [$2], [[]], [$3])
-AT_TEST_TABLES_AND_PARSE([[%define lr.default_rules "accepting"]],
+AT_TEST_TABLES_AND_PARSE([[%define lr.default-reductions "accepting"]],
[[accepting]], [[]],
- [[%define lr.default_rules "accepting"]],
+ [[%define lr.default-reductions "accepting"]],
[$1], [$2], [[]], [$3])
])
-AT_TEST_LR_DEFAULT_RULES([[
+AT_TEST_LR_DEFAULT_REDUCTIONS([[
/* The start state is consistent and has a shift on 'a' and no reductions.
After pushing the b below, enter an inconsistent state that has a shift and
one reduction with one lookahead. */
/* After the previous reduction, enter an inconsistent state that has no shift
and multiple reductions. The first reduction has more lookaheads than the
- second, so the first should always be preferred as the default rule if
+ second, so the first should always be preferred as the default reduction if
enabled. The second reduction has one lookahead. */
b: ;
c: ;