// becomes TEXT
#define @STRING@
#define ${STRING}

// becomes `at`TEXT`at`
#define @${STRING}@
#define @@STRING@@

// becomes TRAP
#define ${@STRING@}

// becomes `dollar sign`{STRING}
#define $@STRING_CURLY@
#define $${STRING_CURLY}

// becomes `dollar sign`{STRING}
#define @STRING_VAR@
#define ${STRING_VAR}

// becomes `dollar sign`{TEXT}
#define ${DOLLAR}{${STRING}}
#define @DOLLAR@{${STRING}}

// becomes `at`STRING`at`
#define ${STRING_AT}
#define @STRING_AT@

#define \@STRING_VAR\@
#define \${STRING_VAR}
#define $\{STRING_VAR}
