X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/2c5f66eda72bb8b158bccf0a528d9dbb2c839f0c..eeeb962b:/src/derives.c diff --git a/src/derives.c b/src/derives.c index ec7173d9..f0c41165 100644 --- a/src/derives.c +++ b/src/derives.c @@ -25,6 +25,7 @@ */ #include "system.h" +#include "getargs.h" #include "types.h" #include "reader.h" #include "gram.h" @@ -32,28 +33,31 @@ short **derives; -#if TRACE static void print_derives (void) { int i; - short *sp; - fputs ("\n\n\nDERIVES\n\n", stderr); + fputs ("DERIVES\n", stderr); for (i = ntokens; i < nsyms; i++) { - fprintf (stderr, "%s derives", tags[i]); + short *sp; + fprintf (stderr, "\t%s derives\n", tags[i]); for (sp = derives[i]; *sp > 0; sp++) - fprintf (stderr, " %d", *sp); - putc ('\n', stderr); + { + short *rhsp; + fprintf (stderr, "\t\t%d:", *sp); + for (rhsp = ritem + rule_table[*sp].rhs; *rhsp > 0; ++rhsp) + fprintf (stderr, " %s", tags[*rhsp]); + fputc ('\n', stderr); + } } - putc ('\n', stderr); + fputs ("\n\n", stderr); } -#endif void set_derives (void) @@ -96,9 +100,8 @@ set_derives (void) *q++ = -1; } -#if TRACE - print_derives (); -#endif + if (trace_flag) + print_derives (); XFREE (dset + ntokens); XFREE (delts);