I'm using Bison to generate a parser that I compile with g++. I'm using using the default Bison skeleton, not the Bison C++ skeleton.
I would like to pass a reference to a C++ template class, such as A<T>& a where T is the template parameter, to yyparse. I specify %parse-param {A<T>& a} in my Bison input. The problem is that any function that has the parse-params as parameters must be defined as a template function on T. With Bison 2.1, the only generated function that takes parse-params as parameters is yyparse. So, I use an awk script to add "template <T>" to the definitions of yyparse in the generated Bison parser. This works fine. With Bison 2.3, the generated functions yy_symbol_value_print, yy_symbol_print, yy_reduce_print, and yy_destruct now have the parse-params as parameters in addition to yyparse. So I now have to update my awk script to define these functions as template functions on T. Before making the update to my awk script, I thought I'd ask if anyone has a better idea on how to handle a C++ template class parse-param. In particular, it would be great if there was a way to have Bison automatically make functions taking parse-parm parameters template functions on T, so I wouldn't need to modify Bison generated code. Would using Bison's C++ skeleton help? Thanks, Geoff Alexander _______________________________________________ help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison