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.
This commit is contained in:
Akim Demaille
2005-09-19 07:34:38 +00:00
parent e2586f82b0
commit f479c6c61e
2 changed files with 14 additions and 24 deletions

View File

@@ -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

View 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_.