When preprocessing the code
#define $jack int test;
$jack
using any preprocessor using the wave library, in this case the samples/lexed_tokens/lexed_tokens preprocessor , gives the following error:

PP_DEFINE        (#369) at test.C (  1/ 1): >#define<
SPACE            (#393) at test.C (  1/ 8): > <
lexed_tokens: /home/saebjornsen1/projects/boost/boost/wave/token_ids.hpp:497: boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > boost::wave::get_token_name(boost::wave::token_id): Assertion `id < T_LAST_TOKEN-T_FIRST_TOKEN' failed.
Aborted

using the preprocesor cpp (from the gcc team) I get (as cpp test.C):
# 1 "test.C"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "test.C"
 
int test;

I believe the problem lies in that the lexer does not recognize the '$'  as a valid  character  within the name of macro definition.

Thanks
Andreas Saebjoernsen