#define CONCAT_1(A, B) A ## B
#define CONCAT_2(A, B) CONCAT_1(A, B)
#define DELAY(NAME) NAME
#define A1 a
#define B1 b
#define A2() a
#define B2() b
#define LHS (
#define RHS )
DELAY(CONCAT_1)(A1, B1)();
DELAY(CONCAT_1) LHS A1, B1 RHS ();
CONCAT_1 ( a, b ) ();
DELAY(CONCAT_2)(A1, B1)();
DELAY(CONCAT_1)(A2(), B2())();
CONCAT_1(A2(), B2())();