]> 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 9322cf5ed1fb0b1b6d728b1dacc3b7a92c908f1e..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],          [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])
@@ -80,7 +83,7 @@ m4_define([b4_yy_symbol_print_generate],
     b4_parse_param)[
 {
 ]b4_parse_param_use[]dnl
-[  yyparser.yy_symbol_print_ (yytype, yyvaluep]b4_location_if([, yylocationp])[);
+[  yyparser.yy_symbol_print_ (yytype, yyvaluep]b4_locations_if([, yylocationp])[);
 }
 ]])
 
@@ -211,23 +214,9 @@ 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])
-[
-/* As a special exception, you may create a larger work that contains
-   part or all of the Bison parser skeleton and distribute that work
-   under terms of your choice, so long as that work isn't itself a
-   parser generator using the skeleton or a modified version thereof
-   as a parser skeleton.  Alternatively, if you modify or redistribute
-   the parser skeleton itself, you may (at your option) remove this
-   special exception, which will cause the skeleton and the resulting
-   Bison output files to be licensed under the GNU General Public
-   License without this special exception.
-
-   This special exception was added by the Free Software Foundation in
-   version 2.2 of Bison.  */
+  [2002, 2003, 2004, 2005, 2006])[
 
 /* C++ GLR parser skeleton written by Akim Demaille.  */
 
@@ -246,17 +235,18 @@ 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"
 
 /* Enabling traces.  */
 #ifndef YYDEBUG
-# define YYDEBUG ]b4_debug[
+# define YYDEBUG ]b4_debug_flag[
 #endif
 
 /* Enabling verbose error messages.  */
@@ -264,7 +254,7 @@ b4_syncline([@oline@], [@ofile@])[
 # undef YYERROR_VERBOSE
 # define YYERROR_VERBOSE 1
 #else
-# define YYERROR_VERBOSE ]b4_error_verbose[
+# define YYERROR_VERBOSE ]b4_error_verbose_flag[
 #endif
 
 /* Enabling the token table.  */
@@ -396,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 */]