]> git.saurik.com Git - bison.git/blobdiff - data/yacc.c
data/yacc.c: Move the GPL exception comment from c.m4 (b4_copyright) to here.
[bison.git] / data / yacc.c
index eed1a8a1649249da6635d3c639899957517c9eda..5606891db084ad3e407d526ecdf59808b4a54f89 100644 (file)
@@ -130,6 +130,11 @@ m4_divert(0)dnl
 b4_copyright([Skeleton parser for Yacc-like parsing with Bison],
              [1984, 1989, 1990, 2000, 2001, 2002])
 
+/* 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.  */
+
 /* Written by Richard Stallman by simplifying the original so called
    ``semantic'' parser.  */
 
@@ -358,12 +363,14 @@ static const char *const yytname[[]] =
 };
 #endif
 
+# ifdef YYPRINT
 /* YYTOKNUM[[YYLEX-NUM]] -- Internal token number corresponding to
    token YYLEX-NUM.  */
 static const b4_int_type_for([b4_toknum]) yytoknum[[]] =
 {
   b4_toknum
 };
+# endif
 
 /* YYR1[[YYN]] -- Symbol number of symbol that rule YYN derives.  */
 static const b4_int_type_for([b4_r1]) yyr1[[]] =
@@ -650,7 +657,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];
@@ -667,7 +674,7 @@ b4_c_function([yyreport_parse_error],
         YYCHECK.  */
       for (yyx = yyn < 0 ? -yyn : 0;
           yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
-       if (yycheck[yyx + yyn] == yyx)
+       if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
          yysize += yystrlen (yytname[yyx]) + 15, yycount++;
       yysize += yystrlen ("parse error, unexpected ") + 1;
       yysize += yystrlen (yytname[yytype]);
@@ -683,7 +690,7 @@ b4_c_function([yyreport_parse_error],
              for (yyx = yyn < 0 ? -yyn : 0;
                   yyx < (int) (sizeof (yytname) / sizeof (char *));
                   yyx++)
-               if (yycheck[yyx + yyn] == yyx)
+               if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
                  {
                    const char *yyq = ! yycount ? ", expecting " : " or ";
                    yyp = yystpcpy (yyp, yyq);
@@ -705,7 +712,7 @@ b4_c_function([yyreport_parse_error],
   (void) yystate;
   (void) yychar;
   (void) yyvalue;
-  ]b4_location_if([(void) yylocation;])[
+  ]b4_location_if([(void) yylloc;])[
 }]
 
 
@@ -1044,8 +1051,8 @@ yyreduce:
   /* If YYLEN is nonzero, implement the default value of the action:
      `$$ = $1'.
 
-     Otherwise, the following line sets YYVAL to the semantic value of
-     the lookahead token.  This behavior is undocumented and Bison
+     Otherwise, the following line sets YYVAL to garbage.
+     This behavior is undocumented and Bison
      users should not rely upon it.  Assigning to YYVAL
      unconditionally makes the parser a bit smaller, and it avoids a
      GCC warning that YYVAL may be used uninitialized.  */
@@ -1253,7 +1260,12 @@ b4_epilogue
 m4_if(b4_defines_flag, 0, [],
 [#output "b4_output_header_name"
 b4_copyright([Skeleton parser for Yacc-like parsing with Bison],
-              [1984, 1989, 1990, 2000, 2001, 2002])
+             [1984, 1989, 1990, 2000, 2001, 2002])
+
+/* 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 b4_header_guard
 # define b4_header_guard