]> git.saurik.com Git - bison.git/blobdiff - data/lalr1.cc
lalr1.cc: don't generate location.hh when location_type is defined
[bison.git] / data / lalr1.cc
index 6174e824edeb507beb4d33f60ae74cbfbd6d7367..7cb7db628ac64336994836b110981f93f575f746 100644 (file)
@@ -1,7 +1,6 @@
 # C++ skeleton for Bison
 
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 2002-2010 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
@@ -116,7 +115,7 @@ m4_popdef([b4_dollar_dollar])dnl
 
 
 m4_pushdef([b4_copyright_years],
-           [2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009])
+           [2002-2010])
 
 m4_define([b4_parser_class_name],
           [b4_percent_define_get([[parser_class_name]])])
@@ -125,10 +124,10 @@ m4_define([b4_parser_class_name],
 b4_defines_if([],
               [b4_fatal([b4_skeleton[: using %%defines is mandatory]])])
 
-b4_locations_if(
-[# Backward compatibility.
-m4_define([b4_location_constructors])
-m4_include(b4_pkgdatadir/[location.cc])])
+b4_locations_if([b4_percent_define_ifdef([[location_type]], [],
+  [# Backward compatibility.
+  m4_define([b4_location_constructors])
+  m4_include(b4_pkgdatadir/[location.cc])])])
 m4_include(b4_pkgdatadir/[stack.hh])
 b4_variant_if([m4_include(b4_pkgdatadir/[variant.hh])])
 
@@ -151,14 +150,12 @@ dnl FIXME: This is wrong, we want computed header guards.
 #include <string>
 #include <iostream>
 #include "stack.hh"
+]b4_locations_if([b4_percent_define_ifdef([[location_type]], [],
+                                          [[#include "location.hh"]])])[
 
-]b4_namespace_open[
-]b4_locations_if([  class position;
-  class location;])[
-]b4_variant_if([b4_variant_define])[
-]b4_namespace_close[
-
-]b4_locations_if([#include "location.hh"])[
+]b4_variant_if([b4_namespace_open
+b4_variant_define
+b4_namespace_close])[
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
@@ -690,7 +687,7 @@ b4_percent_code_get[]dnl
     symbol_type yyla;]b4_locations_if([[
 
     /// The locations where the error started and ended.
-    stack_symbol_type yyerror_range[2];]])[
+    stack_symbol_type yyerror_range[3];]])[
 
     /// $$ and @@$.
     stack_symbol_type yylhs;
@@ -867,7 +864,7 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param)));])[
       }
 
 ]b4_locations_if([[
-    yyerror_range[0].location = yyla.location;]])[
+    yyerror_range[1].location = yyla.location;]])[
     if (yyerrstatus_ == 3)
       {
        /* If just tried and failed to reuse lookahead token after an
@@ -898,7 +895,7 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param)));])[
        code.  */
     if (false)
       goto yyerrorlab;]b4_locations_if([[
-    yyerror_range[0].location = yystack_[yylen - 1].location;]])b4_variant_if([[
+    yyerror_range[1].location = yystack_[yylen - 1].location;]])b4_variant_if([[
     /* $$ was initialized before running the user action.  */
     yy_destroy_ ("Error: discarding", yylhs);]])[
     /* Do not reclaim the symbols of the rule which action triggered
@@ -932,14 +929,14 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param)));])[
           if (yystack_.size () == 1)
             YYABORT;
 ]b4_locations_if([[
-          yyerror_range[0].location = yystack_[0].location;]])[
+          yyerror_range[1].location = yystack_[0].location;]])[
           yy_destroy_ ("Error: popping", yystack_[0]);
           yypop_ ();
           YY_STACK_PRINT ();
         }
 ]b4_locations_if([[
-      yyerror_range[1].location = yyla.location;
-      YYLLOC_DEFAULT (error_token.location, (yyerror_range - 1), 2);]])[
+      yyerror_range[2].location = yyla.location;
+      YYLLOC_DEFAULT (error_token.location, yyerror_range, 2);]])[
 
       /* Shift the error token.  */
       error_token.state = yyn;