* src/print_graph.c (print_core): Better locality of variables.

* src/print.c (print_core): Likewise.
This commit is contained in:
Akim Demaille
2001-11-19 09:13:53 +00:00
parent dc3b81cd67
commit 50766eee39
3 changed files with 25 additions and 32 deletions

View File

@@ -48,20 +48,17 @@ static void
print_core (FILE *out, int state)
{
int i;
int k;
int rule;
core *statep;
short *sp;
short *sp1;
core *statep = state_table[state].state;
statep = state_table[state].state;
k = statep->nitems;
if (k == 0)
if (!statep->nitems)
return;
for (i = 0; i < k; i++)
for (i = 0; i < statep->nitems; i++)
{
short *sp;
short *sp1;
int rule;
sp1 = sp = ritem + statep->items[i];
while (*sp > 0)
@@ -71,17 +68,12 @@ print_core (FILE *out, int state)
fprintf (out, " %s -> ", tags[rule_table[rule].lhs]);
for (sp = ritem + rule_table[rule].rhs; sp < sp1; sp++)
{
fprintf (out, "%s ", tags[*sp]);
}
fprintf (out, "%s ", tags[*sp]);
fputc ('.', out);
while (*sp > 0)
{
fprintf (out, " %s", tags[*sp]);
sp++;
}
for (/* Nothing */; *sp > 0; ++sp)
fprintf (out, " %s", tags[*sp]);
fprintf (out, _(" (rule %d)"), rule);
fputc ('\n', out);