From 4bc30f78dc54b245896dd04724019b9b767a7b33 Mon Sep 17 00:00:00 2001 From: Akim Demaille Date: Mon, 19 Nov 2001 10:28:43 +0000 Subject: [PATCH] * src/print_graph.c (print_core): Better locality of variables. * src/print.c (print_core): Likewise. --- ChangeLog | 5 +++++ src/print.c | 28 ++++++++++------------------ src/print_graph.c | 24 ++++++++++-------------- 3 files changed, 25 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index dfa55ce3..07638098 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-11-19 Akim Demaille + + * src/print_graph.c (print_core): Better locality of variables. + * src/print.c (print_core): Likewise. + 2001-11-19 Akim Demaille * src/vcg.c: You do the output, so you are responsible of the diff --git a/src/print.c b/src/print.c index 96b64e88..2c2b8420 100644 --- a/src/print.c +++ b/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; - - statep = state_table[state].state; - k = statep->nitems; + core *statep = state_table[state].state; - 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); diff --git a/src/print_graph.c b/src/print_graph.c index ced951b0..7caba6f8 100644 --- a/src/print_graph.c +++ b/src/print_graph.c @@ -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]); } } -- 2.47.2