I did add support for switching from '%' to '#'
in the NASM64 preprocessor. Still, there are a
number of differences between NASM and CPP; for
example, NASM counts smac arguments before ex-
panding them, while CPP does it the other way
around. That said, you might want to look into
using a third-party preprocessor (such as M4 or
ML/1) or a scripting language (such as Perl).