38 |
print_derives (void) |
print_derives (void) |
39 |
{ |
{ |
40 |
int i; |
int i; |
|
short *sp; |
|
41 |
|
|
42 |
fputs ("DERIVES\n", stderr); |
fputs ("DERIVES\n", stderr); |
43 |
|
|
44 |
for (i = ntokens; i < nsyms; i++) |
for (i = ntokens; i < nsyms; i++) |
45 |
{ |
{ |
46 |
|
short *sp; |
47 |
fprintf (stderr, "\t%s derives\n", tags[i]); |
fprintf (stderr, "\t%s derives\n", tags[i]); |
48 |
for (sp = derives[i]; *sp > 0; sp++) |
for (sp = derives[i]; *sp > 0; sp++) |
49 |
fprintf (stderr, "\t\t%d (%s)\n", *sp, tags[*sp]); |
{ |
50 |
|
short *rhsp; |
51 |
|
fprintf (stderr, "\t\t%d:", *sp); |
52 |
|
for (rhsp = ritem + rule_table[*sp].rhs; *rhsp > 0; ++rhsp) |
53 |
|
fprintf (stderr, " %s", tags[*rhsp]); |
54 |
|
fputc ('\n', stderr); |
55 |
|
} |
56 |
} |
} |
57 |
|
|
58 |
fputs ("\n\n", stderr); |
fputs ("\n\n", stderr); |