grammar: warn about unused precedence for symbols

Symbols with precedence but no associativity, and whose precedence is
never used, can be declared with %token instead.  The used precedence
relationships are recorded and a warning about useless ones is issued.

* src/conflicts.c (resolve_sr_conflict): Record precedence relation.
* src/symtab.c, src/symtab.h (prec_nodes, init_prec_nodes)
(symgraphlink_new, register_precedence_second_symbol)
(print_precedence_warnings): New.
Record relationships in a graph and warn about useless ones.
* src/main.c (main): Print precedence warnings.
* tests/conflicts.at: New.
This commit is contained in:
Valentin Tolmer
2013-01-29 14:55:53 +01:00
committed by Akim Demaille
parent fbecd2ab59
commit 284bc49c83
6 changed files with 211 additions and 1 deletions

View File

@@ -144,6 +144,8 @@ main (int argc, char *argv[])
grammar_rules_useless_report (_("rule useless in parser due to conflicts"));
print_precedence_warnings ();
/* Output file names. */
compute_output_file_names ();