module top; endmodule
`define MODULE(str) module str; initial $display(`"hello str`"); endmodule
`define MACRO_A(inv, str) `inv(str)
`define MACRO_B(inv, str) ```inv(str)
`define MACRO_C(inv1, inv2, str) `inv1``inv2(str)
`MODULE(example1)
`MACRO_A(MODULE, example2)
`MACRO_B(MODULE, example3)
`MACRO_C(MOD, ULE, example4)
`MACRO_C(M, ODULE, example5)
`MACRO_C(, MODULE, example6)