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