]> git.saurik.com Git - bison.git/commitdiff
Define yytranslate in the header for lex_symbol.
authorAkim Demaille <demaille@gostai.com>
Thu, 28 Aug 2008 12:07:29 +0000 (14:07 +0200)
committerAkim Demaille <demaille@gostai.com>
Thu, 13 Nov 2008 05:44:50 +0000 (06:44 +0100)
* data/lalr1.cc: Move the invocation of b4_yytranslate_definition
into the header file when using %define lex_symbol.
(yytranslate_): Declare inline.

ChangeLog
data/lalr1.cc

index 62197542d5d756f3515cca316c56a1392e10c40e..5b1046b7a1ff2e0d9a6f2e28cb59a0a113dac52b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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.
index 3fdd33ea27bce2162448a6fad8ce96a09534724d..d2c33a143e5d2f0610ac0854e3a842b2a5f3797a 100644 (file)
@@ -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