/[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.55 by akim, Sun Apr 7 15:29:36 2002 UTC revision 1.56 by akim, Sun Apr 7 15:30:20 2002 UTC
# Line 365  print_grammar (FILE *out) Line 365  print_grammar (FILE *out)
365    /* rule # : LHS -> RHS */    /* rule # : LHS -> RHS */
366    fprintf (out, "%s\n\n", _("Grammar"));    fprintf (out, "%s\n\n", _("Grammar"));
367    fprintf (out, "  %s\n", _("Number, Line, Rule"));    fprintf (out, "  %s\n", _("Number, Line, Rule"));
368    for (i = 1; i <= nrules; i++)    for (i = 1; i < nrules + 1; i++)
369      /* Don't print rules disabled in reduce_grammar_tables.  */      /* Don't print rules disabled in reduce_grammar_tables.  */
370      if (rules[i].useful)      if (rules[i].useful)
371        {        {
# Line 384  print_grammar (FILE *out) Line 384  print_grammar (FILE *out)
384    
385    /* TERMINAL (type #) : rule #s terminal is on RHS */    /* TERMINAL (type #) : rule #s terminal is on RHS */
386    fprintf (out, "%s\n\n", _("Terminals, with rules where they appear"));    fprintf (out, "%s\n\n", _("Terminals, with rules where they appear"));
387    for (i = 0; i <= max_user_token_number; i++)    for (i = 0; i < max_user_token_number + 1; i++)
388      if (token_translations[i] != 2)      if (token_translations[i] != 2)
389        {        {
390          buffer[0] = 0;          buffer[0] = 0;
# Line 393  print_grammar (FILE *out) Line 393  print_grammar (FILE *out)
393          END_TEST (50);          END_TEST (50);
394          sprintf (buffer, " (%d)", i);          sprintf (buffer, " (%d)", i);
395    
396          for (j = 1; j <= nrules; j++)          for (j = 1; j < nrules + 1; j++)
397            for (rule = 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                {                {
# Line 407  print_grammar (FILE *out) Line 407  print_grammar (FILE *out)
407    
408    
409    fprintf (out, "%s\n\n", _("Nonterminals, with rules where they appear"));    fprintf (out, "%s\n\n", _("Nonterminals, with rules where they appear"));
410    for (i = ntokens; i <= nsyms - 1; i++)    for (i = ntokens; i < nsyms; i++)
411      {      {
412        int left_count = 0, right_count = 0;        int left_count = 0, right_count = 0;
413    
414        for (j = 1; j <= nrules; j++)        for (j = 1; j < nrules + 1; j++)
415          {          {
416            if (rules[j].lhs == i)            if (rules[j].lhs == i)
417              left_count++;              left_count++;
# Line 434  print_grammar (FILE *out) Line 434  print_grammar (FILE *out)
434            END_TEST (50);            END_TEST (50);
435            sprintf (buffer + strlen (buffer), _(" on left:"));            sprintf (buffer + strlen (buffer), _(" on left:"));
436    
437            for (j = 1; j <= nrules; j++)            for (j = 1; j < nrules + 1; j++)
438              {              {
439                END_TEST (65);                END_TEST (65);
440                if (rules[j].lhs == i)                if (rules[j].lhs == i)
# Line 448  print_grammar (FILE *out) Line 448  print_grammar (FILE *out)
448              sprintf (buffer + strlen (buffer), ",");              sprintf (buffer + strlen (buffer), ",");
449            END_TEST (50);            END_TEST (50);
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 + 1; j++)
452              {              {
453                for (rule = rules[j].rhs; *rule >= 0; rule++)                for (rule = rules[j].rhs; *rule >= 0; rule++)
454                  if (*rule == i)                  if (*rule == i)

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

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