/[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.54 by akim, Mon Mar 4 13:56:41 2002 UTC revision 1.55 by akim, Sun Apr 7 15:29:36 2002 UTC
# Line 96  print_core (FILE *out, state_t *state) Line 96  print_core (FILE *out, state_t *state)
96            rule = -(*sp);            rule = -(*sp);
97            fprintf (out, "    %s  ->  ", escape (symbols[rules[rule].lhs]->tag));            fprintf (out, "    %s  ->  ", escape (symbols[rules[rule].lhs]->tag));
98    
99            for (sp = ritem + rules[rule].rhs; sp < sp1; sp++)            for (sp = rules[rule].rhs; sp < sp1; sp++)
100              fprintf (out, "%s ", escape (symbols[*sp]->tag));              fprintf (out, "%s ", escape (symbols[*sp]->tag));
101    
102            fputc ('.', out);            fputc ('.', out);
# Line 371  print_grammar (FILE *out) Line 371  print_grammar (FILE *out)
371        {        {
372          fprintf (out, _("  %3d %3d %s ->"),          fprintf (out, _("  %3d %3d %s ->"),
373                   i - 1, rules[i].line, escape (symbols[rules[i].lhs]->tag));                   i - 1, rules[i].line, escape (symbols[rules[i].lhs]->tag));
374          rule = &ritem[rules[i].rhs];          rule = rules[i].rhs;
375          if (*rule >= 0)          if (*rule >= 0)
376            while (*rule >= 0)            while (*rule >= 0)
377              fprintf (out, " %s", escape (symbols[*rule++]->tag));              fprintf (out, " %s", escape (symbols[*rule++]->tag));
# Line 394  print_grammar (FILE *out) Line 394  print_grammar (FILE *out)
394          sprintf (buffer, " (%d)", i);          sprintf (buffer, " (%d)", i);
395    
396          for (j = 1; j <= nrules; j++)          for (j = 1; j <= nrules; j++)
397            for (rule = &ritem[rules[j].rhs]; *rule >= 0; rule++)            for (rule = rules[j].rhs; *rule >= 0; rule++)
398              if (*rule == token_translations[i])              if (*rule == token_translations[i])
399                {                {
400                  END_TEST (65);                  END_TEST (65);
# Line 415  print_grammar (FILE *out) Line 415  print_grammar (FILE *out)
415          {          {
416            if (rules[j].lhs == i)            if (rules[j].lhs == i)
417              left_count++;              left_count++;
418            for (rule = &ritem[rules[j].rhs]; *rule >= 0; rule++)            for (rule = rules[j].rhs; *rule >= 0; rule++)
419              if (*rule == i)              if (*rule == i)
420                {                {
421                  right_count++;                  right_count++;
# Line 450  print_grammar (FILE *out) Line 450  print_grammar (FILE *out)
450            sprintf (buffer + strlen (buffer), _(" on right:"));            sprintf (buffer + strlen (buffer), _(" on right:"));
451            for (j = 1; j <= nrules; j++)            for (j = 1; j <= nrules; j++)
452              {              {
453                for (rule = &ritem[rules[j].rhs]; *rule >= 0; rule++)                for (rule = rules[j].rhs; *rule >= 0; rule++)
454                  if (*rule == i)                  if (*rule == i)
455                    {                    {
456                      END_TEST (65);                      END_TEST (65);

Legend:
Removed from v.1.54  
changed lines
  Added in v.1.55

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