* 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 10:28:43 +00:00
parent 08a946e008
commit 4bc30f78dc
3 changed files with 25 additions and 32 deletions

View File

@@ -1,3 +1,8 @@
2001-11-19 Akim Demaille <akim@epita.fr>
* src/print_graph.c (print_core): Better locality of variables.
* src/print.c (print_core): Likewise.
2001-11-19 Akim Demaille <akim@epita.fr>
* src/vcg.c: You do the output, so you are responsible of the

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);

View File

@@ -40,22 +40,16 @@ static void
print_core (int state, struct obstack *node_obstack)
{
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++)
{
if (i)
obstack_1grow (node_obstack, '\n');
short *sp;
short *sp1;
int rule;
sp1 = sp = ritem + statep->items[i];
@@ -64,6 +58,8 @@ print_core (int state, struct obstack *node_obstack)
rule = -(*sp);
if (i)
obstack_1grow (node_obstack, '\n');
obstack_fgrow1 (node_obstack, "%d: ", rule);
obstack_fgrow1 (node_obstack, " %s -> ",
tags[rule_table[rule].lhs]);
@@ -73,8 +69,8 @@ print_core (int state, struct obstack *node_obstack)
obstack_1grow (node_obstack, '.');
while (*sp > 0)
obstack_fgrow1 (node_obstack, " %s", tags[*sp++]);
for (/* Nothing */; *sp > 0; ++sp)
obstack_fgrow1 (node_obstack, " %s", tags[*sp]);
}
}