mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-14 23:03:04 +00:00
In the XML output, list useless and unused symbols and rules with the
useful ones and add a "usefulness" attribute. Discussed starting at <http://lists.gnu.org/archive/html/bison-patches/2007-09/msg00017.html>. * src/gram.c (grammar_rules_partial_print_xml): Remove. (grammar_rules_print_xml): Print all rules instead of just those useful in the grammar, and add a "usefulness" attribute. * src/gram.h (grammar_rules_partial_print_xml): Remove prototype. * src/print-xml.c (print_rules_useless_in_parser): Remove. (print_grammar): Print all nonterminals instead of just useful ones, and add a "usefulness" attribute to nonterminals and terminals. (print_xml): Don't print a separate "reductions" or "rules-useless-in-parser" element. * src/reduce.c (reduce_output): Use reduce_token_unused_in_grammar. (reduce_xml): Remove. (reduce_token_unused_in_grammar): New. (reduce_nonterminal_useless_in_grammar): New. * src/reduce.h (reduce_xml): Remove prototype. (reduce_token_unused_in_grammar): Add prototype. (reduce_nonterminal_useless_in_grammar): Add prototype. * data/xslt/xml2text.xsl: Update for XML changes. * data/xslt/xml2xhtml.xsl: Update for XML changes. * tests/reduce.at (Useless Terminals): Update output. (Useless Rules): Update output. (Reduced Automaton): Update output. Say "Terminals unused in grammar" instead of "Unused terminals". * NEWS (2.3a+): Update. * doc/bison.texinfo (Understanding): Update example output. * src/reduce.c (reduce_output): Implement. * data/xslt/xml2text.xsl: Implement. * data/xslt/xml2xhtml.xsl: Implement.
This commit is contained in:
@@ -45,7 +45,7 @@ exp: useful;
|
||||
AT_CHECK([[bison input.y]])
|
||||
|
||||
AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
|
||||
[[Terminals which are not used
|
||||
[[Terminals unused in grammar
|
||||
useless1
|
||||
useless2
|
||||
useless3
|
||||
@@ -174,7 +174,7 @@ AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' input.output]], 0,
|
||||
useless7
|
||||
useless8
|
||||
useless9
|
||||
Terminals which are not used
|
||||
Terminals unused in grammar
|
||||
'1'
|
||||
'2'
|
||||
'3'
|
||||
@@ -249,7 +249,7 @@ AT_CHECK([[sed -n '/^Grammar/q;/^$/!p' not-reduced.output]], 0,
|
||||
[[Nonterminals useless in grammar
|
||||
not_reachable
|
||||
non_productive
|
||||
Terminals which are not used
|
||||
Terminals unused in grammar
|
||||
useless_token
|
||||
Rules useless in grammar
|
||||
2 exp: non_productive
|
||||
|
||||
Reference in New Issue
Block a user