]> git.saurik.com Git - bison.git/blobdiff - src/scan-gram.l
Do not let the scan-skel token buffer grow unboundedly in the usual case.
[bison.git] / src / scan-gram.l
index 502fabaabaf91182f9b5b153f84e40504a6b6c92..a2c61fd67e9ea92fb6dcbd59aff19aef47ef5b93 100644 (file)
@@ -154,10 +154,15 @@ splice     (\\[ \f\t\v]*\n)*
 <INITIAL,SC_AFTER_IDENTIFIER,SC_PRE_CODE>
 {
   [ \f\n\t\v]  ;
+  ","         warn_at (*loc, _("stray `,' treated as white space"));
 
   /* Comments. */
-  "/*"         token_start = loc->start; context_state = YY_START; BEGIN SC_YACC_COMMENT;
   "//".*       ;
+  "/*" {
+    token_start = loc->start;
+    context_state = YY_START;
+    BEGIN SC_YACC_COMMENT;
+  }
 
   /* #line directives are not documented, and may be withdrawn or
      modified in future versions of Bison.  */
@@ -215,10 +220,6 @@ splice      (\\[ \f\t\v]*\n)*
   "|"                     rule_length = 0; return PIPE;
   ";"                     return SEMICOLON;
 
-  "," {
-    warn_at (*loc, _("stray `,' treated as white space"));
-  }
-
   {id} {
     val->symbol = symbol_get (yytext, *loc);
     id_loc = *loc;
@@ -558,7 +559,7 @@ splice       (\\[ \f\t\v]*\n)*
        should also diagnose other Bison extensions like %yacc.
        Perhaps there should also be a GCC-style --pedantic-errors
        option, so that such warnings are diagnosed as errors.  */
-    if (outer_brace && ! yacc_flag)
+    if (outer_brace && token_type == BRACED_CODE && ! yacc_flag)
       obstack_1grow (&obstack_for_string, ';');
 
     obstack_1grow (&obstack_for_string, '}');