X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/193d7c7054ba7197b0789e14965b739162319b5e..34f98f46ee16dd3719d19e002dc27b2665a2514f:/data/glr.cc diff --git a/data/glr.cc b/data/glr.cc index 9322cf5e..de1f543e 100644 --- a/data/glr.cc +++ b/data/glr.cc @@ -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 */]