Use "enum" for integral constants.

This is just nicer to read, I observed no speedup.

	* data/lalr1.cc (yyeof_, yylast_, yynnts_, yyempty_, yyfinal_)
	(yterror_, yyerrcode_, yyntokens_): Define as members of an enum.
	(yyuser_token_number_max_, yyundef_token_): Move into...
	(yytranslate_): here.
This commit is contained in:
Akim Demaille
2008-08-16 10:22:09 +02:00
parent c17f9a4a62
commit 914202bdac
3 changed files with 29 additions and 27 deletions

View File

@@ -1,3 +1,13 @@
2008-11-10 Akim Demaille <demaille@gostai.com>
Use "enum" for integral constants.
This is just nicer to read, I observed no speedup.
* data/lalr1.cc (yyeof_, yylast_, yynnts_, yyempty_, yyfinal_)
(yterror_, yyerrcode_, yyntokens_): Define as members of an enum.
(yyuser_token_number_max_, yyundef_token_): Move into...
(yytranslate_): here.
2008-11-10 Akim Demaille <demaille@gostai.com> 2008-11-10 Akim Demaille <demaille@gostai.com>
Shortcuts in bench directives. Shortcuts in bench directives.

View File

@@ -605,17 +605,18 @@ m4_ifdef([b4_stype],
inline void yypop_ (unsigned int n = 1); inline void yypop_ (unsigned int n = 1);
/* Constants. */ /* Constants. */
static const int yyeof_; enum
/* LAST_ -- Last index in TABLE_. */ {
static const int yylast_; yyeof_ = 0,
static const int yynnts_; yylast_ = ]b4_last[, //< Last index in yytable_.
static const int yyempty_; yynnts_ = ]b4_nterms_number[, //< Number of nonterminal symbols.
static const int yyfinal_; yyempty_ = -2,
static const int yyterror_; yyfinal_ = ]b4_final_state_number[, //< Termination state number.
static const int yyerrcode_; yyterror_ = 1,
static const int yyntokens_; yyerrcode_ = 256,
static const unsigned int yyuser_token_number_max_; yyntokens_ = ]b4_tokens_number[, //< Number of tokens.
static const token_number_type yyundef_token_; };
]b4_parse_param_vars[ ]b4_parse_param_vars[
}; };
@@ -1403,26 +1404,17 @@ b4_error_verbose_if([ tok])[)
const token_number_type const token_number_type
translate_table[] = translate_table[] =
{ {
]b4_translate[ ]b4_translate[
}; };
if ((unsigned int) t <= yyuser_token_number_max_) const unsigned int user_token_number_max_ = ]b4_user_token_number_max[;
const token_number_type undef_token_ = ]b4_undef_token_number[;
if (static_cast<unsigned int> (t) <= user_token_number_max_)
return translate_table[t]; return translate_table[t];
else else
return yyundef_token_; return undef_token_;
} }
const int ]b4_parser_class_name[::yyeof_ = 0;
const int ]b4_parser_class_name[::yylast_ = ]b4_last[;
const int ]b4_parser_class_name[::yynnts_ = ]b4_nterms_number[;
const int ]b4_parser_class_name[::yyempty_ = -2;
const int ]b4_parser_class_name[::yyfinal_ = ]b4_final_state_number[;
const int ]b4_parser_class_name[::yyterror_ = 1;
const int ]b4_parser_class_name[::yyerrcode_ = 256;
const int ]b4_parser_class_name[::yyntokens_ = ]b4_tokens_number[;
const unsigned int ]b4_parser_class_name[::yyuser_token_number_max_ = ]b4_user_token_number_max[;
const ]b4_parser_class_name[::token_number_type ]b4_parser_class_name[::yyundef_token_ = ]b4_undef_token_number[;
]b4_namespace_close[ ]b4_namespace_close[
]b4_epilogue[]dnl ]b4_epilogue[]dnl

View File

@@ -482,7 +482,7 @@ union yyalloc
#define YYNNTS ]b4_nterms_number[ #define YYNNTS ]b4_nterms_number[
/* YYNRULES -- Number of rules. */ /* YYNRULES -- Number of rules. */
#define YYNRULES ]b4_rules_number[ #define YYNRULES ]b4_rules_number[
/* YYNRULES -- Number of states. */ /* YYNSTATES -- Number of states. */
#define YYNSTATES ]b4_states_number[ #define YYNSTATES ]b4_states_number[
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */