X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/6574576cfb6e5039e8a21714e8d9bf482ae7c32f..9e87ff54729e4d16d61b00b8338a516124ff094d:/data/lalr1.cc diff --git a/data/lalr1.cc b/data/lalr1.cc index 4eec878a..3294f591 100644 --- a/data/lalr1.cc +++ b/data/lalr1.cc @@ -40,7 +40,6 @@ m4_define([b4_integral_parser_table_define], };dnl ]) - # b4_symbol_value_template(VAL, [TYPE]) # ------------------------------------- # Same as b4_symbol_value, but used in a template method. It makes @@ -205,6 +204,10 @@ b4_location_define])])[ void error (const syntax_error& err); private: + /// This class is not copyable. + ]b4_parser_class_name[ (const ]b4_parser_class_name[&); + ]b4_parser_class_name[& operator= (const ]b4_parser_class_name[&); + /// State numbers. typedef int state_type; @@ -595,13 +598,7 @@ m4_if(b4_prefix, [yy], [], YY_SYMBOL_PRINT (yymsg, yysym);]b4_variant_if([], [ // User destructor. - symbol_number_type yytype = yysym.type_get (); - switch (yytype) - { -]b4_symbol_foreach([b4_symbol_destructor])dnl -[ default: - break; - }])[ + b4_symbol_actions([destructor], [yysym.type_get ()])])[ } #if ]b4_api_PREFIX[DEBUG @@ -616,12 +613,7 @@ m4_if(b4_prefix, [yy], [], yyo << (yytype < yyntokens_ ? "token" : "nterm") << ' ' << yytname_[yytype] << " ("]b4_locations_if([ << yysym.location << ": "])[; - switch (yytype) - { -]b4_symbol_foreach([b4_symbol_printer])dnl -[ default: - break; - } + ]b4_symbol_actions([printer])[ yyo << ')'; } #endif @@ -741,7 +733,7 @@ b4_dollar_popdef])[]dnl yynewstate, since the latter expects the semantical and the location values to have been already stored, initialize these stacks with a primary value. */ - yystack_ = stack_type (0); + yystack_.clear (); yypush_ (YY_NULL, 0, yyla); // A new symbol was pushed on the stack.