/[bison]/bison/src/print.c
ViewVC logotype

Diff of /bison/src/print.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.78 by akim, Sun Jun 30 17:32:47 2002 UTC revision 1.79 by akim, Sun Jun 30 17:33:08 2002 UTC
# Line 58  print_core (FILE *out, state_t *state) Line 58  print_core (FILE *out, state_t *state)
58    int i;    int i;
59    item_number_t *sitems = state->items;    item_number_t *sitems = state->items;
60    int snritems   = state->nitems;    int snritems   = state->nitems;
61      symbol_t *previous_lhs = NULL;
62    
63    /* Output all the items of a state, not only its kernel.  */    /* Output all the items of a state, not only its kernel.  */
64    if (report_flag & report_itemsets)    if (report_flag & report_itemsets)
# Line 67  print_core (FILE *out, state_t *state) Line 68  print_core (FILE *out, state_t *state)
68        snritems = nritemset;        snritems = nritemset;
69      }      }
70    
71    if (snritems)    if (!snritems)
72      {      return;
       for (i = 0; i < snritems; i++)  
         {  
           item_number_t *sp;  
           item_number_t *sp1;  
           int rule;  
   
           sp1 = sp = ritem + sitems[i];  
73    
74            while (*sp >= 0)    for (i = 0; i < snritems; i++)
75              sp++;      {
76          item_number_t *sp;
77          item_number_t *sp1;
78          int rule;
79    
80            rule = -(*sp);        sp1 = sp = ritem + sitems[i];
           fprintf (out, "    %s  ->  ", symbol_tag_get (rules[rule].lhs));  
81    
82            for (sp = rules[rule].rhs; sp < sp1; sp++)        while (*sp >= 0)
83              fprintf (out, "%s ", symbol_tag_get (symbols[*sp]));          sp++;
84    
85            fputc ('.', out);        rule = -(*sp);
86    
87            for (/* Nothing */; *sp >= 0; ++sp)        rule_lhs_print (&rules[rule], previous_lhs, out);
88              fprintf (out, " %s", symbol_tag_get (symbols[*sp]));        previous_lhs = rules[rule].lhs;
89    
90            /* Display the lookaheads?  */        for (sp = rules[rule].rhs; sp < sp1; sp++)
91            if (report_flag & report_lookaheads)          fprintf (out, " %s", symbol_tag_get (symbols[*sp]));
92              state_rule_lookaheads_print (state, &rules[rule], out);        fputs (" .", out);
93          for (/* Nothing */; *sp >= 0; ++sp)
94            fprintf (out, " %s", symbol_tag_get (symbols[*sp]));
95    
96            fprintf (out, _("   (rule %d)"), rule - 1);        /* Display the lookaheads?  */
97            fputc ('\n', out);        if (report_flag & report_lookaheads)
98          }          state_rule_lookaheads_print (state, &rules[rule], out);
99    
100        fputc ('\n', out);        fputc ('\n', out);
101      }      }
102    
103      fputc ('\n', out);
104  }  }
105    
106    

Legend:
Removed from v.1.78  
changed lines
  Added in v.1.79

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26