]> git.saurik.com Git - bison.git/blobdiff - data/glr.cc
Rename %before-definitions to %start-header and %after-definitions to
[bison.git] / data / glr.cc
index 7cd9c10ddc464feba570a1893bea7f1b20cfe7de..de1f543e5471e725331dfcf99f2dc1d82b1d0735 100644 (file)
@@ -46,10 +46,13 @@ m4_divert(-1)                                                       -*- C -*-
 #   user must initialize the first positions (in particular the
 #   filename member).
 
-
 # We require a pure interface using locations.
-m4_define([b4_location_flag], [1])
-m4_define([b4_pure_flag],     [1])
+m4_define([b4_locations_flag], [1])
+m4_define([b4_pure_flag],      [1])
+
+# The header is mandatory.
+b4_defines_if([],
+              [m4_fatal(b4_skeleton[: using %defines is mandatory])])
 
 m4_include(b4_pkgdatadir/[c++.m4])
 m4_include(b4_pkgdatadir/[location.cc])
@@ -211,7 +214,6 @@ m4_defn([b4_parse_param])))],
 m4_include(b4_pkgdatadir/[glr.c])
 m4_popdef([b4_parse_param])
 
-
 @output @output_header_name@
 b4_copyright([Skeleton interface for Bison GLR parsers in C++],
   [2002, 2003, 2004, 2005, 2006])[
@@ -233,11 +235,12 @@ namespace ]b4_namespace[
   class location;
 }
 
-/* Copy the first part of user declarations.  */
-]b4_pre_prologue[
+]m4_ifdef([b4_start_header],
+[[/* Copy the %start-header blocks.  */
+]b4_start_header])[]dnl
 
-]/* Line __line__ of glr.cc.  */
-b4_syncline([@oline@], [@ofile@])[
+[/* Line __line__ of glr.cc.  */
+]b4_syncline([@oline@], [@ofile@])[
 
 #include "location.hh"
 
@@ -383,4 +386,8 @@ m4_ifset([b4_global_tokens_and_yystype],
 
 }
 
-#endif /* ! defined PARSER_HEADER_H */]
+]m4_ifdef([b4_end_header],
+[[/* Copy the %end-header blocks.  */
+]b4_end_header])[]dnl
+
+[#endif /* ! defined PARSER_HEADER_H */]