[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Use "enum" for integral constants.
From: |
Akim Demaille |
Subject: |
[PATCH] Use "enum" for integral constants. |
Date: |
Mon, 10 Nov 2008 10:44:16 -0000 |
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.
---
ChangeLog | 10 ++++++++++
data/lalr1.cc | 44 ++++++++++++++++++--------------------------
data/yacc.c | 2 +-
3 files changed, 29 insertions(+), 27 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 84f378a..0f64fe1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2008-11-10 Akim Demaille <address@hidden>
+ 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 <address@hidden>
+
Shortcuts in bench directives.
* etc/bench.pl.in (parse_dirs): New.
Use it.
diff --git a/data/lalr1.cc b/data/lalr1.cc
index e9a1b02..578e24f 100644
--- a/data/lalr1.cc
+++ b/data/lalr1.cc
@@ -605,17 +605,18 @@ m4_ifdef([b4_stype],
inline void yypop_ (unsigned int n = 1);
/* Constants. */
- static const int yyeof_;
- /* LAST_ -- Last index in TABLE_. */
- static const int yylast_;
- static const int yynnts_;
- static const int yyempty_;
- static const int yyfinal_;
- static const int yyterror_;
- static const int yyerrcode_;
- static const int yyntokens_;
- static const unsigned int yyuser_token_number_max_;
- static const token_number_type yyundef_token_;
+ enum
+ {
+ yyeof_ = 0,
+ yylast_ = ]b4_last[, //< Last index in yytable_.
+ yynnts_ = ]b4_nterms_number[, //< Number of nonterminal symbols.
+ yyempty_ = -2,
+ yyfinal_ = ]b4_final_state_number[, //< Termination state number.
+ yyterror_ = 1,
+ yyerrcode_ = 256,
+ yyntokens_ = ]b4_tokens_number[, //< Number of tokens.
+ };
+
]b4_parse_param_vars[
};
@@ -1403,26 +1404,17 @@ b4_error_verbose_if([ tok])[)
const token_number_type
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];
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_epilogue[]dnl
diff --git a/data/yacc.c b/data/yacc.c
index 12ce138..d16e385 100644
--- a/data/yacc.c
+++ b/data/yacc.c
@@ -482,7 +482,7 @@ union yyalloc
#define YYNNTS ]b4_nterms_number[
/* YYNRULES -- Number of rules. */
#define YYNRULES ]b4_rules_number[
-/* YYNRULES -- Number of states. */
+/* YYNSTATES -- Number of states. */
#define YYNSTATES ]b4_states_number[
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
--
1.6.0.2.588.g3102
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] Use "enum" for integral constants.,
Akim Demaille <=