]> git.saurik.com Git - bison.git/blobdiff - src/reader.c
Thinko.
[bison.git] / src / reader.c
index e073f028e5eb4f8f41662391e34b5c53fe1c9f21..ee859b6a8f9cec607add44224e39eba9fb5f8f89 100644 (file)
@@ -63,9 +63,6 @@ static int typed;
 /* Incremented for each %left, %right or %nonassoc seen */
 static int lastprec;
 
-/* Incremented for each generated symbol */
-static int gensym_count;
-
 static bucket *errtoken;
 static bucket *undeftoken;
 \f
@@ -315,7 +312,6 @@ copy_at (FILE *fin, struct obstack *oout, int stack_offset)
   else if (isdigit (c) || c == '-')
     {
       int n;
-      char buf[4096];
 
       ungetc (c, fin);
       n = read_signed_integer (fin);
@@ -347,7 +343,7 @@ copy_dollar (FILE *fin, struct obstack *oout,
             symbol_list *rule, int stack_offset)
 {
   int c = getc (fin);
-  char *type_name = NULL;
+  const char *type_name = NULL;
 
   /* Get the type name if explicit. */
   if (c == '<')
@@ -1178,9 +1174,14 @@ record_rule_line (void)
 static bucket *
 gensym (void)
 {
+  /* Incremented for each generated symbol */
+  static int gensym_count = 0;
+  static char buf[256];
+
   bucket *sym;
 
-  sprintf (token_buffer, "@%d", ++gensym_count);
+  sprintf (buf, "@%d", ++gensym_count);
+  token_buffer = buf;
   sym = getsym (token_buffer);
   sym->class = nterm_sym;
   sym->value = nvars++;
@@ -1513,7 +1514,7 @@ readgram (void)
 
       else
        {
-         complain (_("invalid input: %s"), token_buffer);
+         complain (_("invalid input: %s"), quote (token_buffer));
          t = lex ();
        }
     }
@@ -1598,8 +1599,7 @@ output_token_defines (struct obstack *oout)
 
       obstack_fgrow2 (oout, "#define\t%s\t%d\n",
                      symbol,
-                     ((translations && !raw_flag)
-                      ? bp->user_token_number : bp->value));
+                     (translations ? bp->user_token_number : bp->value));
       if (semantic_parser)
        obstack_fgrow2 (oout, "#define\tT%s\t%d\n", symbol, bp->value);
     }
@@ -1866,8 +1866,6 @@ reader (void)
   typed = 0;
   lastprec = 0;
 
-  gensym_count = 0;
-
   semantic_parser = 0;
   pure_parser = 0;