X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/3e75a2c92b12766add442d00a86d5ec1c67ce560..84526bf3d156154d8372fff0d232dd4f347f2233:/data/lalr1.cc diff --git a/data/lalr1.cc b/data/lalr1.cc index d67c9548..92f93c2c 100644 --- a/data/lalr1.cc +++ b/data/lalr1.cc @@ -126,8 +126,8 @@ b4_defines_if([], b4_locations_if([b4_percent_define_ifdef([[location_type]], [], [# Backward compatibility. - m4_define([b4_location_constructors]) - m4_include(b4_pkgdatadir/[location.cc])])]) + 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])]) @@ -136,12 +136,15 @@ m4_changecom() m4_divert_push(0)dnl @output(b4_spec_defines_file@)@ b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++]) -dnl FIXME: This is wrong, we want computed header guards. [ +/** + ** \file ]b4_spec_defines_file[ + ** Define the ]b4_namespace_ref[::parser class. + */ + /* C++ LALR(1) parser skeleton written by Akim Demaille. */ -#ifndef PARSER_HEADER_H -# define PARSER_HEADER_H +]b4_cpp_guard_open([b4_spec_defines_file])[ ]b4_percent_code_get([[requires]])[ @@ -358,10 +361,9 @@ b4_public_types_define])[ /* Redirection for backward compatibility. */ # define YYSTYPE b4_namespace_ref::b4_parser_class_name::semantic_type #endif -]) -b4_percent_code_get([[provides]])[]dnl - -[#endif /* ! defined PARSER_HEADER_H */] +])[ +]b4_percent_code_get([[provides]])[ +]b4_cpp_guard_close([b4_spec_defines_file]) @output(b4_parser_file_name@)@ b4_copyright([Skeleton implementation for Bison LALR(1) parsers in C++]) b4_percent_code_get([[top]])[]dnl @@ -549,11 +551,11 @@ b4_percent_code_get[]dnl ]b4_parser_class_name[::yy_destroy_ (const char* yymsg, symbol_base_type& yysym) const { - int yytype = yysym.type_get (); if (yymsg) YY_SYMBOL_PRINT (yymsg, yysym); // User destructor. + int yytype = yysym.type_get (); switch (yytype) { ]b4_symbol_foreach([b4_symbol_destructor])dnl @@ -571,6 +573,8 @@ b4_percent_code_get[]dnl ]b4_parser_class_name[::yy_print_ (std::ostream& yyo, const symbol_base_type& yysym) const { + std::ostream& yyoutput = yyo; + YYUSE (yyoutput); int yytype = yysym.type_get (); yyo << (yytype < yyntokens_ ? "token" : "nterm") << ' ' << yytname_[yytype] << " ("]b4_locations_if([ @@ -715,7 +719,7 @@ m4_popdef([b4_at_dollar])])dnl location values to have been already stored, initialize these stacks with a primary value. */ yystack_ = stack_type (0); - yypush_ (0, 0, yyla); + yypush_ (YY_NULL, 0, yyla); // A new symbol was pushed on the stack. yynewstate: @@ -853,14 +857,14 @@ m4_ifdef([b4_lex_param], [, ]b4_lex_param)));])[ // in the debug trace, it's possibly junk. Hence yymsg = 0. // Besides, that keeps exactly the same traces as with the other // Bison skeletons. - yy_destroy_ (0, yystack_[i]);]])[ + yy_destroy_ (YY_NULL, yystack_[i]);]])[ yypop_ (yylen); yylen = 0; YY_STACK_PRINT (); /* Shift the result of the reduction. */ - yypush_ (0, yylhs); + yypush_ (YY_NULL, yylhs); goto yynewstate; /*--------------------------------------.