mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
* src/print_graph.c (print_core): Better locality of variables.
* src/print.c (print_core): Likewise.
This commit is contained in:
@@ -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
|
||||
|
||||
28
src/print.c
28
src/print.c
@@ -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);
|
||||
|
||||
@@ -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]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user