mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
* src/closure.c (print_closure): Improve.
(closure): Use it for printing input and output.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2001-12-05 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* src/closure.c (print_closure): Improve.
|
||||
(closure): Use it for printing input and output.
|
||||
|
||||
|
||||
2001-12-05 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
|
||||
|
||||
@@ -583,6 +583,9 @@ generate_states (void)
|
||||
|
||||
while (this_state)
|
||||
{
|
||||
if (trace_flag)
|
||||
fprintf (stderr, "Processing state %d (reached by %s)\n",
|
||||
this_state->number, tags[this_state->accessing_symbol]);
|
||||
/* Set up ruleset and itemset for the transitions out of this
|
||||
state. ruleset gets a 1 bit for each rule that could reduce
|
||||
now. itemset gets a vector of all the items that could be
|
||||
|
||||
@@ -52,13 +52,19 @@ static int varsetsize;
|
||||
`-----------------*/
|
||||
|
||||
static void
|
||||
print_closure (int n)
|
||||
print_closure (const char *title, short *array, size_t size)
|
||||
{
|
||||
int i;
|
||||
fprintf (stderr, "n = %d\n", n);
|
||||
for (i = 0; i < itemsetsize; ++i)
|
||||
fprintf (stderr, " %d\n", itemset[i]);
|
||||
fprintf (stderr, "\n\n");
|
||||
size_t i;
|
||||
fprintf (stderr, "Closure: %s\n", title);
|
||||
for (i = 0; i < size; ++i)
|
||||
{
|
||||
short *rp;
|
||||
fprintf (stderr, " %2d: .", array[i]);
|
||||
for (rp = &ritem[array[i]]; *rp > 0; ++rp)
|
||||
fprintf (stderr, " %s", tags[*rp]);
|
||||
fprintf (stderr, " (rule %d)\n", -*rp);
|
||||
}
|
||||
fputs ("\n\n", stderr);
|
||||
}
|
||||
|
||||
|
||||
@@ -194,12 +200,7 @@ closure (short *core, int n)
|
||||
int ruleno;
|
||||
|
||||
if (trace_flag)
|
||||
{
|
||||
fprintf (stderr, "Entering closure (items = {");
|
||||
for (c = 0; c < n; ++c)
|
||||
fprintf (stderr, " %d ", core[c]);
|
||||
fprintf (stderr, "})\n");
|
||||
}
|
||||
print_closure ("input", core, n);
|
||||
|
||||
if (n == 0)
|
||||
{
|
||||
@@ -241,7 +242,7 @@ closure (short *core, int n)
|
||||
}
|
||||
|
||||
if (trace_flag)
|
||||
print_closure (n);
|
||||
print_closure ("output", itemset, itemsetsize);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user