| 5 | static Yshort *null_rules; |
| 6 | |
| 7 | void verbose() |
| 8 | { |
| 9 | register int i; |
| 10 | |
| 11 | if (!vflag) return; |
| 12 | |
| 13 | null_rules = (Yshort *) MALLOC(nrules*sizeof(Yshort)); |
| 14 | if (null_rules == 0) no_space(); |
| 15 | fprintf(verbose_file, "\f\n"); |
| 16 | for (i = 0; i < nstates; i++) |
| 17 | print_state(i); |
| 18 | FREE(null_rules); |
| 19 | |
| 20 | if (nunused) |
| 21 | log_unused(); |
| 22 | if (SRtotal || RRtotal) |
| 23 | log_conflicts(); |
| 24 | |
| 25 | fprintf(verbose_file, "\n\n%d terminals, %d nonterminals\n", ntokens, |
| 26 | nvars); |
| 27 | fprintf(verbose_file, "%d grammar rules, %d states\n", nrules - 2, nstates); |
| 28 | } |
| 29 | |
| 30 | |
| 31 | void log_unused() |
no test coverage detected