summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkim Demaille <demaille@gostai.com>2008-08-28 14:07:29 +0200
committerAkim Demaille <demaille@gostai.com>2008-11-13 06:44:50 +0100
commit1c4af3813e1dd537191b535aad2f5a530e22fba0 (patch)
tree71bde94adba8bb5ba966b55cc0fcc857e95e389d
parente51b0a82be0ea8051f6e95dc668288c74c55ae9b (diff)
downloadbison-1c4af3813e1dd537191b535aad2f5a530e22fba0.tar.gz
Define yytranslate in the header for lex_symbol.
* data/lalr1.cc: Move the invocation of b4_yytranslate_definition into the header file when using %define lex_symbol. (yytranslate_): Declare inline.
-rw-r--r--ChangeLog7
-rw-r--r--data/lalr1.cc7
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 62197542..5b1046b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2008-11-13 Akim Demaille <demaille@gostai.com>
+ Define yytranslate in the header for lex_symbol.
+ * data/lalr1.cc: Move the invocation of b4_yytranslate_definition
+ into the header file when using %define lex_symbol.
+ (yytranslate_): Declare inline.
+
+2008-11-13 Akim Demaille <demaille@gostai.com>
+
Define the constructors of symbol_type in b4_symbol_constructor_definitions.
The constructors are called by the make_symbol functions, which a
forthcoming patch will move elsewhere. Hence the interest of putting them
diff --git a/data/lalr1.cc b/data/lalr1.cc
index 3fdd33ea..d2c33a14 100644
--- a/data/lalr1.cc
+++ b/data/lalr1.cc
@@ -233,6 +233,7 @@ m4_define([b4_symbol_constructor_specialization_],
b4_args(b4_symbol_if([$1], [has_type],
[const b4_symbol([$1], [type])& v]),
b4_locations_if([const location_type& l])));
+
])])])
# b4_symbol_constructor_specializations
@@ -739,7 +740,7 @@ m4_ifdef([b4_stype],
#endif
/// Convert a scanner token number \a t to a symbol number.
- static token_number_type yytranslate_ (]b4_lex_symbol_if([token_type], [int])[ t);
+ static inline token_number_type yytranslate_ (]b4_lex_symbol_if([token_type], [int])[ t);
/// A complete symbol, with its type.
template <typename Exact>
@@ -873,6 +874,8 @@ m4_ifdef([b4_stype],
]b4_parse_param_vars[
};
+
+]b4_lex_symbol_if([b4_yytranslate_definition])[
]b4_symbol_constructor_specializations[
]b4_namespace_close[
@@ -1614,7 +1617,7 @@ b4_error_verbose_if([int yystate, int yytoken],
}
#endif // YYDEBUG
-]b4_yytranslate_definition[
+]b4_lex_symbol_if([], [b4_yytranslate_definition])[
]b4_namespace_close[
]b4_epilogue[]dnl