87 |
static void |
static void |
88 |
print_fderives (void) |
print_fderives (void) |
89 |
{ |
{ |
90 |
int i, j; |
int i; |
91 |
|
rule_number_t r; |
92 |
|
|
93 |
fprintf (stderr, "FDERIVES\n"); |
fprintf (stderr, "FDERIVES\n"); |
94 |
for (i = ntokens; i < nsyms; i++) |
for (i = ntokens; i < nsyms; i++) |
95 |
{ |
{ |
96 |
fprintf (stderr, "\t%s derives\n", symbol_tag_get (symbols[i])); |
fprintf (stderr, "\t%s derives\n", symbol_tag_get (symbols[i])); |
97 |
for (j = 0; j < nrules + 1; j++) |
for (r = 0; r < nrules + 1; r++) |
98 |
if (bitset_test (FDERIVES (i), j)) |
if (bitset_test (FDERIVES (i), r)) |
99 |
{ |
{ |
100 |
item_number_t *rhsp; |
item_number_t *rhsp = NULL; |
101 |
fprintf (stderr, "\t\t%d:", j - 1); |
fprintf (stderr, "\t\t%d:", r - 1); |
102 |
for (rhsp = rules[j].rhs; *rhsp >= 0; ++rhsp) |
for (rhsp = rules[r].rhs; *rhsp >= 0; ++rhsp) |
103 |
fprintf (stderr, " %s", symbol_tag_get (symbols[*rhsp])); |
fprintf (stderr, " %s", symbol_tag_get (symbols[*rhsp])); |
104 |
fputc ('\n', stderr); |
fputc ('\n', stderr); |
105 |
} |
} |
121 |
static void |
static void |
122 |
set_firsts (void) |
set_firsts (void) |
123 |
{ |
{ |
124 |
int i, j; |
symbol_number_t i, j; |
125 |
|
|
126 |
firsts = bitsetv_create (nvars, nvars, BITSET_FIXED); |
firsts = bitsetv_create (nvars, nvars, BITSET_FIXED); |
127 |
|
|
156 |
static void |
static void |
157 |
set_fderives (void) |
set_fderives (void) |
158 |
{ |
{ |
159 |
int i, j, k; |
symbol_number_t i, j; |
160 |
|
rule_number_t k; |
161 |
|
|
162 |
fderives = bitsetv_create (nvars, nrules + 1, BITSET_FIXED); |
fderives = bitsetv_create (nvars, nrules + 1, BITSET_FIXED); |
163 |
|
|
196 |
int c; |
int c; |
197 |
|
|
198 |
/* A bit index over RULESET. */ |
/* A bit index over RULESET. */ |
199 |
int ruleno; |
rule_number_t ruleno; |
200 |
|
|
201 |
if (trace_flag) |
if (trace_flag) |
202 |
print_closure ("input", core, n); |
print_closure ("input", core, n); |