[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
FYI: lalr1.cc: Remove the traits
From: |
Akim Demaille |
Subject: |
FYI: lalr1.cc: Remove the traits |
Date: |
Mon, 19 Sep 2005 09:35:36 +0200 |
User-agent: |
Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux) |
Index: ChangeLog
from Akim Demaille <address@hidden>
Remove the traits, failed experiment.
It never proved useful, and anyway because of the current
definition, it was not possible to have several specialization of
this traits, making it useless.
* data/lalr1.cc (yy:traits): Remove.
Inline its definitions in the parser class.
Index: data/lalr1.cc
===================================================================
RCS file: /cvsroot/bison/bison/data/lalr1.cc,v
retrieving revision 1.100
diff -u -u -r1.100 lalr1.cc
--- data/lalr1.cc 19 Sep 2005 07:21:39 -0000 1.100
+++ data/lalr1.cc 19 Sep 2005 07:34:29 -0000
@@ -118,33 +118,14 @@
namespace yy
{
- class ]b4_parser_class_name[;
- template <typename P>
- struct traits
- {
- };
-
- template <>
- struct traits<]b4_parser_class_name[>
- {
- typedef ]b4_int_type_for([b4_translate])[ token_number_type;
- typedef ]b4_int_type_for([b4_rhs])[ rhs_number_type;
- typedef int state_type;
- typedef YYSTYPE semantic_type;
- typedef ]b4_location_type[ location_type;
- };
-}
-
-namespace yy
-{
/// A Bison parser.
class ]b4_parser_class_name[
{
/// Symbol semantic values.
- typedef traits<]b4_parser_class_name[>::semantic_type semantic_type;
+ typedef YYSTYPE semantic_type;
/// Symbol locations.
- typedef traits<]b4_parser_class_name[>::location_type location_type;
+ typedef ]b4_location_type[ location_type;
public:
/// Build a parser object.
@@ -196,7 +177,7 @@
/// State numbers.
- typedef traits<]b4_parser_class_name[>::state_type state_type;
+ typedef int state_type;
/// State stack type.
typedef stack<state_type> state_stack_type;
/// Semantic value stack type.
@@ -212,7 +193,7 @@
location_stack_type yylocation_stack_;
/// Internal symbol numbers.
- typedef traits<]b4_parser_class_name[>::token_number_type
token_number_type;
+ typedef ]b4_int_type_for([b4_translate])[ token_number_type;
/* Tables. */
/// For a state, the index in \a yytable_ of its portion.
static const ]b4_int_type_for([b4_pact])[ yypact_[];
@@ -256,7 +237,7 @@
#if YYDEBUG
/// A type to store symbol numbers and -1.
- typedef traits<]b4_parser_class_name[>::rhs_number_type rhs_number_type;
+ typedef ]b4_int_type_for([b4_rhs])[ rhs_number_type;
/// A `-1'-separated list of the rules' RHS.
static const rhs_number_type yyrhs_[];
/// For each rule, the index of the first RHS symbol in \a yyrhs_.
- FYI: lalr1.cc: Remove the traits,
Akim Demaille <=
- Re: FYI: lalr1.cc: Remove the traits, Hans Aberg, 2005/09/19
- Re: FYI: lalr1.cc: Remove the traits, Akim Demaille, 2005/09/19
- Re: FYI: lalr1.cc: Remove the traits, Hans Aberg, 2005/09/19
- Re: FYI: lalr1.cc: Remove the traits, Akim Demaille, 2005/09/19
- Re: FYI: lalr1.cc: Remove the traits, Hans Aberg, 2005/09/19
- Re: FYI: lalr1.cc: Remove the traits, Hans Aberg, 2005/09/19
- Re: FYI: lalr1.cc: Remove the traits, Akim Demaille, 2005/09/19
- Re: FYI: lalr1.cc: Remove the traits, Hans Aberg, 2005/09/19
- Re: FYI: lalr1.cc: Remove the traits, Akim Demaille, 2005/09/19
- Re: FYI: lalr1.cc: Remove the traits, Hans Aberg, 2005/09/19