X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/80a697503460fcf0d52bed9fb3b86e4c276fb37e..e1dd105c0a8c27693ded168675165deddeb2521c:/src/derives.c diff --git a/src/derives.c b/src/derives.c index ab7cc326..795bc08e 100644 --- a/src/derives.c +++ b/src/derives.c @@ -21,6 +21,7 @@ #include "system.h" #include "getargs.h" +#include "symtab.h" #include "types.h" #include "reader.h" #include "gram.h" @@ -38,14 +39,14 @@ print_derives (void) for (i = ntokens; i < nsyms; i++) { short *sp; - fprintf (stderr, "\t%s derives\n", tags[i]); + fprintf (stderr, "\t%s derives\n", symbols[i]->tag); for (sp = derives[i]; *sp > 0; sp++) { short *rhsp; fprintf (stderr, "\t\t%d:", *sp); - for (rhsp = ritem + rule_table[*sp].rhs; *rhsp > 0; ++rhsp) - fprintf (stderr, " %s", tags[*rhsp]); - fprintf (stderr, " (rule %d)\n", -*rhsp); + for (rhsp = &ritem[rules[*sp].rhs]; *rhsp >= 0; ++rhsp) + fprintf (stderr, " %s", symbols[*rhsp]->tag); + fprintf (stderr, " (rule %d)\n", -*rhsp - 1); } } @@ -67,9 +68,9 @@ set_derives (void) p = delts; for (i = nrules; i > 0; i--) - if (rule_table[i].useful) + if (rules[i].useful) { - int lhs = rule_table[i].lhs; + int lhs = rules[i].lhs; p->next = dset[lhs]; p->value = i; dset[lhs] = p;