changeset 20894:72b93d9f69fb

Add %expect directive. Move inclusion of getdate.h and dependent extern declarations down so getdate.h's prototype follows the sometimes-enabled definition of `const' to nothing. Otherwise, the prototype wouldn't match the definition because of the defined-away `const'. (get_date): ANSI-fy definition. From Kaveh Ghazi.
author Jim Meyering <jim@meyering.net>
date Tue, 06 Jan 1998 23:53:33 +0000
parents 54f45e79d2e5
children 894d17d0baff
files lib/getdate.y
diffstat 1 files changed, 13 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/lib/getdate.y	Mon Jan 05 17:38:38 1998 +0000
+++ b/lib/getdate.y	Tue Jan 06 23:53:33 1998 +0000
@@ -5,8 +5,6 @@
 **  a couple of people on Usenet.  Completely overhauled by Rich $alz
 **  <rsalz@bbn.com> and Jim Berets <jberets@bbn.com> in August, 1990.
 **
-**  This grammar has 13 shift/reduce conflicts.
-**
 **  This code is in the public domain and has no copyright.
 */
 
@@ -51,8 +49,6 @@
    host does not conform to Posix.  */
 #define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
 
-#include "getdate.h"
-
 #if defined (STDC_HEADERS) || defined (USG)
 # include <string.h>
 #endif
@@ -64,10 +60,6 @@
 # define bcopy(from, to, len) memcpy ((to), (from), (len))
 #endif
 
-extern struct tm	*gmtime ();
-extern struct tm	*localtime ();
-extern time_t		mktime ();
-
 /* Remap normal yacc parser interface names (yyparse, yylex, yyerror, etc),
    as well as gratuitiously global symbol names, so we can have multiple
    yacc generated parsers in the same program.  Note that these are only
@@ -172,6 +164,9 @@
 
 %}
 
+/* This grammar has 13 shift/reduce conflicts. */
+%expect 13
+
 %union {
     int			Number;
     enum _MERIDIAN	Meridian;
@@ -441,6 +436,15 @@
 
 %%
 
+/* Include this file down here because bison inserts code above which
+   may define-away `const'.  We want the prototype for get_date to have
+   the same signature as the function definition does. */
+#include "getdate.h"
+
+extern struct tm	*gmtime ();
+extern struct tm	*localtime ();
+extern time_t		mktime ();
+
 /* Month and day table. */
 static TABLE const MonthDayTable[] = {
     { "january",	tMONTH,  1 },
@@ -886,9 +890,7 @@
 }
 
 time_t
-get_date (p, now)
-     const char *p;
-     const time_t *now;
+get_date (const char *p, const time_t *now)
 {
   struct tm tm, tm0, *tmp;
   time_t Start;