]> git.saurik.com Git - bison.git/commitdiff
* src/reader.h, src/reader.c (gram_error): ... can't get
authorAkim Demaille <akim@epita.fr>
Fri, 26 Jul 2002 06:25:35 +0000 (06:25 +0000)
committerAkim Demaille <akim@epita.fr>
Fri, 26 Jul 2002 06:25:35 +0000 (06:25 +0000)
yycontrol without making too strong assumptions on the parser
itself.
* src/output.c (prepare_tokens): Use the real 0th value of
token_translations instead of `0'.
* src/parse-gram.y (yyerror): Don't rely on yycontrol being
visible here.
* data/yacc.c (yyreport_parse_error): Rename yylocation as yylloc
for the time being: %locations ought to provide it to yyerror.

ChangeLog
data/yacc.c
src/output.c
src/parse-gram.c
src/parse-gram.h
src/parse-gram.y
src/reader.h

index f581e54095cd5bb995adf37bb56506b70ecb9b48..da80bdc460e6381a11183dd5845b13a581a7496a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2002-07-26  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.h, src/reader.c (gram_error): ... can't get
+       yycontrol without making too strong assumptions on the parser
+       itself.
+       * src/output.c (prepare_tokens): Use the real 0th value of
+       token_translations instead of `0'.
+       * src/parse-gram.y (yyerror): Don't rely on yycontrol being
+       visible here.
+       * data/yacc.c (yyreport_parse_error): Rename yylocation as yylloc
+       for the time being: %locations ought to provide it to yyerror.
+
 2002-07-25  Akim Demaille  <akim@epita.fr>
 
        * src/output.c (prepare_tokens): Go up to ntokens, not ntokens + 1.
index eed1a8a1649249da6635d3c639899957517c9eda..d2d06a10c3e9e1b902dd48ab64b35cddbabecc6e 100644 (file)
@@ -650,7 +650,7 @@ b4_c_function([yyreport_parse_error],
              [[int],     [yystate]],
              [[int],     [yychar]],
              [[YYSTYPE], [yyvalue]]b4_location_if([,
-             [[YYLTYPE], [yylocation]]]))
+             [[YYLTYPE], [yylloc]]]))
 [{
 #if YYERROR_VERBOSE
   int yyn = yypact[yystate];
@@ -705,7 +705,7 @@ b4_c_function([yyreport_parse_error],
   (void) yystate;
   (void) yychar;
   (void) yyvalue;
-  ]b4_location_if([(void) yylocation;])[
+  ]b4_location_if([(void) yylloc;])[
 }]
 
 
index 5b8ca1084394df086da779c029476d5e645f4727..c218af3ee411b061143491b56f486a3b825e0331 100644 (file)
@@ -305,8 +305,9 @@ static void
 prepare_tokens (void)
 {
   muscle_insert_symbol_number_table ("translate",
-                                   token_translations,
-                                   0, 1, max_user_token_number + 1);
+                                    token_translations,
+                                    token_translations[0],
+                                    1, max_user_token_number + 1);
 
   {
     int i;
index 45c723866bc7fb8f6927037b3a2c6ad3dd8f07ac..85c629fefb68094eb734c479a80dd935dd5d75e8 100644 (file)
@@ -1,7 +1,7 @@
 /* A Bison parser, made from parse-gram.y, by GNU bison 1.49b.  */
 
 /* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
+   Copyright 1984, 1989, 1990, 2000, 2001, 2002 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
@@ -91,11 +91,11 @@ do {                                                        \
    correctly typed access to it.  */
 #define yycontrol ((gram_control_t *) gram_control)
 
-/* Request detailed parse error messages, and pass them to
-   GRAM_ERROR. */
+/* Request detailed parse error messages, and pass them to GRAM_ERROR.
+   FIXME: depends on the undocumented availability of YYLLOC.t */
 #undef  yyerror
 #define yyerror(Msg) \
-        gram_error (yycontrol, &yylloc, Msg)
+        gram_error (&yylloc, Msg)
 
 #define YYPRINT(File, Type, Value) \
         yyprint (File, Type, &Value)
@@ -1846,9 +1846,32 @@ yyprint (FILE *file,
 }
 
 void
-gram_error (gram_control_t *control ATTRIBUTE_UNUSED,
-           location_t *yylloc, const char *msg)
+gram_error (location_t *yylloc, const char *msg)
 {
   complain_at (*yylloc, "%s", msg);
 }
 
+/* A Bison parser, made from parse-gram.y, by GNU bison 1.49b.  */
+
+/* Skeleton parser for Yacc-like parsing with Bison,
+   Copyright 1984, 1989, 1990, 2000, 2001, 2002 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
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+/* As a special exception, when this file is copied by Bison into a
+   Bison output file, you may use that output file without restriction.
+   This special exception was added by the Free Software Foundation
+   in version 1.24 of Bison.  */
index d8939d291de283108f676120cbadee82a66ccee3..3968a39592e585cc96bd93aaf62b9f19cb458d31 100644 (file)
@@ -1,28 +1,3 @@
-/* A Bison parser, made from parse-gram.y, by GNU bison 1.49b.  */
-
-/* Skeleton parser for Yacc-like parsing with Bison,
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 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
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* As a special exception, when this file is copied by Bison into a
-   Bison output file, you may use that output file without restriction.
-   This special exception was added by the Free Software Foundation
-   in version 1.24 of Bison.  */
-
 #ifndef BISON_PARSE_GRAM_H
 # define BISON_PARSE_GRAM_H
 
@@ -136,8 +111,8 @@ typedef union {
   char *string;
   assoc_t assoc;
 } yystype;
-/* Line 1271 of /usr/local/share/bison/yacc.c.  */
-#line 141 "y.tab.h"
+/* Line 1270 of /usr/local/share/bison/yacc.c.  */
+#line 116 "y.tab.h"
 # define YYSTYPE yystype
 #endif
 
index d777daec45ed1dbfb417c49d3f66154f80c8c06f..ade81eac4759919afd6e764094a0f602726fd4fa 100644 (file)
@@ -64,11 +64,11 @@ do {                                                        \
    correctly typed access to it.  */
 #define yycontrol ((gram_control_t *) gram_control)
 
-/* Request detailed parse error messages, and pass them to
-   GRAM_ERROR. */
+/* Request detailed parse error messages, and pass them to GRAM_ERROR.
+   FIXME: depends on the undocumented availability of YYLLOC.t */
 #undef  yyerror
 #define yyerror(Msg) \
-        gram_error (yycontrol, &yylloc, Msg)
+        gram_error (&yylloc, Msg)
 
 #define YYPRINT(File, Type, Value) \
         yyprint (File, Type, &Value)
@@ -459,8 +459,7 @@ yyprint (FILE *file,
 }
 
 void
-gram_error (gram_control_t *control ATTRIBUTE_UNUSED,
-           location_t *yylloc, const char *msg)
+gram_error (location_t *yylloc, const char *msg)
 {
   complain_at (*yylloc, "%s", msg);
 }
index 321740a06c7c75d28dc87ef757f0cb513de6774a..8792372e12b518408e453dd96ac31acefe5dc141 100644 (file)
@@ -52,8 +52,7 @@ YY_DECL;
 
 /* From the parser.  */
 extern int gram_debug;
-void gram_error (gram_control_t *control,
-                location_t *loc, const char *msg);
+void gram_error (location_t *loc, const char *msg);
 int gram_parse (void *control);
 
 /* The sort of braced code we are in.  */