]> git.saurik.com Git - bison.git/commitdiff
(yytokenName): Bullet-proof against YYEMPTY token.
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 Feb 2004 22:35:53 +0000 (22:35 +0000)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 2 Feb 2004 22:35:53 +0000 (22:35 +0000)
(yyreportSyntaxError): Handle case where lookahead token is
YYEMPTY.

data/glr.c

index eb270a176cc89dc693f4bf07d508c0a38ba6ee80..586da61eda34ad5114d7ab756d2db8ed547fd7f0 100644 (file)
@@ -1,7 +1,7 @@
 m4_divert(-1)                                                       -*- C -*-
 
 # GLR skeleton for Bison
-# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -636,6 +636,9 @@ yyFail (yyGLRStack* yystack]b4_pure_formals[, const char* yyformat, ...)
 static inline const char*
 yytokenName (yySymbol yytoken)
 {
+  if (yytoken == YYEMPTY)
+    return "";
+
   return yytname[yytoken];
 }
 #endif
@@ -1653,7 +1656,8 @@ yyreportSyntaxError (yyGLRStack* yystack,
          if (yymsg != 0)
            {
              char* yyp = yymsg;
-             sprintf (yyp, "syntax error, unexpected %s",
+             sprintf (yyp, "syntax error%s%s",
+                      (*yytokenp == YYEMPTY ? "" : ", unexpected "),
                       yytokenName (*yytokenp));
              yyp += strlen (yyp);
              if (yycount < 5)