bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[trunk]: I-option2.patch


From: Marc Autret
Subject: [trunk]: I-option2.patch
Date: 24 Nov 2001 14:42:37 -0500
User-agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.7

Index: ChangeLog
===================================================================
RCS file: /cvsroot/bison/bison/ChangeLog,v
retrieving revision 1.290
diff -u -r1.290 ChangeLog
--- ChangeLog   2001/11/22 22:00:21     1.290
+++ ChangeLog   2001/11/24 18:48:03
@@ -1,3 +1,19 @@
+2001-11-24  Marc Autret  <address@hidden>
+
+       * src/reader.c (parse_dquoted_param): New.
+       (parse_skel_decl, parse_skelpath_decl): Use it.
+
 2001-11-22  Marc Autret  <address@hidden>
Index: src/reader.c
===================================================================
RCS file: /cvsroot/bison/bison/src/reader.c,v
retrieving revision 1.100
diff -u -r1.100 reader.c
--- src/reader.c        2001/11/19 10:26:16     1.100
+++ src/reader.c        2001/11/24 18:48:37
@@ -951,7 +951,54 @@
   muscle_insert (muscle_key, muscle_value);
 }
 
+/*---------------------------------.
+| Parse a double quoted parameter. |
+`---------------------------------*/
 
+static const char *
+parse_dquoted_param (const char *from)
+{
+  char buff[32];
+  int c;
+  int i;
+
+  c = skip_white_space ();
+
+  if (c != '"')
+    {
+      ungetc (c, finput);
+      complain (_("invalid %s declaration"), from);
+      return NULL;
+    }
+
+  c = getc (finput);
+  for (i = 0; (c >= '!') && (c <= '~'); i++)
+    {
+      if (c == '"')
+       break;
+
+      if (c == '\\')
+       {
+         c = getc (finput);
+         if ((c < '!') && (c > '~'))
+           break;
+       }
+
+      buff[i] = c;
+      c = getc (finput);
+    }
+  buff[i] = '\0';
+
+  if (c != '"')
+    {
+      ungetc (c, finput);
+      complain (_("invalid %s declaration"), from);
+      return NULL;
+    }
+
+  return xstrdup (buff);
+}
+
 /*----------------------------------.
 | Parse what comes after %skeleton. |
 `----------------------------------*/
@@ -959,9 +1006,19 @@
 void
 parse_skel_decl (void)
 {
-  /* Complete with parse_dquoted_param () on the CVS branch 1.29.  */
+  skeleton = parse_dquoted_param ("skeleton");
 }
 
 /*---------------------------------------.
 | Parse what comes after %skeleton_path. |
 `---------------------------------------*/

void
parse_skelpath_decl (void)
{
-  /* Complete with parse_dquoted_param () on the CVS branch 1.29.  */
+  skeleton_path = parse_dquoted_param ("skeleton-path");
}
 


-- 
Marc Autret



reply via email to

[Prev in Thread] Current Thread [Next in Thread]