]> git.saurik.com Git - bison.git/blobdiff - src/parse-gram.y
Do not let the scan-skel token buffer grow unboundedly in the usual case.
[bison.git] / src / parse-gram.y
index 2224c85f0e1600ddfefa8cecb043476133592f9f..c5d8024fa3315a258532360d99777698d2e94523 100644 (file)
@@ -189,7 +189,7 @@ declaration:
 | "%pure-parser"                           { pure_parser = 1; }
 | "%skeleton" string_content               { skeleton = $2; }
 | "%token-table"                           { token_table_flag = 1; }
-| "%verbose"                               { report_flag = 1; }
+| "%verbose"                               { report_flag = report_states; }
 | "%yacc"                                  { yacc_flag = 1; }
 | ";"
 ;
@@ -413,20 +413,16 @@ static YYLTYPE
 lloc_default (YYLTYPE const *rhs, int n)
 {
   int i;
-  int j;
   YYLTYPE r;
   r.start = r.end = rhs[n].end;
 
+  /* Ignore empty nonterminals the start of the the right-hand side.
+     Do not bother to ignore them at the end of the right-hand side,
+     since empty nonterminals have the same end as their predecessors.  */
   for (i = 1; i <= n; i++)
     if (! equal_boundaries (rhs[i].start, rhs[i].end))
       {
        r.start = rhs[i].start;
-
-       for (j = n; i < j; j--)
-         if (! equal_boundaries (rhs[j].start, rhs[j].end))
-           break;
-       r.end = rhs[j].end;
-
        break;
       }