building syntax generating macro for llvm-ir generation