/* trick from visit_target_symbol_context */
target_symbol *tsym = new target_symbol;
token *t = new token;
tsym->tok = t;
tsym->base_name = "$";
tsym->base_name += arg_name;
Right, such an empty token should not exist. (We may be able to
remove this default constructor and force clients to fill in the
fields immediately.)
When synthesizing new parse tree structures, the token pointer
assigned to the new objects usually relates to the original
script-level object that caused the synthesis. So for example in a
return probe that uses a saved entry-time $var, a whole new synthetic
probe and global variables could all be assigned to the same "$var"
token.
Perhaps the recently introduced saveargs() function should be supplied
with an appropriate token*, for examples q.base_probe->tok.