[BACK]Return to lr0.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / yacc

Diff for /src/usr.bin/yacc/lr0.c between version 1.10 and 1.11

version 1.10, 2011/04/01 21:21:39 version 1.11, 2011/04/03 20:42:54
Line 54 
Line 54 
 void generate_states(void);  void generate_states(void);
 void initialize_states(void);  void initialize_states(void);
 void new_itemsets(void);  void new_itemsets(void);
 void show_cores(void);  
 void show_ritems(void);  
 void show_rrhs(void);  
 void show_shifts(void);  
 void save_shifts(void);  void save_shifts(void);
 void save_reductions(void);  void save_reductions(void);
 void set_derives(void);  void set_derives(void);
Line 365 
Line 361 
     return (p);      return (p);
 }  }
   
   
 /* show_cores is used for debugging */  
   
 void  
 show_cores(void)  
 {  
     core *p;  
     int i, j, k, n;  
     int itemno;  
   
     k = 0;  
     for (p = first_state; p; ++k, p = p->next)  
     {  
         if (k) printf("\n");  
         printf("state %d, number = %d, accessing symbol = %s\n",  
                 k, p->number, symbol_name[p->accessing_symbol]);  
         n = p->nitems;  
         for (i = 0; i < n; ++i)  
         {  
             itemno = p->items[i];  
             printf("%4d  ", itemno);  
             j = itemno;  
             while (ritem[j] >= 0) ++j;  
             printf("%s :", symbol_name[rlhs[-ritem[j]]]);  
             j = rrhs[-ritem[j]];  
             while (j < itemno)  
                 printf(" %s", symbol_name[ritem[j++]]);  
             printf(" .");  
             while (ritem[j] >= 0)  
                 printf(" %s", symbol_name[ritem[j++]]);  
             printf("\n");  
             fflush(stdout);  
         }  
     }  
 }  
   
   
 /* show_ritems is used for debugging */  
   
 void  
 show_ritems(void)  
 {  
     int i;  
   
     for (i = 0; i < nitems; ++i)  
         printf("ritem[%d] = %d\n", i, ritem[i]);  
 }  
   
   
 /* show_rrhs is used for debugging */  
   
 void  
 show_rrhs(void)  
 {  
     int i;  
   
     for (i = 0; i < nrules; ++i)  
         printf("rrhs[%d] = %d\n", i, rrhs[i]);  
 }  
   
   
 /* show_shifts is used for debugging */  
   
 void  
 show_shifts(void)  
 {  
     shifts *p;  
     int i, j, k;  
   
     k = 0;  
     for (p = first_shift; p; ++k, p = p->next)  
     {  
         if (k) printf("\n");  
         printf("shift %d, number = %d, nshifts = %d\n", k, p->number,  
                 p->nshifts);  
         j = p->nshifts;  
         for (i = 0; i < j; ++i)  
             printf("\t%d\n", p->shift[i]);  
     }  
 }  
   
 void  void
 save_shifts(void)  save_shifts(void)

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11