mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* src/gram.h, src/gram.c (grammar_rules_partial_print): New, eved
out of... (grammar_rules_print): here. * src/reduce.c (reduce_output): Use it. * tests/reduce.at (Useless Rules, Reduced Automaton) (Underivable Rules): Adjust.
This commit is contained in:
@@ -124,6 +124,8 @@ AT_CLEANUP
|
||||
|
||||
AT_SETUP([Useless Rules])
|
||||
|
||||
AT_KEYWORDS([report])
|
||||
|
||||
AT_DATA([[input.y]],
|
||||
[[%verbose
|
||||
%output="input.c"
|
||||
@@ -184,16 +186,16 @@ Terminals which are not used:
|
||||
'7'
|
||||
'8'
|
||||
'9'
|
||||
Useless rules:
|
||||
#2 useless1: '1';
|
||||
#3 useless2: '2';
|
||||
#4 useless3: '3';
|
||||
#5 useless4: '4';
|
||||
#6 useless5: '5';
|
||||
#7 useless6: '6';
|
||||
#8 useless7: '7';
|
||||
#9 useless8: '8';
|
||||
#10 useless9: '9';
|
||||
Useless rules
|
||||
2 useless1: '1'
|
||||
3 useless2: '2'
|
||||
4 useless3: '3'
|
||||
5 useless4: '4'
|
||||
6 useless5: '5'
|
||||
7 useless6: '6'
|
||||
8 useless7: '7'
|
||||
9 useless8: '8'
|
||||
10 useless9: '9'
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
@@ -209,6 +211,8 @@ AT_CLEANUP
|
||||
|
||||
AT_SETUP([Reduced Automaton])
|
||||
|
||||
AT_KEYWORDS([report])
|
||||
|
||||
# The non reduced grammar.
|
||||
# ------------------------
|
||||
AT_DATA([[not-reduced.y]],
|
||||
@@ -249,10 +253,10 @@ AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' not-reduced.output]], 0,
|
||||
non_productive
|
||||
Terminals which are not used:
|
||||
useless_token
|
||||
Useless rules:
|
||||
#2 exp: non_productive;
|
||||
#3 not_reachable: useful;
|
||||
#4 non_productive: non_productive useless_token;
|
||||
Useless rules
|
||||
2 exp: non_productive
|
||||
3 not_reachable: useful
|
||||
4 non_productive: non_productive useless_token
|
||||
]])
|
||||
|
||||
# The reduced grammar.
|
||||
@@ -296,6 +300,8 @@ AT_CLEANUP
|
||||
|
||||
AT_SETUP([Underivable Rules])
|
||||
|
||||
AT_KEYWORDS([report])
|
||||
|
||||
AT_DATA([[input.y]],
|
||||
[[%verbose
|
||||
%output="input.c"
|
||||
@@ -319,10 +325,10 @@ AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
|
||||
[[Useless nonterminals:
|
||||
underivable
|
||||
indirection
|
||||
Useless rules:
|
||||
#2 exp: underivable;
|
||||
#3 underivable: indirection;
|
||||
#4 indirection: underivable;
|
||||
Useless rules
|
||||
2 exp: underivable
|
||||
3 underivable: indirection
|
||||
4 indirection: underivable
|
||||
]])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
Reference in New Issue
Block a user