From: Akim Demaille Date: Mon, 19 Sep 2005 07:34:38 +0000 (+0000) Subject: Remove the traits, failed experiment. X-Git-Tag: v2.3b~647 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/f479c6c61e4a2dc71196b413324faa6609120123 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. --- diff --git a/ChangeLog b/ChangeLog index d37b0854..289990a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2005-09-19 Akim Demaille + + 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 * tests/atlocal.in (LIBS): Pass INTLLIBS to address failures on at diff --git a/data/lalr1.cc b/data/lalr1.cc index 82a85c27..bc1bec12 100644 --- a/data/lalr1.cc +++ b/data/lalr1.cc @@ -118,33 +118,14 @@ do { \ namespace yy { - class ]b4_parser_class_name[; - template - 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_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_.