X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/f16b08196c780556cbf50691e2944960aebc46f6..5422d56a718805a2470558808355e04182a12d65:/data/glr.cc diff --git a/data/glr.cc b/data/glr.cc index 12f629a4..15b113f7 100644 --- a/data/glr.cc +++ b/data/glr.cc @@ -1,8 +1,8 @@ -*- C -*- # C++ GLR skeleton for Bison -# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, -# Inc. + +# Copyright (C) 2002-2011 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 @@ -54,12 +54,11 @@ b4_defines_if([], [b4_fatal([b4_skeleton[: using %%defines is mandatory]])]) m4_include(b4_pkgdatadir/[c++.m4]) -m4_include(b4_pkgdatadir/[location.cc]) +b4_percent_define_ifdef([[location_type]], [], + [m4_include(b4_pkgdatadir/[location.cc])]) m4_define([b4_parser_class_name], [b4_percent_define_get([[parser_class_name]])]) -m4_define([b4_namespace], - [b4_percent_define_get([[namespace]])]) # Save the parse parameters. m4_define([b4_parse_param_orig], m4_defn([b4_parse_param])) @@ -79,9 +78,9 @@ m4_define([b4_yy_symbol_print_generate], [static void], [[FILE *], []], [[int yytype], [yytype]], - [[const b4_namespace::b4_parser_class_name::semantic_type *yyvaluep], + [[const b4_namespace_ref::b4_parser_class_name::semantic_type *yyvaluep], [yyvaluep]], - [[const b4_namespace::b4_parser_class_name::location_type *yylocationp], + [[const b4_namespace_ref::b4_parser_class_name::location_type *yylocationp], [yylocationp]], b4_parse_param)[ { @@ -97,7 +96,7 @@ m4_append([b4_post_prologue], b4_c_ansi_function_decl([yyerror], [static void], - [[b4_namespace::b4_parser_class_name::location_type *yylocationp], [yylocationp]], + [[b4_namespace_ref::b4_parser_class_name::location_type *yylocationp], [yylocationp]], b4_parse_param, [[const char* msg], [msg]])]) @@ -111,7 +110,7 @@ m4_append([b4_epilogue], ]b4_c_ansi_function_def([yyerror], [static void], - [[b4_namespace::b4_parser_class_name::location_type *yylocationp], [yylocationp]], + [[b4_namespace_ref::b4_parser_class_name::location_type *yylocationp], [yylocationp]], b4_parse_param, [[const char* msg], [msg]])[ { @@ -120,8 +119,7 @@ m4_append([b4_epilogue], } -namespace ]b4_namespace[ -{ +]b4_namespace_open[ ]dnl In this section, the parse param are the original parse_params. m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl [ /// Build a parser object. @@ -203,7 +201,7 @@ m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl #endif ]m4_popdef([b4_parse_param])dnl -[} // namespace ]b4_namespace[ +b4_namespace_close[ ]]) @@ -211,18 +209,18 @@ m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl # Let glr.c believe that the user arguments include the parser itself. m4_ifset([b4_parse_param], [m4_pushdef([b4_parse_param], - m4_dquote([[[b4_namespace::b4_parser_class_name& yyparser], [[yyparser]]],] + m4_dquote([[[b4_namespace_ref::b4_parser_class_name& yyparser], [[yyparser]]],] m4_defn([b4_parse_param])))], [m4_pushdef([b4_parse_param], - [[[[b4_namespace::b4_parser_class_name& yyparser], [[yyparser]]]]]) + [[[[b4_namespace_ref::b4_parser_class_name& yyparser], [[yyparser]]]]]) ]) m4_include(b4_pkgdatadir/[glr.c]) m4_popdef([b4_parse_param]) m4_divert_push(0) -@output(b4_spec_defines_file@) +@output(b4_spec_defines_file@)@ b4_copyright([Skeleton interface for Bison GLR parsers in C++], - [2002, 2003, 2004, 2005, 2006])[ + [2002-2006, 2009-2011])[ /* C++ GLR parser skeleton written by Akim Demaille. */ @@ -233,18 +231,12 @@ b4_copyright([Skeleton interface for Bison GLR parsers in C++], #include #include +]b4_percent_define_ifdef([[location_type]], [], + [[#include "location.hh"]])[ /* Using locations. */ #define YYLSP_NEEDED ]b4_locations_flag[ -namespace ]b4_namespace[ -{ - class position; - class location; -} - -#include "location.hh" - /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG ]b4_debug_flag[ @@ -269,8 +261,7 @@ namespace ]b4_namespace[ while (/*CONSTCOND*/ 0) #endif -namespace ]b4_namespace[ -{ +]b4_namespace_open[ /// A Bison parser. class ]b4_parser_class_name[ { @@ -289,7 +280,8 @@ b4_user_stype typedef YYSTYPE semantic_type; #endif /// Symbol locations. - typedef ]b4_percent_define_get([[location_type]])[ location_type; + typedef ]b4_percent_define_get([[location_type]], + [[location]])[ location_type; /// Tokens. struct token { @@ -368,13 +360,13 @@ b4_percent_define_flag_if([[global_tokens_and_yystype]], [b4_token_defines(b4_tokens)]) [ #ifndef YYSTYPE -# define YYSTYPE ]b4_namespace[::]b4_parser_class_name[::semantic_type +# define YYSTYPE ]b4_namespace_ref[::]b4_parser_class_name[::semantic_type #endif #ifndef YYLTYPE -# define YYLTYPE ]b4_namespace[::]b4_parser_class_name[::location_type +# define YYLTYPE ]b4_namespace_ref[::]b4_parser_class_name[::location_type #endif -} +]b4_namespace_close[ ]b4_percent_code_get([[provides]])[]dnl