+/* Return true IFF the rule is not flagged as useful *and* is useful.
+ In other words, it was discarded because of conflicts. */
+bool rule_never_reduced_p (rule_t *r);
+
+/* Print this RULE's number and lhs on OUT. If a PREVIOUS_LHS was
+ already displayed (by a previous call for another rule), avoid
+ useless repetitions. */
+void rule_lhs_print (rule_t *rule, symbol_t *previous_lhs, FILE *out);
+
+/* Return the length of the RHS. */
+int rule_rhs_length (rule_t *rule);
+
+/* Print this RULE's RHS on OUT. */
+void rule_rhs_print (rule_t *rule, FILE *out);
+
+/* Print this RULE on OUT. */
+void rule_print (rule_t *rule, FILE *out);
+
+
+
+
+/* Table of the symbols, indexed by the symbol number. */
+extern symbol_t **symbols;
+
+/* TOKEN_TRANSLATION -- a table indexed by a token number as returned
+ by the user's yylex routine, it yields the internal token number
+ used by the parser and throughout bison. */
+extern symbol_number_t *token_translations;