64 |
static void |
static void |
65 |
print_firsts (void) |
print_firsts (void) |
66 |
{ |
{ |
67 |
int i; |
int i, j; |
|
int j; |
|
|
unsigned *rowp; |
|
68 |
|
|
69 |
fprintf (stderr, "FIRSTS\n"); |
fprintf (stderr, "FIRSTS\n"); |
|
|
|
70 |
for (i = ntokens; i < nsyms; i++) |
for (i = ntokens; i < nsyms; i++) |
71 |
{ |
{ |
72 |
fprintf (stderr, "\t%s firsts\n", tags[i]); |
fprintf (stderr, "\t%s firsts\n", tags[i]); |
|
|
|
|
rowp = FIRSTS (i - ntokens); |
|
|
|
|
73 |
for (j = 0; j < nvars; j++) |
for (j = 0; j < nvars; j++) |
74 |
if (BITISSET (rowp, j)) |
if (BITISSET (FIRSTS (i - ntokens), j)) |
75 |
fprintf (stderr, "\t\t%d (%s)\n", j + ntokens, tags[j + ntokens]); |
fprintf (stderr, "\t\t%d (%s)\n", j + ntokens, tags[j + ntokens]); |
76 |
} |
} |
77 |
fprintf (stderr, "\n\n"); |
fprintf (stderr, "\n\n"); |
83 |
{ |
{ |
84 |
int i; |
int i; |
85 |
int j; |
int j; |
|
unsigned *rp; |
|
86 |
|
|
87 |
fprintf (stderr, "FDERIVES\n"); |
fprintf (stderr, "FDERIVES\n"); |
88 |
|
|
89 |
for (i = ntokens; i < nsyms; i++) |
for (i = ntokens; i < nsyms; i++) |
90 |
{ |
{ |
91 |
fprintf (stderr, "\t%s derives\n", tags[i]); |
fprintf (stderr, "\t%s derives\n", tags[i]); |
|
rp = FDERIVES (i); |
|
|
|
|
92 |
for (j = 0; j <= nrules; j++) |
for (j = 0; j <= nrules; j++) |
93 |
if (BITISSET (rp, j)) |
if (BITISSET (FDERIVES (i), j)) |
94 |
{ |
{ |
95 |
short *rhsp; |
short *rhsp; |
96 |
fprintf (stderr, "\t\t%d:", j); |
fprintf (stderr, "\t\t%d:", j); |