]> git.saurik.com Git - bison.git/commitdiff
Remove the traits, failed experiment.
authorAkim Demaille <akim@epita.fr>
Mon, 19 Sep 2005 07:34:38 +0000 (07:34 +0000)
committerAkim Demaille <akim@epita.fr>
Mon, 19 Sep 2005 07:34:38 +0000 (07:34 +0000)
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.

ChangeLog
data/lalr1.cc

index d37b0854e1d7537b803650ae0a209d208fcbc4db..289990a594ecf1a02409e4a5192806d5182f1d4f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-09-19  Akim Demaille  <akim@epita.fr>
+
+       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.
+
 2005-09-19  Akim Demaille  <akim@epita.fr>
 
        * tests/atlocal.in (LIBS): Pass INTLLIBS to address failures on at
index 82a85c27c98ee04824ab9bb6d6a3eadc935d72e9..bc1bec1276533308ac162c3d7149aa4dc41efe6f 100644 (file)
@@ -118,33 +118,14 @@ do {                                                      \
 
 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 @@ namespace yy
 
 
     /// 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 @@ namespace yy
     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 @@ namespace yy
 
 #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_.