/[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.44 by akim, Thu Dec 27 18:13:09 2001 UTC revision 1.45 by akim, Thu Dec 27 18:13:31 2001 UTC
# Line 88  print_core (FILE *out, state_t *state) Line 88  print_core (FILE *out, state_t *state)
88    
89            sp1 = sp = ritem + sitems[i];            sp1 = sp = ritem + sitems[i];
90    
91            while (*sp > 0)            while (*sp >= 0)
92              sp++;              sp++;
93    
94            rule = -(*sp);            rule = -(*sp);
# Line 99  print_core (FILE *out, state_t *state) Line 99  print_core (FILE *out, state_t *state)
99    
100            fputc ('.', out);            fputc ('.', out);
101    
102            for (/* Nothing */; *sp > 0; ++sp)            for (/* Nothing */; *sp >= 0; ++sp)
103              fprintf (out, " %s", escape (tags[*sp]));              fprintf (out, " %s", escape (tags[*sp]));
104    
105            fprintf (out, _("   (rule %d)"), rule);            fprintf (out, _("   (rule %d)"), rule);
# Line 377  print_grammar (FILE *out) Line 377  print_grammar (FILE *out)
377          fprintf (out, _("  %3d %3d %s ->"),          fprintf (out, _("  %3d %3d %s ->"),
378                   i, rule_table[i].line, escape (tags[rule_table[i].lhs]));                   i, rule_table[i].line, escape (tags[rule_table[i].lhs]));
379          rule = &ritem[rule_table[i].rhs];          rule = &ritem[rule_table[i].rhs];
380          if (*rule > 0)          if (*rule >= 0)
381            while (*rule > 0)            while (*rule >= 0)
382              fprintf (out, " %s", escape (tags[*rule++]));              fprintf (out, " %s", escape (tags[*rule++]));
383          else          else
384            fprintf (out, " /* %s */", _("empty"));            fprintf (out, " /* %s */", _("empty"));
# Line 399  print_grammar (FILE *out) Line 399  print_grammar (FILE *out)
399          sprintf (buffer, " (%d)", i);          sprintf (buffer, " (%d)", i);
400    
401          for (j = 1; j <= nrules; j++)          for (j = 1; j <= nrules; j++)
402            for (rule = &ritem[rule_table[j].rhs]; *rule > 0; rule++)            for (rule = &ritem[rule_table[j].rhs]; *rule >= 0; rule++)
403              if (*rule == token_translations[i])              if (*rule == token_translations[i])
404                {                {
405                  END_TEST (65);                  END_TEST (65);
# Line 420  print_grammar (FILE *out) Line 420  print_grammar (FILE *out)
420          {          {
421            if (rule_table[j].lhs == i)            if (rule_table[j].lhs == i)
422              left_count++;              left_count++;
423            for (rule = &ritem[rule_table[j].rhs]; *rule > 0; rule++)            for (rule = &ritem[rule_table[j].rhs]; *rule >= 0; rule++)
424              if (*rule == i)              if (*rule == i)
425                {                {
426                  right_count++;                  right_count++;
# Line 455  print_grammar (FILE *out) Line 455  print_grammar (FILE *out)
455            sprintf (buffer + strlen (buffer), _(" on right:"));            sprintf (buffer + strlen (buffer), _(" on right:"));
456            for (j = 1; j <= nrules; j++)            for (j = 1; j <= nrules; j++)
457              {              {
458                for (rule = &ritem[rule_table[j].rhs]; *rule > 0; rule++)                for (rule = &ritem[rule_table[j].rhs]; *rule >= 0; rule++)
459                  if (*rule == i)                  if (*rule == i)
460                    {                    {
461                      END_TEST (65);                      END_TEST (65);

Legend:
Removed from v.1.44  
changed lines
  Added in v.1.45

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