Implemented preprocessor macros more convenient for code generation