]> git.saurik.com Git - bison.git/commitdiff
* src/parse-gram.y (add_param): Strip the leading and trailing
authorAkim Demaille <akim@epita.fr>
Mon, 27 Sep 2004 07:42:04 +0000 (07:42 +0000)
committerAkim Demaille <akim@epita.fr>
Mon, 27 Sep 2004 07:42:04 +0000 (07:42 +0000)
blanks from a formal argument declaration.
(YY_LOCATION_PRINT): New.

ChangeLog
src/parse-gram.y

index 4d16e99accfa7138c6f04a1950b7e671a8042b5f..e61781c724703c5c659183b2dc14e3995b85719d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-09-24  Akim Demaille  <akim@epita.fr>
+
+       * src/parse-gram.y (add_param): Strip the leading and trailing
+       blanks from a formal argument declaration.
+       (YY_LOCATION_PRINT): New.
+
 2004-09-24  Akim Demaille  <akim@epita.fr>
 
        * data/c.m4 (b4_yysymprint_generate): Move the YYINPUT invocation
index 0f81bf18919ac7388eae8e2467def5fe0277949c..40117c53ec508ebffedbbbac489f5e64ffc923e7 100644 (file)
@@ -35,6 +35,9 @@
 #define YYLLOC_DEFAULT(Current, Rhs, N)  (Current) = lloc_default (Rhs, N)
 static YYLTYPE lloc_default (YYLTYPE const *, int);
 
+#define YY_LOCATION_PRINT(File, Loc) \
+          location_print (File, Loc)
+
 /* Request detailed syntax error messages, and pass them to GRAM_ERROR.
    FIXME: depends on the undocumented availability of YYLLOC.  */
 #undef  yyerror
@@ -474,6 +477,7 @@ add_param (char const *type, char *decl, location loc)
     "abcdefghijklmnopqrstuvwxyz"
     "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
     "_";
+  static char const blank[] = " \t";
   char const *alpha = alphanum + 10;
   char const *name_start = NULL;
   char *p;
@@ -484,7 +488,13 @@ add_param (char const *type, char *decl, location loc)
 
   /* Strip the surrounding '{' and '}'.  */
   decl++;
-  p[-1] = '\0';
+  *--p = '\0';
+
+  /* Strip surrounding white spaces.  */
+  while (strchr (blank, *decl))
+    ++decl;
+  while (strchr (blank, p[-1]))
+    *--p = '\0';
 
   if (! name_start)
     complain_at (loc, _("missing identifier in parameter declaration"));